Page:
Task-46-交付管理端-API-Key-治理页面
Pages
Architecture-and-Code-Map
Audience-Document-Template
Business-Rules-and-Glossary
Common-Changes
Delivery-Documentation-Guide
Deployment-Template
Deployment-and-Operations
Development-Workflow
Existing-Project-Adoption-Guide
Home
Local-Development-and-Verification
New-Project-Documentation-Setup
Product-Requirements-Overview
Project-Profile
Task-1-完善技术基线与实施约束
Task-10-实现-Provider-协议、mock-上游与内嵌-worker
Task-11-实现-portal-认证、异步提交与鉴权查询
Task-12-按确认原型实现-portal-用户界面
Task-13-完成-MVP-0-集成验收与运行闭环
Task-14-增加-Windows-本地开发启动脚本
Task-15-将现有-worker-接入-portal-运行与优雅退出
Task-16-明确-MVP-1-路由与-Provider-技术设计
Task-17-制作-MVP-1-管理端运营原型
Task-18-制作-MVP-1-用户端增强原型
Task-19-MVP-1-多上游可用性与运营管理
Task-2-制作-MVP-0-用户端生成页原型
Task-20-MVP-1-可逆迁移与-admin-基线
Task-21-MVP-1-路由核心与故障转移
Task-22-MVP-1-多-Provider-协议安全调用与-Worker-原子尝试
Task-23-MVP-1-管理端-API、凭据轮换与连通性审计
Task-24-go-admin-MVP-1-运营界面
Task-25-MVP-1-portal-提交契约与游标历史
Task-26-MVP-1-portal-用户界面
Task-27-MVP-1-集成验收
Task-28-安全管理员-bootstrap-命令
Task-29-管理端改为账号密码登录
Task-30-Provider-API-Key-明文存储与回显变更
Task-31-完全移除用户点数展示与需求
Task-32-移除-admin-ui-残留验证码登录交互
Task-33-修复-admin-ui-生产构建-runtime-资源缺失
Task-34-修复-admin-ui-SCSS-变量导入生产白屏
Task-36-MVP-2-API治理技术设计
Task-37-MVP-2-API-Key页面原型
Task-38-统一本地服务启停
Task-39-Supervisor-托管本地服务
Task-4-MVP-0-单上游安全异步生成闭环
Task-40-修复管理端动态菜单视图路径
Task-41-MVP-2-数据迁移与-API-Key-核心能力
Task-42-用户-API-Key-生命周期与-Portal-页面
Task-43-OpenAPI-v1-认证与生成接口
Task-44-实现三维限流与生成队列延后
Task-45-实现-API-安全审计与管理端-API
Task-46-交付管理端-API-Key-治理页面
Task-47-执行-MVP-2-跨模块集成验收
Task-48-简化单人开发工作流
Task-5-准备-MVP-0-可复现开发与测试环境
Task-50-用户端仅账号密码登录
Task-51-终端用户密码最小长度调整为-6-位
Task-52-规范化管理端-API-Key-幂等撤销时间响应
Task-53-修复-MVP-2-Portal-E2E-审计数据清理顺序
Task-55-Provider-出站端口白名单配置
Task-56-Portal-YAML-运行配置
Task-58-图片生成-300-秒受控复验
Task-59-管理端分组导航与适用系统模块原型
Task-6-初始化-Go-项目骨架与可逆数据库迁移
Task-60-??-images_edits-??????.-
Task-60-对齐-images_edits-图片编辑协议.-
Task-61-修正生成尝试状态展示
Task-65-完善生成记录耗时和时间展示
Task-66-建立管理端四分组菜单与权限-migration
Task-67-适配管理端系统-API-与管理员保护
Task-68-实现四分组导航与系统管理页面
Task-69-管理端系统模块集成与安全回归
Task-7-实现核心领域模型、状态规则和-Prompt-渲染
Task-8-实现-SSRF-安全-HTTP、AES-GCM-密钥信封和受保护本地存储
Task-9-实现-MySQL-8-SKIP-LOCKED-租约队列、attempt-原子记录和最终-CAS
Task-Archive-Template
Troubleshooting
unnamed
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
46 交付管理端 API Key 治理页面
- 类型:需求
- 所属 Epic:#3
- 所属 MVP / 版本:#35 / MVP-2
- 状态:已完成
- 日期:2026-08-25
- Gitea 工单:#46
- 实现提交:
d59c340
背景与目标
按已确认的 #37 v1 原型,在 go-admin-ui 提供 API 密钥元数据列表、筛选、分页、详情安全事件和管理员撤销交互。管理端不能显示、缓存或拼接完整用户密钥,也不提供代用户创建密钥的能力。
最终方案
- 复用
000006已建立并由000007中文化的“Chorus 运营 → API 密钥”菜单、角色与 Casbin 权限,不增加迁移。 - 列表使用 #45 的服务端分页与关键词/状态筛选契约,仅渲染用户、名称、固定前缀、状态和时间元数据。
- 详情只展示单条元数据及最近 20 条安全事件;审计摘要通过前端固定字段白名单再次约束。
- 有效密钥可执行撤销,操作前二次确认,成功后刷新列表;后端保持幂等。
- 加载、空结果、错误和无权限使用独立状态;表格在窄屏内滚动,工具栏按现有 Chorus 管理页面规范响应式换行。
- 请求并发使用序号防止较旧响应覆盖新筛选或新详情。
修改范围
admin-ui/src/api/chorus/index.js:增加列表、详情和撤销 API 封装。admin-ui/src/views/chorus/api-keys/:治理页面与安全显示辅助函数。admin-ui/tests/unit/chorus/:分页、摘要白名单、敏感字段与中文标题回归。- Local-Development-and-Verification Wiki 及镜像:增加管理员操作和验证说明。
验收结果
| 验收标准 | 结果 |
|---|---|
| 列表和详情不包含完整 Key,只显示前缀、状态和元数据 | 通过源码约束、单测与 #45 后端契约测试 |
| 撤销确认与成功/失败反馈 | 2026-08-25 用户验收通过 |
| 权限、空态和错误态 | 2026-08-25 用户验收通过 |
| 375/768/1024/1440 无页面溢出 | 自动化未验证;用户在已知限制下验收通过 |
| admin-ui 单测与构建 | 通过 |
| 浏览器 E2E | 未执行;用户在已知限制下验收通过 |
人工验收
- 用户于 2026-08-25 明确验收通过。
- 浏览器自动化与四视口截图未执行的限制继续保留,不改写为已验证。
测试
corepack pnpm lint:通过,只有仓库既有 98 条 warning,无 error。corepack pnpm exec vue-cli-service test:unit --runInBand:14 suites、49 tests 全部通过。- 临时设置
NODE_OPTIONS=--max-old-space-size=4096后corepack pnpm build:prod:通过;保留既有 Sass、codemirror 和包体积 warning。 python dev_scripts/harness.py check --strict:通过。python -m unittest discover -s tests -v:43 项通过。python dev_scripts/harness.py sync --check:通过。- Supervisor
chorus-admin-ui已重启且 HTTP 200;管理 API 未认证请求返回 JSON 业务码 401。 - 未验证部分:当前无可用浏览器实例,受保护环境文件也未提供管理端登录凭据,未执行登录态交互、四视口截图或真实撤销。未调用真实 Provider,未修改或撤销现有用户密钥。
文档
- Local-Development-and-Verification revision:
31061a29cf4b73dee02b01d2bccd4a333c1abe2a
相关提交
d59c340feat: 交付管理端 API 密钥治理页面 (#46)