Commit Graph
69 Commits
Author SHA1 Message Date
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
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 6b675c406e fix(billing): 修正模型计费配置继承优先级 2026-07-22 00:24:36 +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 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 5b2b94b1bd feat(billing): 完成异步结算与请求执行闭环
统一任务成功、Attempt 与结算 Outbox 的事务边界,增加多实例安全结算、人工复核、请求幂等与执行租约。钱包决策使用九位精确金额,并通过审计保护约束保留流水事实;同时补充管理接口、指标与 PostgreSQL 集成测试。
2026-07-21 00:25:53 +08:00
chengcheng 5114686c35 feat(billing): 统一计价与候选冻结估算
新增 effective-pricing-v2、9 位十进制定点计算、显式免费校验和结构化缺价错误。估价与生产预处理覆盖全部可用候选,并按最大候选费用冻结;规则优先级为平台模型、平台、基准模型。\n\n同步计价契约和 OpenAPI,补充 Token 参数别名、视频五秒向上取整及缺价回归测试。\n\n验证:go test ./...、pnpm openapi、Web 测试与构建通过。
2026-07-20 23:22:45 +08:00
wangbo 5ee267ecbd feat: 完善模型请求适配与输出限制 2026-07-17 13:52:00 +08:00
wangbo 9c300de72c feat(gateway): add Seedream 5.0 Pro 2026-07-13 12:53:48 +08:00
wangbo 8847d973a8 feat: add Responses API compatibility 2026-07-10 23:33:15 +08:00
wangbo b7351f3b9b feat(runtime): 适配推理模式开关 2026-07-06 02:03:03 +08:00
wangbo 24eb68cc09 feat: use message LCP cache affinity keys 2026-06-29 15:47:57 +08:00
wangbo 229ed6a669 Merge remote-tracking branch 'origin/main' 2026-06-28 20:50:27 +08:00
wangbo 0e675e259c feat: add runner failover rules and cache affinity 2026-06-28 20:50:23 +08:00
chengcheng f4e1db1279 feat(task): 暴露任务取消控制状态 2026-06-25 17:01:32 +08:00
wangbo 7f32446466 feat: support cached input token billing 2026-06-23 17:17:57 +08:00
wangbo 6089aa6085 feat: support cloned voice deletion 2026-06-17 12:03:13 +08:00
wangbo c4341335d7 feat: 支持 MiniMax 音色克隆和 2.8 语音模型 2026-06-17 02:13:21 +08:00
wangbo 02ba5d3cdd 修复模型引用与账单展示 2026-06-15 00:17:20 +08:00
wangbo 10ec25d87b Handle Gemini inline data in asset and size processing 2026-06-15 00:14:40 +08:00
wangbo b860ef37e8 增加单一源保护全局策略 2026-06-15 00:14:40 +08:00
chengcheng e8df26da9b feat(api): 支持取消本地排队任务 2026-06-09 19:09:20 +08:00
wangbo a8fa8dd212 fix: 兼容像素分辨率参数 2026-06-08 23:21:14 +08:00
wangbo 97f29ed156 Restore standard MiniMax resolutions and client mapping 2026-06-08 09:29:45 +08:00
wangbo ca5e71c8e8 Prefer public URLs and fall back to base64 for image inputs 2026-06-08 08:38:53 +08:00
wangbo b7500d81d1 补全图像尺寸预处理约束 2026-06-07 23:55:25 +08:00
wangbo 4d1a01ec71 Expire local static assets after 24 hours 2026-06-07 19:29:04 +08:00
wangbo dc14866210 迁移音频生成与语音合成到 gateway 并补充 simulation 测试 2026-06-07 10:26:57 +08:00
wangbo 78ab867a9f 区分请求资源 base64 格式并按平台恢复 2026-06-05 23:07:25 +08:00
wangbo d41d9482c7 Add runtime restore and temp asset cleanup 2026-06-05 20:28:26 +08:00
wangbo 644a6f9d17 完善文档页文本向量与重排序调用支持 2026-05-31 21:18:41 +08:00
wangbo 8ee7a7969e feat: expose retry priority in retry chain 2026-05-30 14:25:29 +08:00
wangbo f5c69b9852 feat: support image quality control 2026-05-28 00:17:27 +08:00
wangbo 71950d2b4f fix(rate-limits): treat empty policies as unlimited 2026-05-24 22:28:25 +08:00
wangbo 8ad5b06c18 feat(api): 添加多媒体内容支持并优化钱包计费系统
- 在 API 接口定义中为 video_url 和 audio_url 类型添加 mime_type 字段
- 实现 Google Gemini 客户端对视频和音频内容的支持,包括媒体类型检测和数据传输
- 添加 Gemini 客户端测试用例验证多媒体内容转换功能
- 重构 Playground 页面的媒体上传逻辑以支持 MIME 类型传递
- 实现钱包计费预留机制,确保任务执行前余额充足
- 添加钱包冻结余额管理,防止并发操作导致的超扣问题
- 实现计费预留释放逻辑,处理任务失败或取消情况下的资金返还
- 优化数据库事务处理,确保计费操作的原子性和一致性
- 添加数据库集成测试验证迁移脚本执行流程
- 统一 Google Gemini 相关模型提供商标识符映射
2026-05-22 23:46:08 +08:00
wangbo af9b281d34 feat(api): migrate media clients and universal scripts 2026-05-20 21:29:07 +08:00
wangbo 11a2c13e4a fix: prefer generated video metadata for billing 2026-05-20 00:11:28 +08:00
wangbo 73c6d43e4b feat: filter candidates by request resolution 2026-05-18 15:50:08 +08:00
wangbo d09a4c2e4d feat(clients): 添加Keling客户端支持视频生成和多模态功能
- 实现KelingClient结构体及其Run方法,支持视频生成功能
- 添加对image2video、text2video和omni-video任务类型的完整支持
- 集成Keling平台的身份验证机制,包括JWT令牌生成
- 实现视频任务的提交和轮询逻辑,支持异步处理流程
- 添加对多种输入格式的支持,包括图像帧、基础视频和参考素材
- 实现Keling元素管理和清理机制,处理临时创建的素材
- 在服务初始化中注册keling和kling两个提供商标识
- 添加数据库迁移脚本,更新Keling模型的音频功能配置
- 完善错误处理和重试机制,提升服务稳定性
- 编写完整的单元测试,覆盖各种视频生成场景和边界情况
2026-05-17 22:08:55 +08:00
wangbo 90c3315468 fix(runner): record failed task attempts 2026-05-17 20:50:20 +08:00
wangbo 37d0f919e5 feat: add gateway billing estimate and rate limit details 2026-05-15 01:53:52 +08:00
wangbo cdf469eccf Split param processor and tighten Volces frame validation 2026-05-14 00:41:06 +08:00
wangbo 3225833f96 fix: align video generation payloads 2026-05-14 00:14:54 +08:00
wangbo f1535a94c2 fix: preprocess message content by model capability 2026-05-13 23:39:11 +08:00
wangbo 0cd4e6fed1 feat: optimize playground media references 2026-05-13 22:06:13 +08:00
wangbo 62d9170e65 fix: add local static file storage fallback 2026-05-13 20:53:07 +08:00