feat: 按 #17 原型实现 go-admin MVP-1 运营界面 (#19) #24

Closed
opened 2026-08-21 16:07:29 +08:00 by ila · 0 comments
Owner

基本信息

  • 类型:需求
  • 所属 Epic:#3
  • 所属 MVP / 版本:#19 / MVP-1
  • 阶段:已完成

原始需求

  • 来源:用户对话与已确认 MVP-1 技术设计、管理端原型 #17、用户端原型 #18。
  • 提出时间:2026-08-21
  • 脱敏摘要:按已确认 MVP-1 范围建立生产实现单元工单。

文档影响

  • 不影响长期文档
  • 更新项目档案或本地开发与验证
  • 更新架构与代码地图
  • 更新业务规则与术语
  • 更新常见修改或故障排查
  • 更新其他 Wiki 页面:

交付文档影响

  • 无交付文档影响,原因:本工单交付内部实现,最终用户操作文档待功能集成后统一评估。
  • 更新已有交付文档,受众与页面:
  • 新增交付文档,受众与页面:

变更控制

  • 不增加计费扣点、支付、配额、内容审核、公开注册、MVP-2 API Key/openapi 或其他已排除范围。
  • 不使用真实 Provider 额度进行调试;自动化与开发使用 mock。
  • 实施开始前复核依赖工单、工作区和已确认设计;完成后保持“待验收”,由用户明确验收后关闭。

依赖与并行

  • 前置工单:#23、#28、#17(已完成);#28 为管理员 bootstrap 安全前置。
  • 是否允许并行:否;页面依赖稳定的管理 API 和已确认原型。

目标与范围

在锁定 go-admin-ui 基线实现 Provider、ProviderModel、PromptTemplate、Users 的 schema-first CRUD,以及路由池编排、Provider 健康/主动探测和生成记录详情三类定制页。

不改变 go-admin/go-admin-ui 固定版本,不添加开放 API 或移动端能力;数据库、接口和界面均不得引入用户点数、余额或配额。

设计与原型门禁

  • 已确认设计:prototypes/17/v1/index.html(除密钥只写部分)和 prototypes/30/v1/index.html(Provider 明文凭据与单条回显);用户分别于 2026-08-21、2026-08-22 验收通过。
  • 设计覆盖:四类 CRUD;Provider API Key 明文保存、单条显式查看/隐藏且列表不批量返回;路由乐观锁;主动探测审计/冷却;生成 attempts;加载/空/错误/无权限/边界状态。

验收标准

  • 页面、导航、表单、状态和响应式行为符合 #17 v1,使用固定 go-admin-ui 视觉与组件基线。(用户于 2026-08-22 验收通过)
  • Provider API Key 明文保存;管理员可在单个 Provider 页面显式查看和隐藏;列表及普通详情不返回完整值,读取响应设置 Cache-Control: no-store,日志、审计和错误不泄露。
  • 路由发布冲突、探测冷却/审计、脱敏错误和 attempts 详情可恢复且不泄露敏感信息。
  • 四类 CRUD 与三个定制页具备加载、空、错误、无权限和主要键盘操作。
  • 用户管理页和相关 API 不包含点数、余额、扣费、退款、充值、发放或配额字段与操作。

验证

  • 运行管理端构建、单元测试和浏览器 E2E;检查四类页面及三类定制页。
  • 不使用真实 API Key、真实用户数据或真实 Provider 反复调试。

需求变化记录

日期 变化内容 原因 用户确认
2026-08-22 Provider API Key 从 AES-GCM/只写改为明文落库,并允许管理员在单条记录中显式查看和隐藏;移除管理端 CHORUS_MASTER_KEY 依赖 用户明确接受泄露风险;设计变更 #30 用户于 2026-08-22 验收 #30

迁移若发现已有加密凭据必须停止并执行受控转换,不得猜测、覆盖或丢弃。原 #17 v1 其他页面与交互继续有效。
| 2026-08-22 | 完全移除用户点数、余额及相关展示;暂停生产实现等待新原型 | 用户为快速开发和使用明确确认删减 | 用户于 2026-08-22 验收 #31 |

#31 设计门禁

  • 新快照:prototypes/31/v1/index.html;直接审核用户页可使用 ?view=users。
  • 状态:用户于 2026-08-22 验收通过;设计门禁已解除,本工单恢复进行中。
  • 覆盖:用户管理页完全移除点数、余额和配额展示,其他 #17/#30 已确认交互保持不变。

实施结果与证据(2026-08-22)

  • 结果:实现已交付;用户于 2026-08-22 验收通过,父工单 #19 与 Epic #3 已同步勾选 #24。
  • 实现提交:5ed7c95;候选文档提交:48e9551;验收文档提交:db727a7。
  • 任务归档:Task-24-go-admin-MVP-1-运营界面,revision e8d42d3a7829b2c830fbb4465eef2ba0d61a32e1。
  • 核心 Wiki:Project Profile、Architecture、Business Rules、Local Development、Troubleshooting、Product Requirements、Deployment 已更新并同步,sync --check 通过。
  • 自动验证:Go build/vet/test、admin build/vet/test、前端 lint/32 单测/生产构建、MySQL 8 migration up/down/up、管理 API、worker、真实账号密码/菜单/API 联调均通过。
  • 验收补充:浏览器实例不可用,未生成生产页面自动化截图;用户于 2026-08-22 完成人工验收并确认通过。未调用真实 Provider。
  • 本地运行:管理 API 127.0.0.1:8090、前端 127.0.0.1:9528。
## 基本信息 - 类型:需求 - 所属 Epic:#3 - 所属 MVP / 版本:#19 / MVP-1 - 阶段:已完成 ## 原始需求 - 来源:用户对话与已确认 MVP-1 技术设计、管理端原型 #17、用户端原型 #18。 - 提出时间:2026-08-21 - 脱敏摘要:按已确认 MVP-1 范围建立生产实现单元工单。 ## 文档影响 - [ ] 不影响长期文档 - [x] 更新项目档案或本地开发与验证 - [x] 更新架构与代码地图 - [x] 更新业务规则与术语 - [ ] 更新常见修改或故障排查 - [ ] 更新其他 Wiki 页面: ## 交付文档影响 - [x] 无交付文档影响,原因:本工单交付内部实现,最终用户操作文档待功能集成后统一评估。 - [ ] 更新已有交付文档,受众与页面: - [ ] 新增交付文档,受众与页面: ## 变更控制 - 不增加计费扣点、支付、配额、内容审核、公开注册、MVP-2 API Key/openapi 或其他已排除范围。 - 不使用真实 Provider 额度进行调试;自动化与开发使用 mock。 - 实施开始前复核依赖工单、工作区和已确认设计;完成后保持“待验收”,由用户明确验收后关闭。 ## 依赖与并行 - 前置工单:#23、#28、#17(已完成);#28 为管理员 bootstrap 安全前置。 - 是否允许并行:否;页面依赖稳定的管理 API 和已确认原型。 ## 目标与范围 在锁定 go-admin-ui 基线实现 Provider、ProviderModel、PromptTemplate、Users 的 schema-first CRUD,以及路由池编排、Provider 健康/主动探测和生成记录详情三类定制页。 不改变 go-admin/go-admin-ui 固定版本,不添加开放 API 或移动端能力;数据库、接口和界面均不得引入用户点数、余额或配额。 ## 设计与原型门禁 - 已确认设计:`prototypes/17/v1/index.html`(除密钥只写部分)和 `prototypes/30/v1/index.html`(Provider 明文凭据与单条回显);用户分别于 2026-08-21、2026-08-22 验收通过。 - 设计覆盖:四类 CRUD;Provider API Key 明文保存、单条显式查看/隐藏且列表不批量返回;路由乐观锁;主动探测审计/冷却;生成 attempts;加载/空/错误/无权限/边界状态。 ## 验收标准 - [x] 页面、导航、表单、状态和响应式行为符合 #17 v1,使用固定 go-admin-ui 视觉与组件基线。(用户于 2026-08-22 验收通过) - [x] Provider API Key 明文保存;管理员可在单个 Provider 页面显式查看和隐藏;列表及普通详情不返回完整值,读取响应设置 `Cache-Control: no-store`,日志、审计和错误不泄露。 - [x] 路由发布冲突、探测冷却/审计、脱敏错误和 attempts 详情可恢复且不泄露敏感信息。 - [x] 四类 CRUD 与三个定制页具备加载、空、错误、无权限和主要键盘操作。 - [x] 用户管理页和相关 API 不包含点数、余额、扣费、退款、充值、发放或配额字段与操作。 ## 验证 - 运行管理端构建、单元测试和浏览器 E2E;检查四类页面及三类定制页。 - 不使用真实 API Key、真实用户数据或真实 Provider 反复调试。 ## 需求变化记录 | 日期 | 变化内容 | 原因 | 用户确认 | |---|---|---|---| | 2026-08-22 | Provider API Key 从 AES-GCM/只写改为明文落库,并允许管理员在单条记录中显式查看和隐藏;移除管理端 `CHORUS_MASTER_KEY` 依赖 | 用户明确接受泄露风险;设计变更 #30 | 用户于 2026-08-22 验收 #30 | 迁移若发现已有加密凭据必须停止并执行受控转换,不得猜测、覆盖或丢弃。原 #17 v1 其他页面与交互继续有效。 | 2026-08-22 | 完全移除用户点数、余额及相关展示;暂停生产实现等待新原型 | 用户为快速开发和使用明确确认删减 | 用户于 2026-08-22 验收 #31 | ## #31 设计门禁 - 新快照:prototypes/31/v1/index.html;直接审核用户页可使用 ?view=users。 - 状态:用户于 2026-08-22 验收通过;设计门禁已解除,本工单恢复进行中。 - 覆盖:用户管理页完全移除点数、余额和配额展示,其他 #17/#30 已确认交互保持不变。 ## 实施结果与证据(2026-08-22) - 结果:实现已交付;用户于 2026-08-22 验收通过,父工单 #19 与 Epic #3 已同步勾选 #24。 - 实现提交:5ed7c95;候选文档提交:48e9551;验收文档提交:db727a7。 - 任务归档:Task-24-go-admin-MVP-1-运营界面,revision e8d42d3a7829b2c830fbb4465eef2ba0d61a32e1。 - 核心 Wiki:Project Profile、Architecture、Business Rules、Local Development、Troubleshooting、Product Requirements、Deployment 已更新并同步,sync --check 通过。 - 自动验证:Go build/vet/test、admin build/vet/test、前端 lint/32 单测/生产构建、MySQL 8 migration up/down/up、管理 API、worker、真实账号密码/菜单/API 联调均通过。 - 验收补充:浏览器实例不可用,未生成生产页面自动化截图;用户于 2026-08-22 完成人工验收并确认通过。未调用真实 Provider。 - 本地运行:管理 API 127.0.0.1:8090、前端 127.0.0.1:9528。
ila closed this issue 2026-08-22 11:45:36 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/chorus#24