docs(integrations): add DeepSeek Harness control-plane adapter doc - #3201
docs(integrations): add DeepSeek Harness control-plane adapter doc#3201cocolord wants to merge 1 commit into
Conversation
Describe dsh's Cordis plugin architecture as a natural control-plane target: session log, capability seam, profiles/bundles, and the layer boundary between dsh host, LoopX control plane, and product surface. Cover read-only projection, controlled writeback, and observer-bundle phases with concrete Cordis key mappings. Link from the existing connector and integrations README. Co-authored-by: TRAE CLI <noreply@bytedance.com>
huangruiteng
left a comment
There was a problem hiding this comment.
详细中文评审:DeepSeek Harness 控制面适配器文档(PR #3201)
评审目标 head:baa3f26351655f1c5ad48e7388ba77312ee4485c(base: main,1 个 commit,3 个文件,+147)
动机
#3188 合入后,deepseek-harness-connector.md 已经把 dsh 作为受控 Turn host 的接入方式讲清楚了;本 PR 想再补一层"控制面适配器"视角:把 dsh 的 Cordis 插件架构(session log、能力 seam、profiles/bundles)描述成 LoopX 的长周期任务控制面目标,并给出分层边界、三阶段适配路线(只读投影 / 受控写回 / observer bundle)和 key seam 映射。方向合理——把"dsh 是执行 host、LoopX 是控制面"的边界写成公共文档,对使用者有价值。
改动思路
文档结构清晰:先讲 dsh 为什么是自然的控制面目标(全插件架构、append-only session log、typed service seam、声明式 composition),再用分层表划定 dsh host / LoopX / product surface 各自的职责边界,随后给出 Phase 1-3 路线、Cordis key 映射表、session log 投影示例和非目标清单。链接分别加到 integrations README 与既有 connector 文档。
具体改动
docs/integrations/README.md(+1):新增文档入口链接。docs/integrations/deepseek-harness-connector.md(+1):Related Contracts 里加链接。docs/integrations/deepseek-harness-control-plane-adapter.md(+145):新文档主体。
关键内容讲解
- 分层边界表是全文最有价值的部分:dsh host 拥有 agent 定义/运行时配置/Cordis 树/session log/工具执行/模型流/沙箱/计费/trace,LoopX 拥有 goal 状态/run 投影/operator gates/quota/todo/work-lane/evidence pointers/handoff packets,产品面拥有任务卡/审批/进度/恢复入口。这与 #3188 的 connector 边界一致,没有越权主张。
- Cordis key 映射表(
ctx.sessions/ctx.agents/ctx.tools/ctx.llm/ctx.systemPrompt)作为"可观察 seam"的架构描述是合理的,且写明"reading 不 mutate host state"。 - Non-goals 覆盖了 raw transcript/凭据/沙箱/计费等隐私与职责边界,符合仓库 public/private 纪律。
对主干的风险
阻塞项(docs 事实准确性):文档把尚不存在的实现写成了"已连接/已完成"。
- 状态行写
Status: public-safe architecture target, read-only projection v0 connected; - Phase 1 小节写 "The read-only map bootstrap (Phase 1 entry) is already complete",并给出可执行命令;
- 示例给出
schema_version: dsh_session_readonly_projection_v0,像是一个已落地的契约。
我在 exact head 全仓库检索了 dsh-loopx-observer 与 dsh_session_readonly_projection:没有任何实现、代码或 schema 定义(本 PR 是纯文档)。这会误导读者认为该适配器已经存在、可以直接 loopx bootstrap --adapter-kind read_only_project_map_v0 连接 dsh 并得到该投影 JSON。仓库里 #3188 的官方口吻是 "dsh is still in developer preview; experimental connector",新文档应与之一致。
修复建议(小而聚焦):
- 状态行改为 "planned architecture target; no adapter implementation in this repository yet"(或同等措辞);
- "already complete" 改为 "planned entry point; the command is illustrative and becomes valid when the adapter lands";
- 示例 JSON 加 "illustrative / planned schema" 标注,或去掉
schema_version以免被当成已发布契约; - 顺手补文件末尾换行。
非阻塞观察:dsh-loopx-observer bundle 的 Cordis 事件名(session/event、agent/step 等)来自外部 dsh 架构,无法在本仓库验证,建议在文档中标注"以 dsh 上游文档为准"。
我的整体评价
架构叙事、分层边界和 non-goals 都写得不错,方向值得保留;但"已连接/已完成/已定义 schema"属于公开文档里的事实性超卖,必须先修正再合入。结论:REQUEST_CHANGES(单点、聚焦文档措辞)。
English Verdict (PR #3201)
- Exact head reviewed:
baa3f26351655f1c5ad48e7388ba77312ee4485c - Verdict: REQUEST_CHANGES
- Key finding: The layered-boundary and non-goals content is solid, but the doc overclaims shipped status: it states the read-only projection is "connected"/"already complete" and presents
dsh_session_readonly_projection_v0as a real schema, while no implementation, plugin, or schema exists anywhere in this repository (the PR is docs-only). Public docs must not tell users a connector is ready when only a design target exists. - Required fix: soften the status line and Phase 1 wording to "planned/illustrative", mark the example JSON schema as illustrative (or drop the schema_version), add the trailing newline, and note that Cordis event names are per upstream dsh docs. CI build and dependency-review are green.
Summary
Add a control-plane adapter document that describes DeepSeek Harness (dsh) as a natural LoopX control-plane target. The doc covers:
ctx.sessions,ctx.agents,ctx.tools,ctx.llm,ctx.systemPrompt) to LoopX projection targetsAlso link the new doc from the existing connector and integrations README.
Test Plan