Commit Graph

49 Commits

Author SHA1 Message Date
4426eeccf7 chore(merge): 整合最新 main 与统一认证变更
All checks were successful
ci / verify (pull_request) Successful in 12m18s
合并远端生产 CI、依赖与 API 文档改动,保留统一认证和 SSF 能力。由于远端生产基线已占用 0062,将尚未发布的身份迁移整理为 0063 至 0068 的最终增量 Schema,移除仅用于开发期草稿升级的破坏性迁移步骤。

验证:go test ./...。其余生产门禁在合并提交后继续执行。
2026-07-17 19:06:37 +08:00
a312ad880d fix(identity): 完善统一认证配对恢复与安全退役
修复 credentials_saved 状态无法恢复、配对与激活并发冲突,以及 SSF 和身份 Secret 生命周期不完整的问题。新增持久化协调器、取消与清理状态机、事务级并发门禁、受控 SSF 凭据交接、禁用后的延迟 Secret 清理,并对生产环境统一认证及 Discovery 端点强制 HTTPS。

验证:go test ./...;go test -race ./internal/auth ./internal/identity ./internal/identityruntime ./internal/securityevents ./internal/httpapi ./internal/store -count=1;go vet ./...;真实 PostgreSQL 并发及清理成功/冲突回滚测试;pnpm openapi。
2026-07-17 18:31:12 +08:00
5ee267ecbd feat: 完善模型请求适配与输出限制 2026-07-17 13:52:00 +08:00
96bbd3a2f6 feat(identity): 实现接入码配对后台流程
Gateway 使用一次性接入码创建 Exchange,将 Exchange Token、机器凭据与 Session Key 仅写入 SecretStore,并持久化脱敏配对进度。\n\n资源就绪后先保存凭据和 Manifest,再自动准备 SSF,最后确认远端 Exchange;SecretStore 失败时保持 ready,重试会触发新 Secret 轮换,不回放旧值。\n\n验证:go test ./...;go vet ./...
2026-07-17 11:55:24 +08:00
c2ce42fead feat(identity): 增加统一认证配置版本
新增统一认证 Revision 状态机、单 Active 数据库约束、SecretStore 引用字段、Break-glass 与本地租户门禁,并在关键身份变化或禁用时清理旧 BFF Session。\n\n同时实现标准应用接入 Manifest v1 消费端,接入码只进入请求 Body,Exchange Token 只进入 Authorization Header,禁用重定向并限制响应大小。\n\n验证:go test ./...;go vet ./...
2026-07-17 11:52:01 +08:00
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
29f24222fd fix(ssf): 修复 Verification 状态迁移
为已执行旧版 0062 的环境补充不可变修复迁移,恢复 Stream 状态字段和 Verification challenge 表;同时为 timestamptz 参数增加显式类型,避免 pgx 在真实 PostgreSQL 中推断冲突。\n\n验证:pnpm test;pnpm lint;pnpm build;真实 PostgreSQL 集成测试通过。
2026-07-16 11:54:01 +08:00
42ddc70b27 fix(ssf): 修复安全事件连接基础阻断
为已记录旧迁移版本的环境补充幂等表修复迁移,并让 Transmitter 网络连接在 IPv6 地址不可达时继续尝试 IPv4。失败连接现在通过 If-Match 安全重试,页面同步提供重试入口并清理过期错误提示。\n\n验证:Go securityevents/migrate 测试、Web Vitest 与 TypeScript 类型检查通过。
2026-07-16 10:44:59 +08:00
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
f30aaeb2d4 feat: 接入 SSF 实时会话撤销 2026-07-14 17:06:41 +08:00
d345c070ae feat: 实现 OIDC 服务端会话与请求刷新
使用 AES-256-GCM 保存认证中心令牌,并以随机 Cookie 哈希关联 PostgreSQL 会话。加入闲置与绝对期限、Refresh Token 轮换以及多实例刷新锁。
2026-07-13 19:09:10 +08:00
17b1f77e1d Merge remote-tracking branch 'origin/main' 2026-07-13 13:28:19 +08:00
9c300de72c feat(gateway): add Seedream 5.0 Pro 2026-07-13 12:53:48 +08:00
8847d973a8 feat: add Responses API compatibility 2026-07-10 23:33:15 +08:00
797edeedf4 feat(gateway): sync Seedance 2.0 capabilities 2026-06-30 21:20:09 +08:00
0dc9df759b
feat(system): 完成客户端自定义与系统设置
新增管理端客户端自定义标签页、公开与管理端系统设置接口、文件存储设置持久化、数据库迁移、契约类型和 OpenAPI 文档。
2026-06-30 14:53:29 +08:00
0e675e259c feat: add runner failover rules and cache affinity 2026-06-28 20:50:23 +08:00
88402f67d3 feat: seed latest coding models 2026-06-27 17:11:48 +08:00
c4341335d7 feat: 支持 MiniMax 音色克隆和 2.8 语音模型 2026-06-17 02:13:21 +08:00
b860ef37e8 增加单一源保护全局策略 2026-06-15 00:14:40 +08:00
97f29ed156 Restore standard MiniMax resolutions and client mapping 2026-06-08 09:29:45 +08:00
f47132a653 完善 API Key 能力范围可视化和维护 2026-06-07 19:01:32 +08:00
dc14866210 迁移音频生成与语音合成到 gateway 并补充 simulation 测试 2026-06-07 10:26:57 +08:00
d41d9482c7 Add runtime restore and temp asset cleanup 2026-06-05 20:28:26 +08:00
644a6f9d17 完善文档页文本向量与重排序调用支持 2026-05-31 21:18:41 +08:00
a6f1be8f07 同步默认运行策略不限流 2026-05-29 20:22:44 +08:00
f5c69b9852 feat: support image quality control 2026-05-28 00:17:27 +08:00
1d3a4f1da9 Merge remote-tracking branch 'origin/main' 2026-05-26 23:21:21 +08:00
50abcea352 feat: update qwen base catalog 2026-05-26 21:40:46 +08:00
b6c4105a94
fix(api): 补全模型能力继承与响应推导
- 合并 base model 默认能力与平台覆盖项
- 在模型响应中补齐 text_generate 的上下文与推理能力字段
- 为相关逻辑补充测试和迁移脚本
2026-05-25 20:36:32 +08:00
6d99e26e2a feat(admin): support provider model presets 2026-05-24 22:28:07 +08:00
af9b281d34 feat(api): migrate media clients and universal scripts 2026-05-20 21:29:07 +08:00
d09a4c2e4d feat(clients): 添加Keling客户端支持视频生成和多模态功能
- 实现KelingClient结构体及其Run方法,支持视频生成功能
- 添加对image2video、text2video和omni-video任务类型的完整支持
- 集成Keling平台的身份验证机制,包括JWT令牌生成
- 实现视频任务的提交和轮询逻辑,支持异步处理流程
- 添加对多种输入格式的支持,包括图像帧、基础视频和参考素材
- 实现Keling元素管理和清理机制,处理临时创建的素材
- 在服务初始化中注册keling和kling两个提供商标识
- 添加数据库迁移脚本,更新Keling模型的音频功能配置
- 完善错误处理和重试机制,提升服务稳定性
- 编写完整的单元测试,覆盖各种视频生成场景和边界情况
2026-05-17 22:08:55 +08:00
fc5dfd6bc5 feat: add file storage settings and uploads 2026-05-13 20:23:45 +08:00
98abd247d6 feat: add priority demotion controls 2026-05-12 18:43:20 +08:00
b9c9f457e9 feat: add parameter preprocessing audit trail 2026-05-12 13:54:51 +08:00
7e220b7477 feat: add river-backed async task queue 2026-05-12 10:11:54 +08:00
ba850a06c6 feat: improve model rate limit tracking 2026-05-12 03:22:29 +08:00
05632172d0 feat: add runner failover policies and traces 2026-05-12 02:16:42 +08:00
c992f1de60 feat: add wallet settlement audit flow 2026-05-11 22:59:26 +08:00
0431cb8157 feat: improve model catalog aggregation 2026-05-11 17:44:57 +08:00
ca7e76e815 fix gateway loopback validation chains 2026-05-11 08:48:02 +08:00
0fc23d7eb8 feat(api): migrate volces client to gateway 2026-05-10 23:14:10 +08:00
d59756a27c chore: commit pending gateway changes 2026-05-10 22:34:15 +08:00
53f8edfb67 feat: enrich task record details 2026-05-10 22:33:58 +08:00
fdcdcd477b feat: implement AI gateway phase one runtime 2026-05-09 21:18:32 +08:00
c0335bd5d0 feat: add ai gateway local core flow 2026-05-09 16:51:28 +08:00
5b20f017eb feat: scaffold ai gateway identity and design 2026-05-09 16:01:32 +08:00
6323e70e49 Initial project scaffold
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-09 14:36:35 +08:00