design: 制作 MVP-1 管理端运营原型 (#17)
This commit is contained in:
@@ -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: e832dfa2552c6cf97eda1927588bc85392f5fe8e
|
||||
synchronized_at: 2026-08-21T06:59:52Z
|
||||
wiki_revision: 31e7771f466dac3175c6d032ab598264eab04a73
|
||||
synchronized_at: 2026-08-21T07:19:14Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 产品需求总览
|
||||
@@ -29,7 +29,7 @@ synchronized_at: 2026-08-21T06:59:52Z
|
||||
|
||||
## 当前需求索引
|
||||
|
||||
工单 [#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) 和用户端原型 [#18](https://git.ilapage.cn/OPC/chorus/issues/18) 的前置门禁已满足,仍需分别制作和确认。生产实现工单尚未建立或放行。当前已交付边界仍是 mock 验证的唯一 ProviderModel `chat`/`images_edits` 闭环。
|
||||
工单 [#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` 草稿并等待用户验收,用户端原型 [#18](https://git.ilapage.cn/OPC/chorus/issues/18) 仍待制作和确认。生产实现工单尚未建立或放行。当前已交付边界仍是 mock 验证的唯一 ProviderModel `chat`/`images_edits` 闭环。
|
||||
|
||||
| 需求领域 | 用户与场景 | 需求状态 | MVP | 详细说明 | 实施工单 | 设计证据 |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -37,7 +37,7 @@ synchronized_at: 2026-08-21T06:59:52Z
|
||||
| 用户端生成页 | 种子用户登录并完成一次异步生成 | 已交付(#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 已确认 |
|
||||
| 管理端配置与记录 | 运营配置模型、路由池并排障 | 已确认(#16 已验收,待原型) | [MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) | 本页“管理端页面” | [#17 管理端原型](https://git.ilapage.cn/OPC/chorus/issues/17) | 复用型/定制页原型待制作和确认 |
|
||||
| 管理端配置与记录 | 运营配置模型、路由池并排障 | 原型草稿待验收(#17) | [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、角色、备注与顺序 | 已确认(#16 已验收,待原型) | [MVP-1 #19](https://git.ilapage.cn/OPC/chorus/issues/19) | 业务规则“提示词与上传” | [#18 用户端原型](https://git.ilapage.cn/OPC/chorus/issues/18) | 组件状态、键盘排序和无限滚动原型待制作和确认 |
|
||||
| 点数只读与发放 | 用户看余额、管理员发放留痕 | 已确认 | MVP-2 | 业务规则“点数与范围” | 待建 | 原型待确认 |
|
||||
| API Key 与程序调用 | 外部程序提交与查询任务 | 已确认 | MVP-2 | 本页“程序化调用” | 待建 | API/权限设计 |
|
||||
@@ -85,7 +85,7 @@ MVP-0 非目标:
|
||||
汇总工单为 [#19](https://git.ilapage.cn/OPC/chorus/issues/19),当前处于设计门禁:
|
||||
|
||||
- [x] [#16](https://git.ilapage.cn/OPC/chorus/issues/16) 路由、Provider、迁移、API、状态和测试设计(2026-08-21 验收通过);
|
||||
- [ ] [#17](https://git.ilapage.cn/OPC/chorus/issues/17) 固定 go-admin/go-admin-ui 的 CRUD 与三个定制页原型;
|
||||
- [ ] [#17](https://git.ilapage.cn/OPC/chorus/issues/17) 固定 go-admin/go-admin-ui 的 CRUD 与三个定制页原型(v1 草稿待验收:`prototypes/17/v1/index.html`);
|
||||
- [ ] [#18](https://git.ilapage.cn/OPC/chorus/issues/18) 文生图、图片 role_rule/role/note/排序与历史无限滚动原型。
|
||||
|
||||
稳定范围仍包括加权路由、gobreaker、最多 N 家故障转移、`images`/`gemini`、受审计有冷却的单次真实连通性测试和完整 retryable 测试。技术设计已确认;两个原型经用户确认后,才拆分数据库、路由/worker、协议、安全管理端、portal 和集成验收生产工单。
|
||||
@@ -218,6 +218,7 @@ MVP-2 的 API Key 存哈希、身份仍属于 `users`。提交、查询、幂等
|
||||
原型或替代设计证据至少记录链接/路径、版本/revision或确认日期、状态、确认人、确认时间和覆盖范围。外部原型需要保留可追溯版本;重要已确认版本按需保存快照。没有 UI 原型时,记录采用的技术设计或无需原型的原因。
|
||||
|
||||
- 与代码版本绑定的图片、HTML 交互稿和设计源文件放入 Git 的 `design/` 或 `prototypes/`,不要手工放入 Wiki 镜像目录 `docs/`。
|
||||
- #17 管理端运营原型:`prototypes/17/v1/index.html`,v1,2026-08-21,状态“草稿”;覆盖四类标准 CRUD、路由池编排、Provider 健康/主动探测、生成记录详情,以及加载、空、错误、无权限和边界状态;待用户确认。
|
||||
- 外部 Figma 等原型记录可访问链接、版本或确认日期、负责人和适用需求;重要的已确认版本保留可追溯快照。
|
||||
- 原型必须标记“草稿、已确认、已废弃”之一。草稿不能作为正式实现依据;已废弃原型保留状态和替代入口,不让 Agent 误用。
|
||||
- 原型只表达界面和交互意图,不能代替文字业务规则、安全边界、异常处理和验收标准。
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
@font-face {
|
||||
font-family: "remixicon";
|
||||
src: url("./remixicon.woff2") format("woff2");
|
||||
font-display: block;
|
||||
}
|
||||
|
||||
[class^="ri-"]::before,
|
||||
[class*=" ri-"]::before {
|
||||
font-family: "remixicon" !important;
|
||||
font-style: normal;
|
||||
font-weight: normal !important;
|
||||
speak: never;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.ri-add-line::before { content: "\ea13"; }
|
||||
.ri-arrow-down-s-line::before { content: "\ea4e"; }
|
||||
.ri-arrow-left-s-line::before { content: "\ea64"; }
|
||||
.ri-arrow-right-s-line::before { content: "\ea6e"; }
|
||||
.ri-check-line::before { content: "\eb7b"; }
|
||||
.ri-close-line::before { content: "\eb99"; }
|
||||
.ri-database-2-line::before { content: "\ec16"; }
|
||||
.ri-drag-move-2-line::before { content: "\ec60"; }
|
||||
.ri-edit-line::before { content: "\ec86"; }
|
||||
.ri-error-warning-line::before { content: "\eca1"; }
|
||||
.ri-eye-line::before { content: "\ecb5"; }
|
||||
.ri-eye-off-line::before { content: "\ecb7"; }
|
||||
.ri-file-text-line::before { content: "\ed0f"; }
|
||||
.ri-fullscreen-line::before { content: "\ed9c"; }
|
||||
.ri-history-line::before { content: "\ee17"; }
|
||||
.ri-home-3-line::before { content: "\ee1b"; }
|
||||
.ri-image-line::before { content: "\ee4b"; }
|
||||
.ri-information-line::before { content: "\ee59"; }
|
||||
.ri-key-line::before { content: "\ee71"; }
|
||||
.ri-list-settings-line::before { content: "\eebd"; }
|
||||
.ri-loader-4-line::before { content: "\eec6"; }
|
||||
.ri-lock-line::before { content: "\eece"; }
|
||||
.ri-menu-fold-line::before { content: "\ef3d"; }
|
||||
.ri-more-2-line::before { content: "\ef77"; }
|
||||
.ri-pulse-line::before { content: "\f035"; }
|
||||
.ri-refresh-line::before { content: "\f064"; }
|
||||
.ri-route-line::before { content: "\f09b"; }
|
||||
.ri-save-line::before { content: "\f0b3"; }
|
||||
.ri-search-line::before { content: "\f0d1"; }
|
||||
.ri-send-plane-line::before { content: "\f0da"; }
|
||||
.ri-server-line::before { content: "\f0e0"; }
|
||||
.ri-settings-3-line::before { content: "\f0e6"; }
|
||||
.ri-shield-keyhole-line::before { content: "\f107"; }
|
||||
.ri-stop-circle-line::before { content: "\f19f"; }
|
||||
.ri-time-line::before { content: "\f20f"; }
|
||||
.ri-user-line::before { content: "\f264"; }
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Reference in New Issue
Block a user