Skip to content

[Admin] 使用 TDesign React 开发管理后台 #112

Description

@XnLemon

背景

现有 /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 conflictrequest_idcorrelation_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 复现,前端构建、核心交互和权限边界具备自动化验证。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions