Commit Graph
217 Commits
Author SHA1 Message Date
chengcheng 06f95c5d86 ci: validate runner before registration
ci / verify (pull_request) Failing after 6m9s
2026-07-17 15:08:37 +08:00
chengcheng 1f8c5a3d03 fix(ci): support digest-verified runner mirrors
ci / verify (pull_request) Failing after 7m54s
2026-07-17 14:50:38 +08:00
chengcheng 6ba46514c1 fix(ci): expose pinned node during runner setup
ci / verify (pull_request) Failing after 6m8s
2026-07-17 14:43:27 +08:00
chengcheng 91ea0e6a2d ci: harden production quality gates
ci / verify (pull_request) Failing after 4m18s
2026-07-17 14:23:49 +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
chengcheng db85487b73 docs(ci): 记录生产流水线决策与运行手册
固化 Tag 发布策略、Runner 信任边界、Secret 位置、数据库回滚限制,以及 Runner 安装、发布、验证和故障恢复步骤。
2026-07-17 12:41:47 +08:00
chengcheng 745811cc6d ci: 建立生产镜像与 Tag 发布流水线
新增独立仓库级 Gitea Runner,main 和 PR 执行完整质量门禁与不可变 SHA 镜像构建;只有来自 main 历史的语义版本 Tag 才调用受限生产发布助手。专属 Buildx builder 将缓存限制为 2 GB。\n\n验证:流水线结构测试、ShellCheck、Go vet/test、govulncheck、前端 lint/test/build、Compose 渲染及高危依赖审计通过。
2026-07-17 12:39:07 +08:00
chengcheng af13a0444e fix(build): 修复前端依赖安全门禁
同步缺失的 Vitest 锁文件,并将 Vitest、Vite 及受影响的传递依赖限制到已修复版本,避免严格 frozen install 和高危依赖审计阻塞 CI。\n\n验证:pnpm frozen install、lint、26 个前端测试、Go 测试、生产构建及 high 级依赖审计通过。
2026-07-17 12:38:49 +08:00
chengcheng cdfca61304 docs(identity): 发布统一认证管理契约
为配对、策略、验证、激活、回滚、禁用和公开运行时接口补充 OpenAPI 注解,并将通用 Identity 类型加入生成范围。生成契约不包含 Exchange Token、Machine Secret 或 Secret 引用。\n\n验证:pnpm openapi;OpenAPI 敏感字段扫描通过
2026-07-17 12:31:11 +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 b175d545ff fix(identity): 支持生效配置安全重验证
Active Revision 重验证成功后更新验证元数据并原子替换同配置 Runtime;验证失败时不修改数据库状态或当前运行时。\n\n验证:go test ./apps/api/internal/identityruntime ./apps/api/internal/store ./apps/api/internal/httpapi
2026-07-17 12:12:26 +08:00
chengcheng 1fce3a535d feat(identity): 增加统一认证管理接口
提供接入码配对、配置查询、本地策略修改、验证、激活、回滚、禁用和公开运行时状态接口。写操作强制 Idempotency-Key 与 If-Match,后台 Exchange 支持重启恢复和过期收敛,并记录脱敏 Trace 与审计。\n\n验证:go test 相关 identity、store、identityruntime、httpapi 包;go vet ./apps/api/...
2026-07-17 12:10:44 +08:00
chengcheng a9e23cb237 feat(identity): 实现统一认证运行时热切换
从 Active Revision 构造并验证 OIDC、BFF Session、Introspection 与 SSF Runtime,在数据库激活成功后原子替换内存引用。请求链路使用不可变快照,失败保留当前运行时,本地管理登录不受影响。\n\n验证:go test ./apps/api/...;go vet ./apps/api/...
2026-07-17 12:05:00 +08:00
chengcheng 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
chengcheng 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
chengcheng 2a73e18123 docs(identity): 定义统一认证运行时配置
记录 Revision 状态机、验证后热切换、Break-glass 与 Secret 边界,明确网页/API 是身份业务配置唯一来源。\n\n验证:git diff --check。
2026-07-17 11:05:48 +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
wangbo a24eb1aeb0 feat: 自托管 AI Gateway 运维管理 SKILL 2026-07-16 23:57:14 +08:00
chengcheng 8e33d1d33e fix(ssf): 支持断开后安全重连
重建 Stream 时仅重置流级 Verification 状态,保留历史收据和撤销水位;允许显式恢复失败连接,并在进程重启后按持久化时间继续 bootstrap。\n\n已通过 pnpm test、pnpm lint、pnpm build、go vet、PostgreSQL 集成测试以及本地真实断开重连和停机重试验收。
2026-07-16 12:30:14 +08:00
chengcheng 192e924dfb fix(ssf): 恢复健康连接生命周期
连续两次有效 Verification 将 Stream 状态恢复为 push_healthy 时,同一事务同步把 degraded 连接恢复为 enabled、清除陈旧错误并推进版本,避免管理页永久误报降级。\n\n验证:真实 PostgreSQL 集成测试;pnpm test;pnpm lint;pnpm build;真实 Transmitter/Introspection 故障与恢复演练。
2026-07-16 12:06:43 +08:00
chengcheng 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
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
chengcheng f30aaeb2d4 feat: 接入 SSF 实时会话撤销 2026-07-14 17:06:41 +08:00
wangbo 30ad0e9f2c fix(gemini): 使用 JSON Schema 传递工具参数 2026-07-14 12:55:44 +08:00
chengcheng 82c8dd352c chore: 固定已修复漏洞的 Go 工具链版本 2026-07-14 11:11:48 +08:00
chengcheng 39b6da0ada test: 固化 OIDC 校验错误边界 2026-07-14 11:11:48 +08:00
chengcheng dd1ddd6ead refactor: 统一 PKCE 挑战值生成逻辑 2026-07-14 11:11:48 +08:00
chengcheng 85d72a1c8c refactor: 使用 go-oidc 验证 ID Token 2026-07-14 11:11:48 +08:00
chengcheng 053bc260c7 refactor: 使用标准库实现 OIDC 客户端流程 2026-07-14 11:11:48 +08:00
chengcheng 8ca68eb3cd fix: 为失效 OIDC 事务提供安全重试
细分回调事务、状态和授权响应错误,提供脱敏诊断编号与显式重新登录入口,避免失效事务形成重试循环。
2026-07-13 22:50:09 +08:00
chengcheng 6e0a5fe397 feat: 添加本地启动依赖 2026-07-13 19:15:10 +08:00
chengcheng 46bac51703 feat: 将 Gateway Web 迁移到 BFF 会话
浏览器只通过 HttpOnly Cookie 恢复统一认证状态,不再访问认证中心 Token Endpoint 或保存 OIDC Token。同步更新错误提示、部署配置和接入文档。
2026-07-13 19:09:57 +08:00
chengcheng c5c82bb528 feat: 接入 OIDC 公共客户端登录链路
由 Gateway 服务端完成 PKCE 换码、ID Token 校验、JIT 用户解析和 Session 建立。新增登录、回调、退出与本地会话删除接口,并移除旧的 Access Token Cookie 桥接接口。
2026-07-13 19:09:38 +08:00
chengcheng d345c070ae feat: 实现 OIDC 服务端会话与请求刷新
使用 AES-256-GCM 保存认证中心令牌,并以随机 Cookie 哈希关联 PostgreSQL 会话。加入闲置与绝对期限、Refresh Token 轮换以及多实例刷新锁。
2026-07-13 19:09:10 +08:00
chengcheng a81a7b5200 fix: 修复 OIDC 用户预配与跨标签页登录态
增加受控 JIT 本地用户投影,并使用 HttpOnly Cookie 在新标签页恢复认证中心登录态。补充错误语义、安全校验、自动化测试与回滚配置。
2026-07-13 17:07:52 +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