Files
deepseek-harness/docs/rfc/rejected/simplification/2026-06-20-drop-acp-session-load.zh.md
T
Ziya 2565133af3 docs(i18n): RFC tree batch — 146 bilingual pairs via the committed pipeline
implemented(除 4 篇超长文档随后补)、proposed、rejected 全树配对;
同一流水线 + 二遍校验(paraphrase-back + 仓库上下文一致性)产出。
docs/rfc/implemented/AGENTS.md 与其 CLAUDE.md 符号链接列入排除
(agent 指令文件,与根 AGENTS.md 同策略)。
2026-07-15 23:25:06 -07:00

30 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RFC:移除 ACP session/load,待恢复功能具备产品形态后再引入
Status: rejected — Zed is the current target ACP client, advertises and exercises load-capable sessions, and keeps pending-load state for concurrent `session/load`. The bridge should keep `session/load` and make the resume contract solid.
[English](2026-06-20-drop-acp-session-load.md) | 中文
## 问题
ACP(Agent Client Protocol)当前通告 `loadSession: true` 并实现了 `session/load`:向 bridge 注入持久化能力、校验 cwd 与存储元数据的一致性、从持久化日志重建 agent、并向客户端回放先前的 transcript(文本记录)更新。这条路径有自己的竞态处理、loading-id 守卫、回放展示逻辑和测试。它还依赖规范日志保留足够的 UI 数据来重建旧的分片和工具展示。
持久化本身仍是基础能力,但编辑器可见的恢复功能尚未经过产品流程设计。目前没有会话选择器、没有标题/预览元数据,对加载失败或部分加载也没有清晰的用户体验。bridge 正在为一个仅由测试、文档和当前目标客户端的会话模型所使用的功能承担复杂度。
## 提案
暂时只支持新建会话。`initialize` 通告 `loadSession: false` 或省略该能力,`session/load` 不予支持。持久化仍可供 agent loop(智能体循环)和测试使用;如果其他消费方需要,恢复功能仍可作为底层工厂存在。编辑器 bridge 应在具备真正的会话选择 UX 和稳定的加载 transcript 契约后,再重新引入 `session/load`。
## 验收标准
- ACP 不再仅为 `session/load` 注入 `sessionPersistence`。
- `initialize` 不通告加载支持。
- `session/load` 处理器、loading-id 追踪、已加载会话的 cwd 预检以及加载回放测试全部移除。
- 快照 fixture(测试前置数据)不再依赖加载回放的展示逻辑。
- [ACP 文档](../../../../packages/ui/acp/README.md)仅描述新建会话的支持。
## 放弃了什么
编辑器无法通过 ACP 重新打开先前持久化的会话。这确实是一个有价值的产品功能,但当前实现超前于 UX 设计,且将 bridge 绑定在 token 级别的日志回放上。保留持久化但移除编辑器加载,将 bridge 收窄到它当前能干净呈现的工作流。
<!-- rfc-format: alternatives-not-recorded (pre-format RFC) -->