Repository navigation
支持 DeepSeek Harness 插件安装:宿主级挂载连续性插件并完成本机安装 #102
Copy link
Copy link
Closed
Description
Activity
验证更新(实施完成,待独立验收)
- A1:PASS(两态)
- fixture:
node --test tests/platform-capabilities.test.mjs48/48,新增 4 个 DSH 用例——home patchinsert挂载 →hooksPASS;profile patch 绝对路径 → PASS;foreign 行与node_modulesbundle patch 忽略 → 保持 MANUAL;DSH_HOME覆盖生效。 - 本机:
node scripts/verify-install.mjs --platform dsh→[PASS](skills 12/12、version 0.17.1、hooks 1/1 mounted via/Users/carver/.dsh/cordis.patch.yml)。
- fixture:
- A2:PASS(真实 headless 会话,三面证据)
- 治疗组(坏状态 + 插件挂载):Agent 停止前被纠正消息打断;状态文件 140 → 2996 字节,
validateState复核{managed:true, managedBy:"scd-quickdev", issues:[]};随后允许停止,exit 0。 - 对照组(坏状态 + 未挂载):直答"2",文件原样 140 字节。
- 负向(挂载 + 无状态文件):直答"4",静默不干预。
- 治疗组(坏状态 + 插件挂载):Agent 停止前被纠正消息打断;状态文件 140 → 2996 字节,
- 附加组合证据:
dsh --profile headless|web --dump-config均含thinloop-continuity行、零 patch 错误;裸行形式实测被拒(entry "thinloop-continuity" not found),文档记录了正确的insert形式。 - 全量
node --test tests/*.test.mjs:266/269;3 个失败在干净main同样失败(本机代理环境 stderr 噪声,与差异无文件交集)。 check-version(11 surfaces 0.17.1)、sync-routing-kernel --check、四个评测定义校验:全部 PASS。- PR:DSH 插件化安装:宿主级挂载连续性插件(v0.17.1) #103(分支
feat/102-dsh-plugin-install,提交64a6610,17 文件 +433/−59)。
任务账目
- T1:DONE——provenance 改为
{ kind: "plugin", plugin: "thinloop-continuity" },结构测试断言通过。 - T2:DONE——
.dsh-plugin/README.md、docs/installation.md、docs/verification.md三处同步。 - T3:DONE——
config/platform-capabilities.json挂载描述 +verify-install.mjs只读挂载检查(无 CLI 探测)。 - T4:DONE——4 个新 fixture 用例 + 插件结构断言(
plugin-compatibility.test.mjs)。 - T5:DONE——11 处版本表面 0.17.1 +
docs/releases/v0.17.1.md。 - T6:DONE——本机
~/.dsh/cordis.patch.yml已挂载;陈旧~/.dsh/.agent-presets/standard-thinloop/已移除(备份于/tmp/standard-thinloop-preset-backup);--dump-config组合核对通过;desktop 宿主需重启后生效(启动时应用 patch 层,已在文档与发布说明标注)。
完成审计:验收闭合(A1/A2 有直接证据);实施账目闭合(T1–T6 DONE);交付状态:待 CI、独立验收与合并。
- A1:PASS(两态)
完成审计(最终)
独立验收
已实际调用独立的新上下文子智能体(不继承实施对话;调用标识
e5c90807-d755-407d-94ea-01ae7db1f77f,目标版本feat/102-dsh-plugin-install@64a6610)。它亲读 Issue #102 与 PR #103 全部 762 行差异,独立复跑:平台测试 48/48、插件契约测试 8/8、check-version(11 surfaces 0.17.1)、verify-install --platform dsh挂载态 PASS、临时DSH_HOME未挂载态 MANUAL、dsh --profile headless --dump-config组合含thinloop-continuity且无 patch 错误、A2 证据链(治疗组 2996 字节 +validateStateissues:[] + stderr 打断记录;对照组 B 140 字节原样;C 空目录)、本机安装态与 CI。结论 PASS,无 BLOCKED 项。三本账
- 验收闭合:A1 PASS(两态直接证据);A2 PASS(真实 headless 会话三面证据)。
- 实施账目:T1–T6 全部 DONE(明细见前次评论)。
- 交付状态闭合:PR DSH 插件化安装:宿主级挂载连续性插件(v0.17.1) #103 已合并(merge commit
9870a3e),本地/远端任务分支已删除,无任务工作树,仓库无.scd/tasks/current.md(不适用),main与origin/main一致且包含验收过的差异。
合并后安装核对(AGENTS 规程)
- DeepSeek Harness:
verify-install --platform dsh→ PASS(skills 12/12、version 0.17.1、hooks 1/1 mounted via~/.dsh/cordis.patch.yml)。desktop 宿主需重启后应用 home 级挂载(启动时应用 patch 层)。 - Codex:PASS(链接指向当前源码,0.17.1)。
- Claude Code:已用原生
plugin marketplace update+plugin update刷新 → PASS(thinloop 0.17.1,manifest/skills/hooks 全部一致)。 - ZCode:UNVERIFIED(命名缺口,非本交付引入)——
verify-install的 ZCode 探测无法解析当前 CLI 的裸数组输出(前置缺陷,DSH 插件化安装:宿主级挂载连续性插件(v0.17.1) #103 未触碰该路径),刷新脚本因此拒绝执行,已安装端停留 0.17.0。跟踪于 verify-install 的 ZCode 探测无法解析当前 plugins list --json 输出形状 #104;未将其视为 PASS。
Metadata
Metadata
Assignees
Labels
No labels
结果与范围
用户要求 Thinloop 以插件形式真正安装进 DeepSeek Harness(DSH)。当前状态:十二个 Skill 已链接到
~/.dsh/skills,但连续性 Cordis 插件.dsh-plugin/continuity.mjs未挂载——~/.dsh/cordis.patch.yml为空数组,旧文档要求把它手工加进 agent preset 的agent.cordis.yml,且本机残留一份已与 0.1.5-rc.1 shippedstandardpreset 漂移的~/.dsh/.agent-presets/standard-thinloop/拷贝。范围内:
$DSH_HOME/cordis.patch.yml,必要时含 profile 层),覆盖全部 preset(含 Electron desktop),消除 preset 拷贝漂移;plugin来源(对齐官方dsh-hooks-codex桥的 Stop 处理);.dsh-plugin/README.md、docs/installation.md、docs/verification.md同步新挂载与验证方式;config/platform-capabilities.json与scripts/verify-install.mjs增加只读挂载检查(无 CLI 探测,纯文件系统);standard-thinlooppreset、完成组合与运行时验证。范围外:其他平台行为、Skill 内容、DSH 源码修改、DSH 宿主升级。
方案与确认
实施方案:DSH 的 profile 组合顺序为 bundle patch → profile
cordis.patch.yml→ home 级$DSH_HOME/cordis.patch.yml;desktop 宿主经runProfile使用同一组合代码(apps/desktop-host/src/index.ts),因此 home 级行对所有 profile 生效。dsh-scope的事件过滤规则允许未打标签的宿主监听器接收 agent 作用域派发的agent/turn-stopping(祖先可观察后代活动),与官方dsh-hooks-codex/dsh-hooks-claude-code桥的挂载形态一致,无需复制 agent preset。挂载行使用file:///绝对 URL 指向源码检出内的.dsh-plugin/continuity.mjs。方案确认:需要确认:否;状态:默认免确认。
验收与任务
node scripts/verify-install.mjs --platform dsh能识别挂载状态——挂载行存在且指向当前源码时hooks检查为PASS;未挂载时保持MANUAL(skills-only 安装仍是受支持形态);fixture 测试覆盖两态。.scd/tasks/current.md时 Agent 停止前被纠正消息打断并补齐;无状态文件时静默不干预。.dsh-plugin/continuity.mjs纠正消息source改为{ kind: "plugin", plugin: "thinloop-continuity" }。.dsh-plugin/README.md、docs/installation.md、docs/verification.md的挂载与验证说明。config/platform-capabilities.json增加 DSH 挂载描述,scripts/verify-install.mjs增加只读挂载检查。tests/platform-capabilities.test.mjs预期并新增挂载检查测试;tests/plugin-compatibility.test.mjs增加 DSH 插件结构断言。docs/releases/v0.17.1.md。~/.dsh/cordis.patch.yml写入挂载行;移除陈旧~/.dsh/.agent-presets/standard-thinloop/;dsh --profile web --dump-config组合包含插件行;提示 desktop 需重启生效。验证
完成审计