From db727a7bb380f7ed9cca45c7f1cfeb6236e90897 Mon Sep 17 00:00:00 2001 From: ila Date: Sat, 22 Aug 2026 11:44:50 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=B0=E5=BD=95=20go-admin=20?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E7=95=8C=E9=9D=A2=E9=AA=8C=E6=94=B6=20(#24)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/00-project-profile.md | 8 ++++---- docs/02-architecture-and-code-map.md | 6 +++--- docs/03-business-rules-and-glossary.md | 8 ++++---- docs/09-product-requirements-overview.md | 16 ++++++++-------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/00-project-profile.md b/docs/00-project-profile.md index cd9c387..48bb219 100644 --- a/docs/00-project-profile.md +++ b/docs/00-project-profile.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Project-Profile wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Project-Profile.- -wiki_revision: 73e341c9849cdbb69fb9eacb496e72928508fe5c -synchronized_at: 2026-08-22T03:08:12Z +wiki_revision: 91a2bfa4adde11504ce9cb51a45f02abadab23cd +synchronized_at: 2026-08-22T03:42:33Z # 项目档案 @@ -167,6 +167,6 @@ synchronized_at: 2026-08-22T03:08:12Z - 当前候选版本已在本机 MySQL 8.4.8 隔离库完成空库 `up/down/up`、重复种子、Go build/vet/race、真实 portal 进程认领、Playwright 四视口和终态验证。 - 用户于 2026-08-21 明确确认 #4 验收通过;MVP-0 的全部单元任务、独立集成验收和父工单均已完成并归档。Epic #3 保持开启,后续 MVP 必须另行确认。 - 验证只使用构造用户、构造图片、mock 上游与测试 fixture;没有连接生产/共享库、调用真实 Provider 额度或发布生产。 -## Provider 凭据风险决策与 #24 候选实现(2026-08-22) +## Provider 凭据风险决策与 #24 已交付实现(2026-08-22) -用户已在 #30 明确接受 Provider API Key 明文落库及单条主动查看的风险。#24 候选实现已移除运行时 `CHORUS_MASTER_KEY` 依赖,迁移 000005 在存在旧加密凭据时停止,禁止猜测或丢弃;列表和普通详情不返回完整密钥,单条读取禁止缓存。管理端使用固定 go-admin/go-admin-ui 基线,Casbin 显式读取迁移管理的 `sys_casbin_rule` 并关闭 adapter AutoMigrate。该候选已通过 MySQL 8、Go、前端构建和真实账号密码/API 联调,等待用户验收。 +用户已在 #30 明确接受 Provider API Key 明文落库及单条主动查看的风险。#24 已交付实现移除了运行时 `CHORUS_MASTER_KEY` 依赖,迁移 000005 在存在旧加密凭据时停止,禁止猜测或丢弃;列表和普通详情不返回完整密钥,单条读取禁止缓存。管理端使用固定 go-admin/go-admin-ui 基线,Casbin 显式读取迁移管理的 `sys_casbin_rule` 并关闭 adapter AutoMigrate。该实现已通过 MySQL 8、Go、前端构建和真实账号密码/API 联调,并于 2026-08-22 通过用户验收。 diff --git a/docs/02-architecture-and-code-map.md b/docs/02-architecture-and-code-map.md index ab15ed7..ac52874 100644 --- a/docs/02-architecture-and-code-map.md +++ b/docs/02-architecture-and-code-map.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Architecture-and-Code-Map wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Architecture-and-Code-Map.- -wiki_revision: c16abec724f37c0c2f72ada4a73889b084983d47 -synchronized_at: 2026-08-22T03:12:13Z +wiki_revision: 8158e9e681f8c4a928a7bc5b744215bb4376cf05 +synchronized_at: 2026-08-22T03:42:41Z # 架构与代码地图 @@ -301,7 +301,7 @@ go-admin 的 AutoMigrate 只能在隔离、可丢弃数据库中用于研究固 - 生产数据库只接受 `migrations/`,不执行 AutoMigrate。 - `rendered_prompt`、`attempts`、失败 `error_code/error_message` 必须持久化。 - 输出文件先写临时文件并原子落位;图片必须有缩略图。原图、结果和缩略图访问均校验用户归属。 -## #24 管理端候选实现(2026-08-22,待验收) +## #24 管理端已交付实现(2026-08-22,已验收) - `admin/app/chorus` 提供 Provider、模型、Prompt、路由池、生成记录、终端用户状态和 Provider 健康 API;所有路由位于管理员 JWT/Casbin 边界。 - `admin-ui/src/views/chorus` 提供四类 CRUD 与路由池、Provider 健康、生成详情定制页,用户页不包含点数、余额或配额。 diff --git a/docs/03-business-rules-and-glossary.md b/docs/03-business-rules-and-glossary.md index 62743c5..0bb83c1 100644 --- a/docs/03-business-rules-and-glossary.md +++ b/docs/03-business-rules-and-glossary.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Business-Rules-and-Glossary wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Business-Rules-and-Glossary.- -wiki_revision: 85bee82b9824fa1515c511e865553f86d9a7a524 -synchronized_at: 2026-08-22T03:08:23Z +wiki_revision: 88e750129170ef7fcce9d2194cc96bb74d9e462e +synchronized_at: 2026-08-22T03:42:45Z # 业务规则与术语 @@ -122,6 +122,6 @@ synchronized_at: 2026-08-22T03:08:23Z - 首个 Provider/模型、真实连通性检查的最小请求与冷却时间; - 生成物保留期、备份范围、磁盘告警和清理策略; - 生产限流阈值及未来是否开放注册; -## 已实施待验收:Provider 凭据明文与单条回显 +## 已交付:Provider 凭据明文与单条回显 -2026-08-22 用户明确接受风险并确认 [#30](https://git.ilapage.cn/OPC/chorus/issues/30):Provider API Key 目标状态改为明文落库,管理员可在单个 Provider 页面显式读取和再次隐藏。列表接口不得批量返回完整值,读取响应必须禁止缓存;日志、审计摘要、错误、工单、Wiki、原型和截图继续禁止记录真实密钥。#24 候选实现已完成明文迁移、单条回显和运行时主密钥移除,并通过隔离 MySQL 8 与真实管理 API 联调;在用户验收前工单保持待验收。 +2026-08-22 用户明确接受风险并确认 [#30](https://git.ilapage.cn/OPC/chorus/issues/30):Provider API Key 目标状态改为明文落库,管理员可在单个 Provider 页面显式读取和再次隐藏。列表接口不得批量返回完整值,读取响应必须禁止缓存;日志、审计摘要、错误、工单、Wiki、原型和截图继续禁止记录真实密钥。#24 已完成明文迁移、单条回显和运行时主密钥移除,并通过隔离 MySQL 8、真实管理 API 联调及用户验收。 diff --git a/docs/09-product-requirements-overview.md b/docs/09-product-requirements-overview.md index 6eb3296..be43752 100644 --- a/docs/09-product-requirements-overview.md +++ b/docs/09-product-requirements-overview.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Product-Requirements-Overview wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Product-Requirements-Overview.- -wiki_revision: 25136e6070136c8f96d489466c1e601488d09c90 -synchronized_at: 2026-08-22T03:12:46Z +wiki_revision: 71b97c2e46135b301934a43299e6346e4151df43 +synchronized_at: 2026-08-22T03:43:10Z # 产品需求总览 @@ -33,7 +33,7 @@ synchronized_at: 2026-08-22T03:12:46Z ## 当前需求索引 -工单 [#1](https://git.ilapage.cn/OPC/chorus/issues/1) 已完成长期技术基线整理和验收。项目由 [Epic #3](https://git.ilapage.cn/OPC/chorus/issues/3) 统一跟踪;[MVP-0 #4](https://git.ilapage.cn/OPC/chorus/issues/4) 已于 2026-08-21 验收完成。[MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) 的设计门禁已完成:技术设计 [#16](https://git.ilapage.cn/OPC/chorus/issues/16) 已于 2026-08-21 验收通过;管理端原型 [#17](https://git.ilapage.cn/OPC/chorus/issues/17) 的 `prototypes/17/v1/index.html` 已于 2026-08-21 通过用户验收,用户端原型 [#18](https://git.ilapage.cn/OPC/chorus/issues/18) 的 `prototypes/18/v1/index.html` 已于 2026-08-21 通过用户验收。生产实现与集成验收单元工单已建立:[#20](https://git.ilapage.cn/OPC/chorus/issues/20)~[#28](https://git.ilapage.cn/OPC/chorus/issues/28)。#20、#21、#22、#23 和 #28 已于 2026-08-21~2026-08-22 验收完成;#24 已完成候选实现并等待用户验收;#25~#27 按声明依赖待实施。其中 #23 已交付管理 API 基线;#24 按 #30 风险决策改为明文凭据与单条回显,并完成固定 go-admin-ui 页面、Casbin/菜单集成、脱敏审计和默认禁用的连通性探测门禁;portal 的 MVP-1 用户功能仍待 #25/#26 实现。 +工单 [#1](https://git.ilapage.cn/OPC/chorus/issues/1) 已完成长期技术基线整理和验收。项目由 [Epic #3](https://git.ilapage.cn/OPC/chorus/issues/3) 统一跟踪;[MVP-0 #4](https://git.ilapage.cn/OPC/chorus/issues/4) 已于 2026-08-21 验收完成。[MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) 的设计门禁已完成:技术设计 [#16](https://git.ilapage.cn/OPC/chorus/issues/16) 已于 2026-08-21 验收通过;管理端原型 [#17](https://git.ilapage.cn/OPC/chorus/issues/17) 的 `prototypes/17/v1/index.html` 已于 2026-08-21 通过用户验收,用户端原型 [#18](https://git.ilapage.cn/OPC/chorus/issues/18) 的 `prototypes/18/v1/index.html` 已于 2026-08-21 通过用户验收。生产实现与集成验收单元工单已建立:[#20](https://git.ilapage.cn/OPC/chorus/issues/20)~[#28](https://git.ilapage.cn/OPC/chorus/issues/28)。#20、#21、#22、#23 和 #28 已于 2026-08-21~2026-08-22 验收完成;#24 已于 2026-08-22 验收交付;#25~#27 按声明依赖待实施。其中 #23 已交付管理 API 基线;#24 按 #30 风险决策改为明文凭据与单条回显,并完成固定 go-admin-ui 页面、Casbin/菜单集成、脱敏审计和默认禁用的连通性探测门禁;portal 的 MVP-1 用户功能仍待 #25/#26 实现。 | 需求领域 | 用户与场景 | 需求状态 | MVP | 详细说明 | 实施工单 | 设计证据 | |---|---|---|---|---|---|---| @@ -41,7 +41,7 @@ synchronized_at: 2026-08-22T03:12:46Z | 用户端生成页 | 种子用户登录并完成一次异步生成 | 已交付(#11~#13 已验收) | [MVP-0 #4](https://git.ilapage.cn/OPC/chorus/issues/4) | 本页“用户端布局与状态” | [#11 portal 后端](https://git.ilapage.cn/OPC/chorus/issues/11)、[#12 用户界面](https://git.ilapage.cn/OPC/chorus/issues/12) | [原型设计 #2](https://git.ilapage.cn/OPC/chorus/issues/2);`prototypes/2/v1/index.html`,2026-08-20 用户已确认 | | 默认 prompt template | 系统以数据配置而非硬编码合成提示词 | 已交付(#7/#13 已验收) | [MVP-0 #4](https://git.ilapage.cn/OPC/chorus/issues/4) | [业务规则](Business-Rules-and-Glossary.-) | [#7](https://git.ilapage.cn/OPC/chorus/issues/7) | 2026-08-20 已确认中性模板与 `{{.UserPrompt}}` | | 多 Provider 路由与故障转移 | 单上游故障时继续服务 | 已确认(#16 已验收,待实现) | [MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) | [架构](Architecture-and-Code-Map.-)、[业务规则](Business-Rules-and-Glossary.-) | [#16 技术设计](https://git.ilapage.cn/OPC/chorus/issues/16) | #16 架构/API/数据/状态设计于 2026-08-21 已确认 | -| 管理端配置与记录 | 运营配置模型、路由池并排障 | 候选实现待验收(#24) | [MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) | 本页“管理端页面” | [#17 管理端原型](https://git.ilapage.cn/OPC/chorus/issues/17) | `prototypes/17/v1/index.html`,v1,2026-08-21 用户已确认 | +| 管理端配置与记录 | 运营配置模型、路由池并排障 | 已交付(#24 已验收) | [MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) | 本页“管理端页面” | [#17 管理端原型](https://git.ilapage.cn/OPC/chorus/issues/17) | `prototypes/17/v1/index.html`,v1,2026-08-21 用户已确认 | | 图片角色编辑 | 用户编辑 role_rule、角色、备注与顺序 | 原型已确认(#18) | [MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) | 业务规则“提示词与上传” | [#18 用户端原型](https://git.ilapage.cn/OPC/chorus/issues/18) | `prototypes/18/v1/index.html`,v1,2026-08-21 用户已确认 | | API Key 与程序调用 | 外部程序提交与查询任务 | 已确认 | MVP-2 | 本页“程序化调用” | 待建 | API/权限设计 | | 限流、保留期、公开注册 | 治理滥用和磁盘;决定是否开放用户获取 | 待确认(阈值/流程) | MVP-2 或后续 | 业务规则“需要补充什么” | 待建 | 安全/运维/认证设计 | @@ -85,7 +85,7 @@ MVP-0 非目标: #### MVP-1:可用性与运营 -汇总工单为 [#19](https://git.ilapage.cn/OPC/chorus/issues/19),设计门禁已完成,生产实现单元工单已建立;#24 候选实现等待用户验收: +汇总工单为 [#19](https://git.ilapage.cn/OPC/chorus/issues/19),设计门禁已完成,生产实现单元工单已建立;#24 已于 2026-08-22 验收交付: - [x] [#16](https://git.ilapage.cn/OPC/chorus/issues/16) 路由、Provider、迁移、API、状态和测试设计(2026-08-21 验收通过); - [x] [#17](https://git.ilapage.cn/OPC/chorus/issues/17) 固定 go-admin/go-admin-ui 的 CRUD 与三个定制页原型(`prototypes/17/v1/index.html`,2026-08-21 用户验收通过); @@ -264,8 +264,8 @@ MVP-2 的 API Key 存哈希、身份仍属于 `users`。提交、查询、幂等 用户在获知明文存储和回显风险后明确接受风险:Provider API Key 保存后允许管理员在单个 Provider 编辑页主动查看和隐藏,目标存储形式改为明文。列表仍只展示是否已配置,不批量读取完整密钥;读取失败、无权限、加载和无凭据状态必须可恢复且可访问。 -设计变更由 [#30](https://git.ilapage.cn/OPC/chorus/issues/30) 跟踪,新快照 `prototypes/30/v1/index.html` 已于 2026-08-22 通过用户验收。原 #17 v1 的“API Key 只写不可回显”部分被本变更取代,其余管理端设计继续有效。原型确认门禁已通过;#24 可按本节边界更新工单后实施生产存储、接口和管理页面。 +设计变更由 [#30](https://git.ilapage.cn/OPC/chorus/issues/30) 跟踪,新快照 `prototypes/30/v1/index.html` 已于 2026-08-22 通过用户验收。原 #17 v1 的“API Key 只写不可回显”部分被本变更取代,其余管理端设计继续有效。原型确认门禁已通过;#24 已按本节边界完成生产存储、接口和管理页面并通过验收。 -## #24 管理端候选交付状态(2026-08-22) +## #24 管理端交付状态(2026-08-22,已验收) -固定 go-admin-ui 已导入仓库并实现 Provider、ProviderModel、PromptTemplate、Users CRUD,以及路由池、Provider 健康/主动探测和生成详情页面。Provider Key 按 #30 明文落库并仅在单条页面主动回显;用户页按 #31 完全移除点数、余额和配额。候选已通过 Go build/vet/test、前端 lint/32 个单测/生产构建、MySQL 8 migration up/down/up、管理 API 集成测试和真实账号密码/菜单/API 联调;浏览器实例不可用,未生成生产页面视觉截图。#24 保持待验收。 +固定 go-admin-ui 已导入仓库并实现 Provider、ProviderModel、PromptTemplate、Users CRUD,以及路由池、Provider 健康/主动探测和生成详情页面。Provider Key 按 #30 明文落库并仅在单条页面主动回显;用户页按 #31 完全移除点数、余额和配额。实现已通过 Go build/vet/test、前端 lint/32 个单测/生产构建、MySQL 8 migration up/down/up、管理 API 集成测试和真实账号密码/菜单/API 联调;浏览器实例不可用,未生成生产页面自动化截图,用户于 2026-08-22 完成人工验收并确认 #24 通过。