Page:
Task-24-go-admin-MVP-1-运营界面
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.
24 go-admin MVP-1 运营界面
- 类型:需求
- 所属 Epic:#3
- 所属 MVP / 版本:#19 / MVP-1
- 状态:已完成
- 日期:2026-08-22
- Gitea 工单:#24
- Wiki 页面:Task-24-go-admin-MVP-1-运营界面
背景与目标
按 #17、#30、#31 已确认设计,在固定 go-admin/go-admin-ui 基线上交付运营管理端。范围包括四类 CRUD、路由池、Provider 健康/主动探测、生成详情,以及用户点数完全移除和 Provider Key 明文单条回显。
最终方案
- 导入锁定的 go-admin-ui 基线并实现 Chorus API 封装、Provider/模型/Prompt/用户页面及三个定制页。
- Provider credential 改为明文版本记录;列表与普通详情不返回完整值,单条读取受 JWT/Casbin 保护并禁止缓存。
- 移除 portal/admin 的
CHORUS_MASTER_KEY装配,worker 仅在内存中使用数据库读取的 Key;日志、审计和错误继续脱敏。 - 增加 migration 000005;发现已有加密 credential 时 fail closed,要求人工受控转换。生产仍只使用 migrations。
- 修复固定后端未注册系统路由的问题;Casbin 显式使用
sys_casbin_rule并关闭 adapter AutoMigrate。 - 用户 API 和页面只允许 active/disabled 状态,不包含点数、余额、扣费、退款、充值、发放或配额。
修改文件
admin-ui/:固定前端基线、Chorus 页面、API 和单元测试。admin/app/chorus/:管理 API、明文凭据读取、健康视图和用户状态。admin/common/database/、admin/app/admin/router/:迁移表 Casbin 初始化和系统路由注册。migrations/:明文凭据、菜单/API/权限及可逆保护。portal/worker/、portal/main.go、internal/config/:移除 Provider 主密钥运行依赖。- 核心 Wiki 与
docs/:架构、业务规则、运行、排障、产品和部署说明。
验收结果
| 验收标准 | 结果 |
|---|---|
| Provider Key 明文、单条回显、列表脱敏和禁止缓存 | 自动化与真实 API 联调通过 |
| 路由冲突、探测冷却/审计、attempts 和脱敏错误 | MySQL 管理 API 测试通过 |
| 四类 CRUD、三个定制页、键盘排序与状态处理 | lint、32 个前端单测和生产构建通过;用户于 2026-08-22 验收通过 |
| 完全不包含用户点数、余额和配额 | 代码、API、页面与文档检查通过 |
| 生产不运行 AutoMigrate | Casbin adapter 测试和真实启动验证通过 |
测试
go build ./...、go vet ./...、go test ./...:通过。go -C admin build .、go -C admin vet ./...、go -C admin test ./...:通过。pnpm --dir admin-ui exec eslint src/views/chorus src/api/chorus:通过。pnpm --dir admin-ui test:unit -- --runInBand:8 suites、32 tests 通过。pnpm --dir admin-ui build:prod:通过;仅保留固定基线 webpack/包体积警告。- MySQL 8.4.8
TestMVP1MigrationsUpDownUpMySQL、管理 API 与 worker 集成测试:通过,使用chorus_test和 mock 上游。 - 使用
admin/config/settings.yml启动,账号密码登录、动态菜单和 Provider 列表 API 均返回 200。 python dev_scripts/harness.py check --strict、Harness 42 tests、sync --check:通过。- 验收补充:本机没有可连接的浏览器实例,因此未生成生产页面自动化截图;用户于 2026-08-22 完成人工验收并确认通过。未调用真实 Provider。
遗留问题
- 本机开发库曾由修复前的 go-admin-core adapter 创建一个空的
casbin_rule表。当前代码不再读取或创建它;因没有删除授权,本工单未删除该数据库对象。