合并 AI 设计多会话客户端
整合 Enter 发送与多会话交互,保留服务端持久 Conversation Session,并补齐迁移、回归、Electron E2E 与 canonical 文档。
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# ADR-001: AI 绘画 Workspace / Conversation 状态归属
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Date
|
||||
|
||||
2026-08-11
|
||||
|
||||
## Context
|
||||
|
||||
旧客户端把一个 AI 绘画 Workspace 等同于一条持续对话,并由客户端按 Workspace 创建和回收临时 Agent Session。多会话产品模型要求同一设计项目内存在多条独立对话,同时保留项目级生成任务与资产。继续沿用旧 Session 所有权会让注销时的远端 DELETE 破坏 Conversation 的持久上下文。
|
||||
|
||||
## Decision
|
||||
|
||||
- Workspace 持有项目身份、Conversation 列表、生成任务和资产。
|
||||
- Conversation 持有消息、Brief、Quote、`turnRevision` 以及服务端持久 Agent Gateway Session 的绑定。
|
||||
- 新建 Conversation 不创建新 Workspace;切换 Conversation 只读取该对话并重连其事件流,项目级任务和资产保持可见。
|
||||
- Conversation 异步与流式更新必须同时校验 Workspace + Conversation 身份;Task 更新按 Workspace 归并。
|
||||
- 客户端不创建、旋转或在注销/退出时 DELETE 服务端持久 Conversation Session。终端清理只关闭本地流、清除本机 Session-id 缓存和本地凭据;后续访问重新从 Conversation API 读取 Session。
|
||||
- 未打包的本地开发适配器把旧单会话 schema v2 迁移为带默认 Conversation 的 schema v3;该适配器不得成为打包应用的云端失败回退。
|
||||
|
||||
## Rationale
|
||||
|
||||
该分层与用户可见的“一个设计项目,多条独立会话,共享生成结果”一致,并让 Session 生命周期由持久化 Conversation 的服务端权威管理。Workspace + Conversation 双重身份和 generation/revision 防护可以阻止切换过程中的迟到异步结果污染当前对话。
|
||||
|
||||
## Consequences
|
||||
|
||||
- 客户端发布前必须先部署服务端迁移 `0033` 与多 Conversation API。
|
||||
- 退出登录不会删除远端 Conversation Session;服务端继续通过认证与授权控制访问。
|
||||
- Renderer、Host API、云端适配器和本地开发适配器都必须保持相同的 Workspace / Conversation / Task 所有权语义。
|
||||
- Conversation 数量增长后可能需要分页和搜索;当前侧栏只内联展示近期会话。
|
||||
|
||||
## Supersedes
|
||||
|
||||
- 旧的未文档化“每个 Workspace 由客户端创建并在注销时删除临时事件 Session”实现。
|
||||
|
||||
## Related
|
||||
|
||||
- `498089401708dc08123141891dba9b54e47cefea`
|
||||
- `03dae62cf35d643bba253d1013579cc3f4f528e4`
|
||||
- `.project-docs/30-worklog/tasks/20260806-design-multisession-ui-4e7d.md`
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
| ID | Decision | Status | Date | Applies To | Detail |
|
||||
|---|---|---|---|---|---|
|
||||
| ADR-001 | AI 绘画采用 Workspace / Conversation / Task 分层状态与服务端持久 Conversation Session | Accepted | 2026-08-11 | AI 绘画客户端、Main 适配器、Works Square API | `adr-001-ai-design-conversation-ownership.md` |
|
||||
|
||||
## Superseded Decisions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user