背景
现有 /admin/v1/* 已覆盖 Tenant、Agent App/Revision、Model Profile、Backend Profile 和 Channel Binding 的单资源写入与读取,但尚缺少列表、Revision 查询、Catalog、审计/用量查询及浏览器身份边界,无法直接支撑完整的多租户管理后台。
TDesign React 已作为源码 submodule 引入到 third_party/tdesign-react,固定在 b79da93c;实际组件包为 packages/tdesign-react。
详细现状与接口梳理见 docs/docs/admin-web-ui.md。
目标
基于 TDesign React 建设安全、可用的 Admin Web UI,使管理员无需知晓内部资源 ID 即可在授权 Tenant 内完成控制面管理与版本发布。
范围
- 补齐 Admin Web UI 所需的 P0 API:
/me、Tenant/App/Model/Backend/Binding 列表、Revision 列表与详情、受信 Model/Backend Catalog。
- 统一前后端 JSON 合约为 snake_case,并修复 Revision 的
global_instruction 请求字段映射。
- 为浏览器建立 BFF 或等价的 OIDC/SSO 会话边界;严禁向浏览器下发
TRPC_ADMIN_TOKEN。
- 使用 TDesign React 实现租户选择、租户设置、App/Revision 编辑与发布、Model、Backend、Channel Binding 配置页面。
- 实现统一的乐观锁、
409 conflict、request_id、correlation_id、reason 确认与 audit_unavailable 不确定结果处理。
- 后续接入审计与用量页面,依赖对应的查询/聚合 API。
非目标
- 不在浏览器中管理或回显明文 secret、DSN、token、渠道凭据或原始 route key。
- 不以假数据 Dashboard 替代尚未暴露的审计、用量或健康聚合 API。
- 不改变聊天 API 的认证边界。
验收标准
- 管理员可以登录并只看到获授权 Tenant 与资源,跨租户对象不可枚举。
- 管理员可浏览、创建、完整编辑、迁移状态,并完成 Draft 创建、发布、回滚和 Canary 设置/清除。
- 所有写入使用最新版本号;冲突时保留用户草稿、重新读取并要求用户确认,不自动覆盖。
- 高影响操作要求 reason;浏览器不存储 Admin token 或任何明文凭据。
- 资源列表使用稳定排序与 cursor pagination,表单选项由服务端 Catalog 提供。
- TDesign React 依赖版本可从 submodule 复现,前端构建、核心交互和权限边界具备自动化验证。
背景
现有
/admin/v1/*已覆盖 Tenant、Agent App/Revision、Model Profile、Backend Profile 和 Channel Binding 的单资源写入与读取,但尚缺少列表、Revision 查询、Catalog、审计/用量查询及浏览器身份边界,无法直接支撑完整的多租户管理后台。TDesign React 已作为源码 submodule 引入到
third_party/tdesign-react,固定在b79da93c;实际组件包为packages/tdesign-react。详细现状与接口梳理见
docs/docs/admin-web-ui.md。目标
基于 TDesign React 建设安全、可用的 Admin Web UI,使管理员无需知晓内部资源 ID 即可在授权 Tenant 内完成控制面管理与版本发布。
范围
/me、Tenant/App/Model/Backend/Binding 列表、Revision 列表与详情、受信 Model/Backend Catalog。global_instruction请求字段映射。TRPC_ADMIN_TOKEN。409 conflict、request_id、correlation_id、reason 确认与audit_unavailable不确定结果处理。非目标
验收标准