wangbo
|
810dcfeee6
|
perf(storage): 极简化任务历史并增加保留治理
停止持久化 provider 原始响应、兼容响应快照、attempt/event/outbox 重复 JSON,并由标准任务结果动态生成 Kling/Keling/Volces 兼容响应。
增加事件去重与预算、极简 callback 投递、7/30 天分批清理、安全删除条件、并发迁移索引及可实际恢复的任务域排除备份。历史清理默认关闭,待兼容协议和异步恢复在线验证后单独启用。
验证:Go 全量测试与 go vet、PostgreSQL 18 集成与实际备份恢复、迁移安全测试、bash -n、ShellCheck、Compose 配置和人工发布脚本测试均通过。
|
2026-07-24 18:23:22 +08:00 |
|
wangbo
|
09375bfae7
|
fix(queue): 移除未配置的 GPT 图像并发上限
|
2026-07-24 17:03:28 +08:00 |
|
wangbo
|
20945dbbcb
|
fix(runner): 延长媒体上游请求超时
图像生成上游同步响应可能超过 120 秒,原共享 HTTP 客户端会把仍在处理的提交标记为结果不确定。将客户端超时调整为 10 分钟,并增加回归测试;任务执行仍由现有租约、任务超时和取消机制约束。\n\n验证:\n- env -u AI_GATEWAY_TEST_DATABASE_URL go test ./internal/runner -run 'TestProviderHTTPClientTimeoutAllowsLongRunningMediaRequests|TestPlatformProxyMode' -count=1\n- env -u AI_GATEWAY_TEST_DATABASE_URL go test ./... -count=1
|
2026-07-24 13:42:47 +08:00 |
|
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
|
22ee5bb624
|
fix(release): 修复首次发布基线解析
|
2026-07-23 23:54:31 +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 |
|
wangbo
|
d0cfd0a385
|
Merge pull request 'feat: 合并网关能力与兼容性优化' (#15) from codex/gateway-feature-batch-20260721 into main
ci / verify (push) Successful in 10m38s
|
2026-07-22 01:17:45 +08:00 |
|
wangbo
|
0818f55235
|
fix(billing): 保留规则集未覆盖的基础资源价格
ci / verify (pull_request) Successful in 12m21s
|
2026-07-22 00:57:50 +08:00 |
|
wangbo
|
fe83da56d2
|
test(e2e): 增加视频生产验收脚本与记录
ci / verify (pull_request) Failing after 3m43s
|
2026-07-22 00:25:22 +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 |
|
wangbo
|
cc3bbeccc2
|
feat(web): 完善 API 文档与异步任务说明
|
2026-07-17 15:42:46 +08:00 |
|
wangbo
|
2d6c16fec0
|
chore(deps): 更新依赖包版本并添加vitest
- 将typescript从5.8.0更新至5.9.3版本
- 新增vitest依赖包,版本为3.2.4
- 配置vitest的子依赖关系包括@types/debug、jiti、lightningcss和yaml
|
2026-07-17 13:57:37 +08:00 |
|
wangbo
|
0d18df54f1
|
feat: 增加计费预估核对运维流程
|
2026-07-17 13:57:21 +08:00 |
|
wangbo
|
bdcf9af5d6
|
chore: 忽略本地构建产物
|
2026-07-17 13:54:32 +08:00 |
|
wangbo
|
5ee267ecbd
|
feat: 完善模型请求适配与输出限制
|
2026-07-17 13:52:00 +08:00 |
|
wangbo
|
a24eb1aeb0
|
feat: 自托管 AI Gateway 运维管理 SKILL
|
2026-07-16 23:57:14 +08:00 |
|
wangbo
|
30ad0e9f2c
|
fix(gemini): 使用 JSON Schema 传递工具参数
|
2026-07-14 12:55:44 +08:00 |
|
wangbo
|
17b1f77e1d
|
Merge remote-tracking branch 'origin/main'
|
2026-07-13 13:28:19 +08:00 |
|
wangbo
|
9c300de72c
|
feat(gateway): add Seedream 5.0 Pro
|
2026-07-13 12:53:48 +08:00 |
|
wangbo
|
03abc0eab7
|
feat(gateway): 接入统一认证中心本地登录
|
2026-07-12 20:45:35 +08:00 |
|
wangbo
|
f8d766b916
|
feat: enforce OIDC session introspection
|
2026-07-12 05:44:37 +08:00 |
|
wangbo
|
b9c0e1a7a5
|
feat: add stable OIDC authentication
|
2026-07-12 05:14:23 +08:00 |
|
wangbo
|
1e82253f43
|
chore: save Responses validation artifacts
|
2026-07-11 01:49:06 +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
|
797edeedf4
|
feat(gateway): sync Seedance 2.0 capabilities
|
2026-06-30 21:20:09 +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 |
|
wangbo
|
41bb3a6525
|
修复 Gemini 兼容路由启动失败
|
2026-06-27 21:46:57 +08:00 |
|
wangbo
|
88402f67d3
|
feat: seed latest coding models
|
2026-06-27 17:11:48 +08:00 |
|
wangbo
|
c15842a94d
|
feat: add Gemini image compatibility
|
2026-06-24 00:42:49 +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 |
|
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
|
679bfeb9c9
|
Add multipart image edit support
|
2026-06-08 01:17:42 +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
|
f47132a653
|
完善 API Key 能力范围可视化和维护
|
2026-06-07 19:01:32 +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
|
a6f1be8f07
|
同步默认运行策略不限流
|
2026-05-29 20:22:44 +08:00 |
|
wangbo
|
2aeb47d6a5
|
fix(gateway): normalize model alias billing identity
|
2026-05-28 01:19:28 +08:00 |
|
wangbo
|
f5c69b9852
|
feat: support image quality control
|
2026-05-28 00:17:27 +08:00 |
|
wangbo
|
1d3a4f1da9
|
Merge remote-tracking branch 'origin/main'
|
2026-05-26 23:21:21 +08:00 |
|
wangbo
|
50abcea352
|
feat: update qwen base catalog
|
2026-05-26 21:40:46 +08:00 |
|
wangbo
|
3d23918542
|
fix(model-catalog): refine summary capability filters
|
2026-05-24 23:38:31 +08:00 |
|
wangbo
|
355d8cad74
|
fix(model-catalog): align enabled model summary
|
2026-05-24 23:06:24 +08:00 |
|
wangbo
|
71950d2b4f
|
fix(rate-limits): treat empty policies as unlimited
|
2026-05-24 22:28:25 +08:00 |
|
wangbo
|
6d99e26e2a
|
feat(admin): support provider model presets
|
2026-05-24 22:28:07 +08:00 |
|
wangbo
|
6f730be0cd
|
Document Docker Compose deployment workflow
|
2026-05-23 21:13:23 +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
|
69d23efb57
|
fix(clients): preserve gemini tool call responses
|
2026-05-19 21:32:50 +08:00 |
|
wangbo
|
baffccf8f8
|
Merge pull request #4 from feat/chat-completions-compat
|
2026-05-19 21:31:15 +08:00 |
|
wangbo
|
73c6d43e4b
|
feat: filter candidates by request resolution
|
2026-05-18 15:50:08 +08:00 |
|
wangbo
|
ba419cd90a
|
fix task duration recording
|
2026-05-18 01:06:52 +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
|
bdc9be63d5
|
Refine playground composer and settings layout
|
2026-05-15 01:08:54 +08:00 |
|
wangbo
|
a4f731af88
|
Unify media preview loading background
|
2026-05-14 23:42:12 +08:00 |
|
wangbo
|
c0cfae475d
|
Handle 401 auth expiry and float playground errors
|
2026-05-14 23:29:38 +08:00 |
|
wangbo
|
170fd8655c
|
feat(web): improve playground media resource prompts
|
2026-05-14 01:17:59 +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
|
f254551522
|
Fix prompt placeholder overlap during IME input
|
2026-05-13 23:47:05 +08:00 |
|
wangbo
|
f1535a94c2
|
fix: preprocess message content by model capability
|
2026-05-13 23:39:11 +08:00 |
|
wangbo
|
b8a716169f
|
Refactor gateway task handling and recording flow
|
2026-05-13 23:26:20 +08:00 |
|
wangbo
|
0cd4e6fed1
|
feat: optimize playground media references
|
2026-05-13 22:06:13 +08:00 |
|