diff --git a/docs/02-architecture-and-code-map.md b/docs/02-architecture-and-code-map.md index 6016f67..45e607b 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: b1268df4bd1d7e4fc6ca0a418da7215e61a4af91 -synchronized_at: 2026-08-20T07:01:09Z +wiki_revision: 5ecd4ee8ad3522e75cb8fc0f031238c3beaac85a +synchronized_at: 2026-08-20T08:30:20Z # 架构与代码地图 @@ -48,7 +48,7 @@ chorus/ | `portal` | 种子用户登录、桌面双栏/移动单列、提交、轮询、结果 | 公开注册、点数/API Key 导航、无限滚动、移动抽屉 | | `admin/admin-ui` | 不接入;配置由可重复种子命令完成 | MVP-1 schema-first CRUD 与定制页 | -MVP-0 第一张上传图自动作为 `primary`,其余为 `reference`;不提供角色编辑、备注和拖拽。默认中性模板的具体措辞仍是实现前确认门禁,不能硬编码猜测。 +MVP-0 第一张上传图自动作为 `primary`,其余为 `reference`;不提供角色编辑、备注和拖拽。默认中性模板已于 2026-08-20 确认,使用 Go `text/template` 且只开放 `{{.UserPrompt}}`,具体内容见业务规则;模板作为数据管理,不硬编码。 ## 代码地图 diff --git a/docs/03-business-rules-and-glossary.md b/docs/03-business-rules-and-glossary.md index 80f377e..d112614 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: 284ba550f90df865e75f16b8852a55c6197787ce -synchronized_at: 2026-08-20T07:04:20Z +wiki_revision: 479d5de55057d5dbf30a6db734ab17d97e68f9cd +synchronized_at: 2026-08-20T08:30:25Z # 业务规则与术语 @@ -21,7 +21,7 @@ synchronized_at: 2026-08-20T07:04:20Z | **attempts** | 脱敏、限长的尝试链路,至少包含 ProviderModel、分类错误、耗时和时间。 | | **租约** | `lease_owner + lease_token + lease_until`;token 是最终写入 CAS 的所有权凭据。 | | **幂等键** | 用户作用域内标识同一次提交;唯一约束为 `(user_id,idempotency_key)`。 | -| **prompt template** | 按 kind 配置的默认提示词模板;MVP-0 必须有数据配置,具体中性措辞待确认。 | +| **prompt template** | 按 kind 配置的默认提示词模板;MVP-0 使用 2026-08-20 已确认的中性模板和唯一变量 `{{.UserPrompt}}`。 | | **图片角色** | 第一张默认 primary,其余 reference;MVP-1 才允许编辑、备注和排序。 | | **点数** | 用户余额,只读展示,不参与生成判断或事务。 | @@ -61,9 +61,31 @@ synchronized_at: 2026-08-20T07:04:20Z 18. MVP-0 从 `prompt_templates` 读取 kind 默认模板;第一张图 primary、其余 reference,按上传顺序合成并落 `rendered_prompt`。 19. MVP-1 才增加用户 role_rule 覆盖、每图 role/note 和排序;覆盖顺序为管理端默认 → 用户覆盖 → 图片角色/备注。 -20. 默认模板具体措辞未确认前不得实现;不得沿用 cmhub 的电商专用文案冒充通用默认。 +20. 默认模板使用 Go `text/template` 语法,MVP-0 只开放 `UserPrompt`;缺少变量或解析失败必须返回可定位错误,不能静默生成。模板是数据库数据,不得硬编码为 Go 常量,也不得沿用 cmhub 电商专用文案。 21. 上传必须同时限制文件数、单文件/总大小、允许 MIME、实际解码格式和像素数,拒绝扩展名伪装与解压炸弹。阈值均可配置,生产值未确认前不能上线。 +#### MVP-0 默认 Prompt 模板(2026-08-20 已确认) + +`chat` 保持用户原文,不附加角色、语气、格式或业务场景: + +```text +{{.UserPrompt}} +``` + +`images_edits` 使用: + +```text +用户要求: +{{.UserPrompt}} + +图片说明: +- 第 1 张图片是需要处理的主图。 +- 其余图片仅作为参考。 +- 仅按用户明确要求进行修改,不添加用户未要求的风格、文字、商品属性或场景。 +``` + +最终渲染内容必须保存到 `generations.rendered_prompt`。 + ### 身份、安全和文件 22. MVP-0 只提供受控种子/引导用户,不开放注册;未来注册、找回密码、邮件验证和反滥用需独立设计。 @@ -83,7 +105,6 @@ synchronized_at: 2026-08-20T07:04:20Z 以下值尚未确认,实施或上线前必须由负责人确认,Agent 不得猜测: -- 默认中性 prompt template 的准确措辞和变量格式; - 上传数量、单文件/总大小、MIME、像素上限; - 上游/存储超时、lease 时长、安全余量、worker 数和最大重试; - 首个 Provider/模型、真实连通性检查的最小请求与冷却时间; diff --git a/docs/05-common-changes.md b/docs/05-common-changes.md index adf591c..05cbc99 100644 --- a/docs/05-common-changes.md +++ b/docs/05-common-changes.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Common-Changes wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Common-Changes.- -wiki_revision: ec313fafcc8df6060e650e3d9ddf95be8d7eb63f -synchronized_at: 2026-08-20T07:01:20Z +wiki_revision: d7d778dd5f6e2a2b007371c6ce07f8adc4469638 +synchronized_at: 2026-08-20T08:30:34Z # 常见修改指南 @@ -33,7 +33,7 @@ synchronized_at: 2026-08-20T07:01:20Z 默认模板是 `prompt_templates` 数据,不是 Go 常量: - MVP-0 只读取 kind 默认模板,第一张图 primary、其余 reference; -- 中性默认措辞尚未确认,不能自行沿用 cmhub 电商文案; +- 2026-08-20 已确认 `chat` 与 `images_edits` 中性默认模板;只开放 `{{.UserPrompt}}`,具体内容见业务规则,不得改回 cmhub 电商文案; - MVP-1 才允许用户 role_rule、每图 role/note 和排序; - 修改后优先用 mock 生成并核对 `rendered_prompt`,真实上游只做一次经授权的低成本验收。 diff --git a/docs/09-product-requirements-overview.md b/docs/09-product-requirements-overview.md index bd9285e..b29efd1 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: 8b37c55fc3231b78c9b0a9d8cd99ce6e7357c312 -synchronized_at: 2026-08-20T07:04:43Z +wiki_revision: 35a075820d0985d1441da30ab52460384d63971c +synchronized_at: 2026-08-20T08:30:48Z # 产品需求总览 @@ -29,13 +29,13 @@ synchronized_at: 2026-08-20T07:04:43Z ## 当前需求索引 -工单 [#1](https://git.ilapage.cn/OPC/chorus/issues/1) 正在更新本项目长期技术基线,不代表产品功能已经进入开发。产品功能仍需按下表分别完成设计门禁并建立单元工单。 +工单 [#1](https://git.ilapage.cn/OPC/chorus/issues/1) 已完成长期技术基线整理和验收。产品功能尚未进入开发,仍需按下表分别完成设计门禁并建立单元工单。 | 需求领域 | 用户与场景 | 需求状态 | MVP | 详细说明 | 实施工单 | 设计证据 | |---|---|---|---|---|---|---| | 核心生成域与单上游 | 用户提交提示词/原图得到结果 | 已确认 | MVP-0 | [架构](Architecture-and-Code-Map.-)、[业务规则](Business-Rules-and-Glossary.-) | 待建 | 架构/数据/状态设计 | | 用户端生成页 | 种子用户登录并完成一次异步生成 | 已确认 | MVP-0 | 本页“用户端布局与状态” | 待建 | 新页面 HTML 原型待制作/确认 | -| 默认 prompt template | 系统以数据配置而非硬编码合成提示词 | 待确认(具体措辞) | MVP-0 | [业务规则](Business-Rules-and-Glossary.-) | 待建 | 文案与变量设计待确认 | +| 默认 prompt template | 系统以数据配置而非硬编码合成提示词 | 已确认 | MVP-0 | [业务规则](Business-Rules-and-Glossary.-) | 待建 | 2026-08-20 已确认中性模板与 `{{.UserPrompt}}` | | 多 Provider 路由与故障转移 | 单上游故障时继续服务 | 已确认 | MVP-1 | 业务规则“选路与上游” | 待建 | 架构/状态设计 | | 管理端配置与记录 | 运营配置模型、路由池并排障 | 已确认 | MVP-1 | 本页“管理端页面” | 待建 | 复用型/定制页原型待确认 | | 图片角色编辑 | 用户编辑 role_rule、角色、备注与顺序 | 已确认 | MVP-1 | 业务规则“提示词与上传” | 待建 | 组件状态与键盘交互原型 | @@ -165,7 +165,6 @@ MVP-2 的 API Key 存哈希、身份仍属于 `users`。提交、查询、幂等 ### 风险与待定 -- 默认中性 prompt template 的准确措辞和变量格式; - 上传数量/大小/MIME/像素、超时/lease/worker、限流的生产值; - 首个真实 Provider/模型和连通性测试最小请求; - 生成物保留期、备份、磁盘告警、RPO/RTO;