展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 分开依赖服务和工具插件
- 运行真实Cordis最小生命周期测试
- 把监听和工具释放绑定到ctx
- 卸载服务提供者
- 重载提供者并再次probe
- 接入真实DSH工具服务
- 交付dispose与重载回执
1. 分开依赖服务和工具插件
原创originalCatalog服务提供只读资料,dependent插件声明inject。示例工具表是作者Map,不冒充DSH官方Host工具注册表。
2. 运行真实Cordis最小生命周期测试
先安装当前包并执行reference/run_cordis.mjs,记录版本。测试通过事件监听及作者工具Map观察fiber实际加载与卸载。
本题独立目录执行
python reference/audit.py3. 把监听和工具释放绑定到ctx
插件通过ctx.on注册监听,并用ctx.effect返回工具移除函数。直接挂全局监听而不释放是反例,不应靠重载覆盖名称掩盖。
本题SDK或目标环境入口
npm install
python reference/run_sdk.py4. 卸载服务提供者
dispose provider后等待依赖刷新,检查dependent注册的工具是否消失、probe是否不再触发。这里实测的是Cordis依赖生命周期。
5. 重载提供者并再次probe
服务恢复后dependent应重新启动;一次probe只触发一次。保存触发数,避免热重载累计监听。
6. 接入真实DSH工具服务
在匹配版本Host中改用官方工具注册API与最小权限schema,保留源码/配置。作者Map通过不代表Host权限和工具可见性已验收。
7. 交付dispose与重载回执
保留卸载前、依赖缺失、恢复后的工具名和计数;本包不运行LLM、Desktop或真实DSH工具调用。
怎样确认已经完成
- 依赖失效确实撤销注册
- 恢复不出现同名重复工具
- 有顺序依赖的异步清理放同一disposer
- 已在真实Cordis 4.0.5实跑inject依赖卸载/恢复、ctx.on与ctx.effect清理:工具Map撤销后恢复,probe计数1→1→2;作者Map不是DSH Host工具服务,未运行HMR loader、Desktop或LLM。
常见问题
DeepSeek Harness插件依赖失效后工具会自动卸载吗?
声明inject的插件依赖服务失效时会卸载并清理其ctx生命周期资源;本次Cordis实测Map工具从1到0。Map不是DSH Host官方工具表。
DSH插件热重载后怎么避免重复监听和重复工具?
监听用ctx.on,其他注册用ctx.effect返回释放函数;服务恢复后probe只多一次。真实计数1→1→2,未跑HMR loader或真实Host工具。
这篇教程哪些步骤已经真正执行?
已在真实Cordis 4.0.5实跑inject依赖卸载/恢复、ctx.on与ctx.effect清理:工具Map撤销后恢复,probe计数1→1→2;作者Map不是DSH Host工具服务,未运行HMR loader、Desktop或LLM。



