wangbo
|
6c5daf29ca
|
perf(queue): 按策略动态扩缩异步 Worker
将 River 执行容量按平台模型与用户组的有效并发策略动态调整,并为长任务续租、并发租约原子抢占和限流退避补充保护。\n\n统一平台模型限流继承语义,兼容历史 platformLimits/modelLimits,并为三个迁移图像模型建立独立并发租约。补充管理端显式继承/覆盖配置、指标、单元测试及隔离 PostgreSQL 验收。\n\n验证:go test ./... -count=1;pnpm lint;pnpm test;pnpm build;隔离 PostgreSQL 并发原子性/续租测试;128 任务与三分钟长任务动态 Worker 验收。
|
2026-07-24 12:26:56 +08:00 |
|
wangbo
|
290b8c1854
|
fix(queue): 扩展生产媒体任务吞吐
|
2026-07-24 10:37:20 +08:00 |
|
wangbo
|
d80b2e5ebf
|
fix(queue): 提升媒体任务执行并发
|
2026-07-24 10:31:18 +08:00 |
|
wangbo
|
36d1b18e10
|
fix(images): 规范 OpenAI 图像尺寸参数
|
2026-07-24 09:28:18 +08:00 |
|
wangbo
|
8df87875de
|
fix(images): 优先转换编辑图片为 multipart 二进制
OpenAI 编辑即使声明支持 URL,也必须在 multipart 提交前转存为二进制文件。
|
2026-07-24 09:04:23 +08:00 |
|
wangbo
|
db640c1211
|
fix(images): 兼容 OpenAI 多图编辑 multipart
- 将 OpenAI images/edits 请求构造成 multipart/form-data
- 在运行时安全转存 URL 图片为 data URL 后提交二进制文件
- 覆盖多图字段、真实上游模型名和内部元数据过滤测试
|
2026-07-24 08:59:42 +08:00 |
|
wangbo
|
1da712854f
|
fix(migrations): 停用旧模型冲突别名
以可回滚的状态更新替代删除,满足生产迁移安全门禁。
|
2026-07-24 08:42:59 +08:00 |
|
wangbo
|
8b8e09cc22
|
fix(media): 支持大尺寸图像响应并补齐迁移契约
- 为图像协议放宽 JSON 响应上限并显式处理读取与超限错误
- 合并基础模型与平台能力,避免运行时丢失分辨率和比例约束
- 固化稳定 Gemini 图像模型的能力、计价和 preview 兼容别名
|
2026-07-24 08:40:30 +08:00 |
|
wangbo
|
fb7e08fe5c
|
fix(runtime): honor requested platform for routing
|
2026-07-24 07:56:48 +08:00 |
|
wangbo
|
76a7702925
|
fix(media): 对齐 EasyAI 媒体响应与转存策略
统一媒体异步提交和轮询响应,扩展 /ai/result 到当前用户的 Gateway 媒体任务,并保持既有 Gateway 字段兼容。\n\n启用转存但无可用渠道时回退到 24 小时本地静态资源;关闭转存时保留图片、音频等上游 Base64 字段。同步更新文件上传兼容结构、OpenAPI、管理端说明和回归测试。\n\n验证:cd apps/api && env -u AI_GATEWAY_TEST_DATABASE_URL go test ./... -count=1;gofmt -l 无输出;pnpm nx run web:typecheck。
|
2026-07-23 22:35:41 +08:00 |
|
wangbo
|
8b7d3e9c9a
|
feat(seedance): 同步输入图片约束与自动转换
|
2026-07-23 21:55:42 +08:00 |
|
wangbo
|
46cdb1a288
|
fix(api): 缺失输出能力配置时透传请求
|
2026-07-23 11:07:31 +08:00 |
|
wangbo
|
8d86c4b3b3
|
feat(catalog): 统一模型调用身份并梳理生命周期
新增官方调用名、供应商真实名、显示名和兼容别名的独立契约,调整路由、目录聚合、管理端与 OpenAPI。
增加 Gemini、Qwen、DeepSeek、Claude 和 MiniMax 生命周期迁移、别名观测及引用保护,并补充数据库与聚合测试。
|
2026-07-22 20:23:36 +08:00 |
|
easyai
|
3de26d5157
|
feat(web): 分类展示公开 API 文档
将通用开放接口与兼容接口分层展示,补充完整接口目录、分类路由、搜索能力和接入约定。\n\n验证:pnpm nx run web:test;pnpm nx run web:build
|
2026-07-22 17:12:48 +08:00 |
|
easyai
|
2812cadd4f
|
fix(openapi): 补回图片异步响应契约
为 Images 生成与编辑接口重新声明 X-Async 参数和 202 TaskAcceptedResponse,保持 OpenAPI 与真实运行时行为一致。
已重新生成 Swagger,并通过 HTTP API 测试和桌面端生成客户端类型检查验证。
|
2026-07-22 15:43:32 +08:00 |
|
easyai
|
e00851d7e6
|
fix(db): 调整兼容元数据迁移为可空列
生产迁移安全策略禁止在已有任务表上直接新增非空列。兼容提交响应读取已使用 COALESCE,因此将 JSONB 元数据列改为可空,不改变接口行为。
验证:ci-validate-migrations.mjs;migrations-test.sh;go test ./internal/store ./internal/httpapi。
|
2026-07-22 15:35:00 +08:00 |
|
easyai
|
e07a997aa9
|
feat(api): 统一官方兼容接口响应协议
兼容接口现在以入口协议作为最终响应协议,同协议保留官方 Wire 响应,跨协议统一转换成功、任务状态与错误结构。
同时修正异步提交状态边界,持久化兼容公开任务标识和官方提交响应,并新增迁移、流式响应及协议契约测试。
验证:go vet ./...;go test ./...;govulncheck ./...;pnpm lint;pnpm test;pnpm build;pnpm audit --audit-level high;pnpm openapi;全部 CI 脚本。
|
2026-07-22 15:34:59 +08:00 |
|
easyai
|
3056cf8fca
|
feat(gateway): 补齐桌面端高级媒体直连接口
ci / verify (pull_request) Successful in 15m34s
新增图片矢量化、视频超分、每日用量、计价与任务隔离能力,并通过环境变量解析平台凭据。
已通过 Go 全量门禁、迁移检查、镜像构建以及 Vectorizer 五格式和 Topaz 3 秒视频真实 DEV 验收。
|
2026-07-22 14:02:53 +08:00 |
|
easyai
|
d37fb3ea60
|
fix(keling): 统一 Omni 模型别名与生产绑定
ci / verify (pull_request) Successful in 21m44s
|
2026-07-22 10:00:30 +08:00 |
|
easyai
|
a23b28c27d
|
test(api): 等待异步任务完成后校验结果
ci / verify (pull_request) Successful in 12m38s
真实队列环境中 X-Async 请求会先返回 queued。集成测试改为轮询任务完成并重新读取详情,避免把正确的异步受理状态误判为失败。
|
2026-07-22 08:56:30 +08:00 |
|
easyai
|
5432760cf7
|
fix(identity): 避免未配置 SSF 时触发空指针
SecurityEventReceiver 不再把空 ConnectionManager 包装为非空接口;未启用 SSF 时公开端点明确返回 404。补充运行时和 HTTP 回归测试。\n\n验证:go test ./internal/identityruntime ./internal/httpapi。
|
2026-07-22 08:48:36 +08:00 |
|
easyai
|
7c5a999e32
|
feat(api): 统一公开接口为 /api/v1 前缀
将通用生成、Gemini、可灵、火山、健康检查与 OpenAPI 的推荐入口统一到 /api/v1,并保留历史路径作为兼容别名。同步更新代理配置、接入文档、接口清单和前缀回归测试。\n\n验证:go vet ./...;go test ./...;pnpm openapi;pnpm lint;pnpm test;pnpm build;公开 OpenAPI 71 个方法与接口清单机器比对一致。
|
2026-07-22 08:48:32 +08:00 |
|
easyai
|
5954afef55
|
fix(gemini): 保留兼容平台的 API 版本路径
ci / verify (pull_request) Successful in 9m42s
|
2026-07-22 04:53:42 +08:00 |
|
easyai
|
16149260c7
|
fix(universal): 映射脚本上游模型名
ci / verify (pull_request) Successful in 9m51s
让 server-main 参数预处理兼容上下文使用平台绑定的真实模型名,避免把用户侧别名提交给上游。
|
2026-07-22 03:56:00 +08:00 |
|
easyai
|
c72c43aaaa
|
fix(universal): 兼容 server-main 脚本语义
ci / verify (pull_request) Successful in 9m52s
补充历史脚本依赖的参数预处理上下文,并识别嵌套同步结果,使迁移后的 Universal 图片通道可按原配置执行。
|
2026-07-22 03:50:59 +08:00 |
|
easyai
|
293ef24bb7
|
build(api): 升级存在漏洞的 Go 依赖
|
2026-07-22 03:37:34 +08:00 |
|
easyai
|
0f1765b226
|
fix(gemini): 初始化图像生成配置对象
|
2026-07-22 03:37:28 +08:00 |
|
easyai
|
3d3460ce63
|
test(kling): 兼容全模态模型展示别名
ci / verify (pull_request) Successful in 11m22s
集成测试通过现有可灵别名归一规则校验解析模型,兼容共享数据库返回 kling-o1 等目录展示名,同时保留任务成功与推断模型类型断言。
|
2026-07-22 01:48:10 +08:00 |
|
easyai
|
000ee1bbfd
|
fix(kling): 补齐全模态基础视频能力
ci / verify (pull_request) Failing after 4m10s
让 omni_video 模型默认同时注册 video_generate 与 image_to_video,兼容通用视频接口在不显式传 modelType 时的能力推断。
新增迁移同步可灵 O1 与 3.0 Omni 的基础目录、平台映射、能力详情和默认快照;集成测试覆盖两个模型的无 modelType 文生视频与图生视频。
|
2026-07-22 01:41:23 +08:00 |
|
wangbo
|
0818f55235
|
fix(billing): 保留规则集未覆盖的基础资源价格
ci / verify (pull_request) Successful in 12m21s
|
2026-07-22 00:57:50 +08:00 |
|
wangbo
|
002422b753
|
fix(catalog): 同步 GLM-5.2 文本能力配置
|
2026-07-22 00:25:22 +08:00 |
|
wangbo
|
24b778b3ba
|
docs(api): 同步模型权限与 Kling 接口契约
|
2026-07-22 00:25:22 +08:00 |
|
wangbo
|
d7951cfdd2
|
feat(volces): 接入任务兼容查询与上游取消
|
2026-07-22 00:25:22 +08:00 |
|
wangbo
|
ddd68cfebd
|
feat(seedance): 接入真人资产管理与引用
|
2026-07-22 00:25:22 +08:00 |
|
wangbo
|
5a71643099
|
feat(kling): 接入 Omni 视频兼容接口
|
2026-07-22 00:25:05 +08:00 |
|
wangbo
|
b04a7d9d3d
|
feat(web): 支持文档页真实提交请求
|
2026-07-22 00:24:36 +08:00 |
|
wangbo
|
6b675c406e
|
fix(billing): 修正模型计费配置继承优先级
|
2026-07-22 00:24:36 +08:00 |
|
wangbo
|
56d4a3a6b7
|
fix(access): 修正 API Key 可分配模型范围
|
2026-07-22 00:24:36 +08:00 |
|
wangbo
|
276c0612d8
|
refactor(task): 复用网关任务创建流程
|
2026-07-22 00:24:36 +08:00 |
|
wangbo
|
d818e7947a
|
调整 Gemini 模型接口路由
|
2026-07-22 00:24:36 +08:00 |
|
easyai
|
9d4501bc42
|
feat(kling): 接入O1与3.0 Omni兼容接口
ci / verify (pull_request) Successful in 15m32s
新增中国区可灵 V1 AK/SK Omni 协议与 API 2.0 兼容路径,补齐任务隔离、外部任务幂等、参数校验和 OpenAPI 文档。\n\n验证:O1 与 3.0 Omni 真实 V1 任务成功;Go、前端、依赖审计、迁移及 CI 脚本门禁通过。
|
2026-07-21 23:47:13 +08:00 |
|
chengcheng
|
142dcc7932
|
chore(git): 合并视频时长线性计费修复
ci / verify (pull_request) Successful in 13m41s
|
2026-07-21 13:34:52 +08:00 |
|
chengcheng
|
e3dfe8162b
|
fix(billing): 视频时长按实际秒数线性计费
将五秒基础价按 duration / 5 比例结算,保留 provider 返回的小数时长,避免六秒视频被按两个完整单位收费。
影响:所有使用 5s 视频基础价的模型,quantity 与 durationUnitCount 允许小数。新增迁移同步现存规则的旧 ceil 公式元数据。
验证:go vet ./...;pnpm lint;pnpm test;pnpm build;./tests/ci/migrations-test.sh
|
2026-07-21 13:32:23 +08:00 |
|
chengcheng
|
69b0c107d3
|
fix(web): 修正在线测试模型类型筛选
移除可能将 image_to_video 误判为图像模型的子串回退,在没有匹配模型时显示空状态。
新增图像生成、图像编辑和视频模式回归测试。验证通过:前端 94 项测试、类型检查、lint 和生产构建。
|
2026-07-21 13:12:40 +08:00 |
|
chengcheng
|
bfa17a3aba
|
fix(auth): 为登录链路增加有界超时
ci / verify (pull_request) Successful in 11m22s
为 PostgreSQL 连接、就绪检查和本地登录设置分层超时,数据库不可用时返回稳定 503 错误码并记录无凭据的连接池统计。
前端登录在 10 秒后取消请求并兼容调用方 AbortSignal,Nginx 登录精确路由限制上游为 15 秒,同时更新 OpenAPI 和回归测试。
|
2026-07-21 11:47:09 +08:00 |
|
chengcheng
|
86c374b5c2
|
fix(auth): 消除 API Key 校验连接池死锁
先完整收集同前缀候选项并关闭查询结果,再执行 bcrypt 比对和 last_used_at 更新,避免小连接池下查询与更新相互等待。
新增 Rows 关闭顺序、前缀碰撞、MaxConns=1 和 8 并发真实 PostgreSQL 回归测试。
|
2026-07-21 11:47:09 +08:00 |
|
chengcheng
|
8c38714296
|
fix(runner): 稳定异步任务重启恢复
ci / verify (pull_request) Successful in 10m32s
避免恢复任务将已到期的 next_run_at 误插入 River scheduled 状态,并使用专用模型隔离重启集成测试。\n\n验证:Go 全量测试、govulncheck、pnpm lint/test/build/audit、Compose、镜像、迁移、流水线及 SemVer 门禁全部通过。
|
2026-07-21 11:29:56 +08:00 |
|
chengcheng
|
8beb8501fa
|
fix(billing): 封住发布前计费竞态
ci / verify (pull_request) Failing after 8s
阻止上游提交状态不明的任务被租约接管后重复执行,并为人工复核保留可操作的结算记录。
将生产提交绑定到当前估价签名,统一复用预处理快照,并补强规则形状、定点溢出与历史规则兼容校验。
已通过 PostgreSQL 16 集成测试、Go 全量测试与静态检查、前端测试与构建、OpenAPI、依赖审计、镜像、迁移、流水线和 SemVer 门禁。
|
2026-07-21 10:23:58 +08:00 |
|
chengcheng
|
1362970229
|
test(billing): 覆盖估价只读与请求重放契约
PostgreSQL HTTP 集成测试验证估价新增字段且不创建任务、冻结余额或写流水,并验证非流式重放只执行一次、异请求冲突及流式重复冲突。
|
2026-07-21 00:30:44 +08:00 |
|
chengcheng
|
c879de18e2
|
docs(api): 同步计费结算接口契约
重新生成 OpenAPI,补充估价字段、任务计费状态、管理员结算查询与审计重试接口。
|
2026-07-21 00:26:11 +08:00 |
|