wangbo
9e4fc7362d
feat(queue): 增加非文本模型分布式准入队列
...
使用 PostgreSQL 统一同步与异步非文本任务的并发准入、持久化等待和 Worker 容量分配,并将生产 API 与独立 Worker 角色拆分。
补充策略管理、共享契约、OpenAPI、Kubernetes 双节点 Worker 清单及跨节点验收脚本;未默认启用任何生产 queue_size 策略。
已在原基线完成 Go、前端、迁移、Shell、Kustomize 与长任务容量验收;合入最新主干后将重新执行发布门禁。
2026-07-29 16:15:43 +08:00
chengcheng
206e367dbf
fix(identity): 兼容多租户 V2 无固定租户映射
...
多租户 Revision 改为按 Token tid 动态解析租户,配对和验证不再要求 default 映射;单租户 V1 继续保留固定映射门禁。同步补齐 tenantMode 共享契约与 OpenAPI 产物。\n\n验证:Web 测试 129 项通过;pnpm lint 通过;Web 生产构建通过;pnpm openapi 通过。
2026-07-28 18:02:59 +08:00
wangbo
edf7e66941
feat(cluster): 增加跨节点任务执行与请求素材场景
...
新增 AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED,默认保持启用;关闭时仅停止 River 异步任务执行器,HTTP、健康检查、结算与其他后台任务继续运行。
新增 0089 迁移并同步管理端默认场景,将 request_asset 加入现有上传渠道,确保 multipart 请求素材先转换为跨节点共享 URL。
验证:gofmt、go test ./... -count=1、go vet ./...、pnpm lint、pnpm test、pnpm build、迁移测试。
2026-07-28 04:36:58 +08:00
wangbo
31565af07a
refactor(runner): 收敛上游失败决策与轮转策略
...
将同平台重试、跨平台动作、健康副作用和冷却排队统一到单一失败决策,避免旧降级策略与 failover 重复执行。\n\n增加事务级单源保护、候选实时刷新、冷却错误契约、管理接口严格校验及兼容策略只读展示。\n\n验证:真实 Gateway HTTP/PostgreSQL 接受测试 10 项通过;go test ./...、pnpm openapi、pnpm lint、pnpm test、pnpm build 均通过。
2026-07-27 23:50:17 +08:00
wangbo
de10875439
feat(admin): 优化后台运维与任务管理
...
完善平台、基准模型、定价规则和实时负载的紧凑查询与滚动展示,并固定关键操作列。
新增管理员任务记录、批量计费结算和用户组限流、额度及模型权限维护能力,同时补充任务脱敏、查询索引与 OpenAPI 契约。
验证:pnpm openapi、Go 全量测试、pnpm lint、pnpm test、pnpm build、gofmt 与差异格式检查均通过。
2026-07-25 01:32:49 +08:00
wangbo
4f163ea6d7
perf(storage): 拦截任务二进制并本地暂存结果
...
原因:任务标准结果中的 Base64、Data URI 和 Buffer 会进入 PostgreSQL JSON,导致 TOAST 与备份体积快速增长。
影响:新增统一 JSON 持久化关口;upload_none 将二进制原子写入本地结果目录,数据库仅保存带 SHA-256 的有界占位符;任务详情、同步响应、异步查询和兼容协议按需校验恢复。补充 24 小时清理、容量上限、历史小批量治理命令及管理端说明。
风险:本地结果超过 TTL、丢失或损坏时分别返回明确的 410/500;空间不足时返回 503 且不重试上游。未自动执行历史治理。
验证:三种真实图片模型同步/异步与幂等重放通过;Go vet/全量测试、前端 111 测试、lint/typecheck/build、OpenAPI、迁移安全、govulncheck、依赖审计、手工发布测试及 Linux amd64 构建通过。
2026-07-24 21:13:09 +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
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
8d86c4b3b3
feat(catalog): 统一模型调用身份并梳理生命周期
...
新增官方调用名、供应商真实名、显示名和兼容别名的独立契约,调整路由、目录聚合、管理端与 OpenAPI。
增加 Gemini、Qwen、DeepSeek、Claude 和 MiniMax 生命周期迁移、别名观测及引用保护,并补充数据库与聚合测试。
2026-07-22 20:23: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
8beb8501fa
fix(billing): 封住发布前计费竞态
...
ci / verify (pull_request) Failing after 8s
阻止上游提交状态不明的任务被租约接管后重复执行,并为人工复核保留可操作的结算记录。
将生产提交绑定到当前估价签名,统一复用预处理快照,并补强规则形状、定点溢出与历史规则兼容校验。
已通过 PostgreSQL 16 集成测试、Go 全量测试与静态检查、前端测试与构建、OpenAPI、依赖审计、镜像、迁移、流水线和 SemVer 门禁。
2026-07-21 10:23:58 +08:00
chengcheng
62d25fcb11
feat(web): 增加计费结算异常管理界面
...
管理端支持按状态查看结算与释放记录,展示精确到九位的小数金额、错误分类和重试次数,并使用一次性 Idempotency-Key 发起审计化重试。
2026-07-21 00:25:57 +08:00
chengcheng
7cea21f765
feat(web): 增加参数即时估价与显式免费编辑
...
估价请求统一使用 350ms 防抖、AbortController 和请求序号,区分免费、计算中、价格不可用与失败状态,并展示候选冻结上限。价格未就绪时阻止生产提交。\n\n计价规则编辑器新增显式免费开关和 9 位价格步进。\n\n验证:Web 88 项测试和生产构建通过。
2026-07-20 23:22:50 +08:00
chengcheng
b179162330
fix(web): 完善统一认证恢复与重配交互
...
为处理中、失败和清理中的配对展示明确状态与恢复动作,支持放弃并清理、作用域内退役冲突连接,并在 Active 状态引导管理员先安全禁用再使用新接入码。同步修复运行时切换后的浏览器会话残留与确认弹窗焦点约束。
验证:pnpm test;pnpm lint;pnpm build。
2026-07-17 18:31:38 +08:00
chengcheng
a767dc42c0
refactor(identity): 统一网页认证配置来源
...
移除旧 OIDC_* 与 VITE_OIDC_* 业务配置读取,统一使用数据库 Revision 和 SecretStore 引用构建运行时。同步更新 Compose、示例配置、接入文档及集成测试,并保留数据库、SecretStore 和安全事件健康窗口等部署级参数。\n\n验证:go test ./...;go test -race ./...;go vet ./...;pnpm test;pnpm lint;pnpm build;docker compose config -q
2026-07-17 12:31:00 +08:00
chengcheng
e0a356ee0c
feat(web): 增加统一认证接入与运维页面
...
系统设置新增统一认证配对、验证、激活、重验证、回滚与禁用流程,安全事件改为统一能力状态。前端登录入口运行时读取公开配置,不再依赖 VITE_OIDC 构建变量。\n\n验证:web 31 项测试;web typecheck;pnpm lint;web production build
2026-07-17 12:18:26 +08:00
chengcheng
ffb85b73af
feat(ssf): 托管机器凭据并支持动态恢复
...
Gateway 连接表单接收认证中心一次性交付的 machine Client 凭据,后端立即写入 SecretStore,数据库和公开响应只保留引用及公开 Client ID。SSF 管理 Token、Verification 和 RFC 7662 内省统一从动态凭据读取,支持现有连接无重启修复及进程重启恢复,环境变量仅保留为旧部署回退。\n\n验证:go test ./apps/api/...;pnpm nx test web;真实重启、OIDC 登录与 session-revoked 1.29 秒失效验收。
2026-07-17 09:13:57 +08:00
chengcheng
2ccf041b35
feat(ssf): 增加连接操作审计与追踪证据
...
安全事件连接的成功和运行时失败现在写入脱敏审计,响应携带 Trace ID 与 Audit ID,管理页面展示最近一次成功操作证据。审计仅记录连接状态、健康模式和错误类别,不采集授权头、Token、Bearer 或 Secret。\n\n验证:HTTP API、Store、Security Events Go 测试以及 Web Vitest、TypeScript 类型检查通过。
2026-07-16 10:55:21 +08:00
chengcheng
42ddc70b27
fix(ssf): 修复安全事件连接基础阻断
...
为已记录旧迁移版本的环境补充幂等表修复迁移,并让 Transmitter 网络连接在 IPv6 地址不可达时继续尝试 IPv4。失败连接现在通过 If-Match 安全重试,页面同步提供重试入口并清理过期错误提示。\n\n验证:Go securityevents/migrate 测试、Web Vitest 与 TypeScript 类型检查通过。
2026-07-16 10:44:59 +08:00
chengcheng
9efeb16fd1
feat(ssf): 实现安全事件一键连接与凭据托管
...
新增数据库驱动的 SecurityEventConnectionManager,复用 RFC 7662 机器 Client,自动完成 Discovery、Push Bearer 生成、Stream 创建、Verification、首次启用、零停机轮换和安全退役。
增加文件与 Kubernetes SecretStore、最小权限 RBAC、动态 Receiver/撤销水位/内省降级,以及系统设置管理页面。已通过全量 Go 测试、go vet、关键包竞态测试、27 个 Web 测试、类型检查、生产构建、Compose 和 Kubernetes dry-run。
2026-07-15 17:25:00 +08:00
wangbo
17b1f77e1d
Merge remote-tracking branch 'origin/main'
2026-07-13 13:28:19 +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
chensipeng
0dc9df759b
feat(system): 完成客户端自定义与系统设置
...
新增管理端客户端自定义标签页、公开与管理端系统设置接口、文件存储设置持久化、数据库迁移、契约类型和 OpenAPI 文档。
2026-06-30 14:53:29 +08:00
wangbo
0e675e259c
feat: add runner failover rules and cache affinity
2026-06-28 20:50:23 +08:00
wangbo
7f32446466
feat: support cached input token billing
2026-06-23 17:17:57 +08:00
wangbo
b860ef37e8
增加单一源保护全局策略
2026-06-15 00:14:40 +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
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
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
6d99e26e2a
feat(admin): support provider model presets
2026-05-24 22:28:07 +08:00
chensipeng
13186f8ed1
feat(chat): 完善 Chat Completions 兼容层
2026-05-19 17:46:27 +08:00
wangbo
37d0f919e5
feat: add gateway billing estimate and rate limit details
2026-05-15 01:53:52 +08:00
wangbo
62d9170e65
fix: add local static file storage fallback
2026-05-13 20:53:07 +08:00
wangbo
fc5dfd6bc5
feat: add file storage settings and uploads
2026-05-13 20:23:45 +08:00
wangbo
2685450f3e
Restrict priority demotion to same-model peers
2026-05-13 08:37:39 +08:00
wangbo
e778fad6ed
Show admin save feedback and preserve custom failover actions
2026-05-12 21:57:10 +08:00
wangbo
a76ab941bc
Add platform status switch
2026-05-12 21:49:08 +08:00
wangbo
682a491d27
Decouple stream cancellation and clarify failover rules
2026-05-12 21:32:23 +08:00
wangbo
98abd247d6
feat: add priority demotion controls
2026-05-12 18:43:20 +08:00
wangbo
ddfd4f9035
feat: add realtime load admin page
2026-05-12 10:18:34 +08:00
wangbo
7e220b7477
feat: add river-backed async task queue
2026-05-12 10:11:54 +08:00
wangbo
d69aaed444
feat(web): refresh rate limits timestamp and tpm settlement display
2026-05-12 03:43:00 +08:00
wangbo
ba850a06c6
feat: improve model rate limit tracking
2026-05-12 03:22:29 +08:00
wangbo
05632172d0
feat: add runner failover policies and traces
2026-05-12 02:16:42 +08:00
wangbo
f550c0acd5
feat(admin): 添加网络代理配置和钱包交易功能
...
- 在管理面板中集成网络代理配置显示和平台代理设置
- 添加钱包摘要和交易列表API接口及数据管理
- 实现SSE流式响应中的错误处理机制
- 添加全局HTTP代理环境变量配置支持
- 更新平台表单以支持代理模式选择和自定义代理地址
- 集成钱包交易查询过滤和分页功能
- 优化API错误详情解析和显示格式
2026-05-11 23:02:10 +08:00
wangbo
c992f1de60
feat: add wallet settlement audit flow
2026-05-11 22:59:26 +08:00