87c2b04174
- 统一审批中心:模型/资源/渠道/工具四类申请聚合审批,通过自动开通 (marketplace 安装/渠道授权),outbox 双向站内信;门户可发起/撤回。 - 工具治理:rate_limit_rpm(固定窗口原子 upsert,多实例共享)+ approval_required (首次调用自动发起审批,批准前一律拒绝)。 - 平台环境变量:平台级注入 skill/MCP 运行时,个人可覆盖;系统管理员可写。 - 数字员工会话入口:门户列表/对话/调用记录,复用用户运行时凭据。 - 个人渠道:webhook 入站令牌 SHA-256 摘要 + constant-time 校验,绑定已批准 模型,用量归属用户 Key。 - 报表多维:工具调用/审批授权/安全事件三组统计端点与页面。 - 租户配额:部门 Key/月 Token 上限,运行时凭据开通强制校验,概览展示用量。 - 迁移 000042-000045;修复渠道空 API Key NOT NULL 违约与 inet 扫描; 25 包测试通过,前后端构建通过,端到端验证完成。
88 lines
4.8 KiB
Markdown
88 lines
4.8 KiB
Markdown
# AI Gateway Go 0.10.0 clean deployment bundle
|
|
|
|
Generated on 2026-08-11 from `/home/ben/ai-gateway-go`.
|
|
|
|
Included:
|
|
|
|
- Go backend and worker source
|
|
- 21 PostgreSQL migrations
|
|
- Admin and portal Art Design Pro source
|
|
- OpenAPI contract, operations documents and legacy migration tools
|
|
- Local and production Docker Compose definitions
|
|
|
|
Excluded:
|
|
|
|
- `node_modules`, frontend `dist`, Go binaries and caches
|
|
- local `.env`, `deploy/production.env`, logs and coverage output
|
|
- database volumes, Redis data and all runtime credentials
|
|
|
|
Start with `deploy/PRODUCTION.md`. Verify the accompanying ZIP checksum before
|
|
copying the bundle to a deployment host.
|
|
|
|
## 0.11.2 — 旗舰版第三轮完善
|
|
|
|
发布时间:2026-08-13
|
|
|
|
新增功能:
|
|
|
|
- **门户通用聊天**:门户工作台新增「通用聊天」页面,选择已批准模型直接对话,
|
|
支持会话管理(新建/改名/删除/历史)。模型权限申请审批通过后,系统自动为该
|
|
用户开通一把 gateway API Key(加密落库 `portal_user_runtime_credentials`,
|
|
限额取批准申请值),聊天调用经受管网关执行,认证/限流/配额/审计与外部
|
|
API Key 完全同权;会话消息沿用哈希链完整性校验与 busy 租约防并发。
|
|
- **企微/钉钉/飞书扫码登录**:`identity_providers` 表扩展 wecom/dingtalk/feishu
|
|
kind,管理端「账号与权限 → 扫码登录」配置身份源(AppID/AppSecret/AgentID、
|
|
回调 URL、自动开户、默认部门)。登录页自动展示已启用身份源按钮,回调经
|
|
one-time state 防 CSRF,支持三种平台 code 换取身份协议;未绑定账号默认
|
|
需先在「账号安全」扫码绑定(同一平台账号全局唯一绑定),可开启自动开户。
|
|
- **个人安全策略**:门户「账号安全」页面提供登录设备管理(IP/UA/时间,可
|
|
吊销任意非当前会话)、新设备登录提醒开关(默认开启,经 outbox → 站内信,
|
|
可单独关闭)、扫码登录绑定/解绑。
|
|
|
|
迁移:000038_portal_chat / 000039_social_login / 000040_security_prefs /
|
|
000041_inbox_security_category(共 41 个迁移)。
|
|
|
|
安全要点:
|
|
|
|
- 扫码登录 state 为 128-bit 一次性令牌(5 分钟),回调原子消费;
|
|
provider_uid 全局唯一,防止平台账号同时绑定多个本系统账号。
|
|
- 会话索引只存令牌 SHA-256 摘要,列表时惰性清理过期项;当前会话不可吊销。
|
|
- 登录提醒事件只落站内信,不包含凭据;开关按账号独立生效。
|
|
|
|
## 0.11.3 — 旗舰版第四轮完善
|
|
|
|
发布时间:2026-08-13
|
|
|
|
新增功能:
|
|
|
|
- **统一审批中心**:管理端「系统管理 → 审批中心」统一处理三类申请——
|
|
模型访问、资源/渠道权限(新增 `resource_access_requests`,支持
|
|
mcp_server/skill/digital_employee/channel)、工具使用(`tool_approval_requests`)。
|
|
资源/渠道申请通过后自动开通(marketplace 安装 use 等级;渠道以批准记录为授权),
|
|
门户「我的申请」可发起/撤回,审批结果经 outbox → 站内信通知双方。
|
|
- **工具治理**:工具支持「限流(RPM)」与「需审批」标记;审批标记工具首次调用
|
|
自动发起审批并拒绝执行,管理员通过后可用;限流用 PostgreSQL 固定窗口原子
|
|
upsert 实现,多实例共享同一额度。管理端工具中心可配置两项治理参数。
|
|
- **平台环境变量**:系统管理新增「平台环境变量」,平台级配置注入 skill/MCP
|
|
运行时(加密存储),个人环境变量可覆盖平台默认值(优先级:请求 < 平台 < 个人)。
|
|
- **数字员工会话入口**:门户「数字员工」页列出已授权员工、直接对话(复用用户
|
|
运行时凭据)、查看调用记录(检索/工具/延迟/状态)。
|
|
- **个人渠道**:门户「个人渠道」自建 Webhook 渠道绑定已批准模型;入站
|
|
`POST /v1/personal-channels/{code}/inbound` 以 `X-Inbound-Token` 常量时间
|
|
校验,经用户运行时凭据应答,用量归属用户 Key;支持令牌轮换与调用时间展示。
|
|
- **报表多维统计**:企业报表新增「工具调用 / 审批授权 / 安全事件」三个维度
|
|
(工具成功率与延迟、三类申请状态分布、登录成功/失败与来源 IP 分布)。
|
|
- **租户(部门)配额**:部门支持 Key 数量上限与月 Token 上限(0=不限),门户
|
|
运行时凭据开通时强制校验;租户概览展示配额用量与当月消耗。
|
|
|
|
迁移:000042_governance / 000043_platform_env_vars / 000044_personal_channels /
|
|
000045_tenant_quotas(共 45 个迁移)。
|
|
|
|
安全要点:
|
|
|
|
- 工具审批:每工具至多一个待审项(部分唯一索引),审批通过前执行一律拒绝;
|
|
限流窗口在提交侧原子递增,超限即拒,无竞态放大。
|
|
- 个人渠道令牌只存 SHA-256 摘要、仅创建/轮换时显示一次,校验走
|
|
constant-time 比较;渠道代码全局唯一。
|
|
- 平台环境变量与个人变量同用 AES-256-GCM 加密,管理端仅系统管理员可写。
|