前言¶
DeepSeek Harness(DSH)中,创造模式(agent-presets)的运行时检查与动态插件能力由官方预设提供。但官方实现依赖进程级单例注册表 cordisInspect,导致该预设无法被复制使用——复制品无法挂载,因为会触发“provider 已注册”的错误。本插件将这套能力重构为宿主层的普通工具集,不向 cordisInspect 注册 provider,从而允许创造模式预设被复制并在任意会话中复用。
核心功能¶
本插件提供以下工具:
| 工具 | 作用 |
|---|---|
cordis_inspect_list |
列出检查面:四个宿主 provider(Service / Event / Builtin / Tool),加上从浏览器页面镜像来的客户端 provider |
cordis_inspect_query |
只读查询。宿主查询本地执行;客户端查询转发给已连接的页面,页面应答才返回 |
cordis_inspect_self |
看本会话拥有的动态插件、包版本、运行诊断与源码 |
cordis_define |
记录一个不可变的 Package(宿主半边 / 客户端半边)。只记录源码,不执行、不改变运行版本 |
cordis_run |
激活一个 Package:首次运行用 run,换版本用 update,回滚也用 run |
cordis_stop |
停掉当前运行,保留定义、版本与授权,之后可以直接再跑 |
cordis_undefine |
永久删除插件及其全部版本 |
安装与启用¶
在 DSH 的 profile 目录(默认 ~/.dsh/profiles/web)里执行:
pnpm add 'github:leolee9086/dsh-tool-cordis-local#v0.1.0'
安装后,通过补丁层或bundle方式挂载(二选一):
方式一:profile 补丁层加一行
在 ~/.dsh/profiles/web/cordis.patch.yml 中插入:
- insert:
- id: tool-cordis-local
name: dsh-tool-cordis-local
方式二:作为 bundle 挂载
在 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 中添加 "dsh-tool-cordis-local"。
安全与边界¶
本插件的核心价值在于它能让模型定义并运行任意 JavaScript(宿主半边在 Harness 进程内执行),因此必须谨慎对待:
- 权限风险:把挂着它的会话当作 shell 权限来对待。不要在不信任的会话里开放它。
- 代码执行:
cordis_define与cordis_run是唯一会真正执行代码的入口,执行发生在 Harness 进程内部,不经过沙箱。 - 会话要求:所有工具都要求
exec.agent,脱离会话调用会明确报错。 - 生命周期:动态插件是进程内的临时产物,重启进程后定义消失(与官方 runner 的行为一致)。
- 只读与执行:
cordis_inspect_query是只读的,不能调用业务服务方法或改运行时;cordis_define仅记录源码,不执行。
总结¶
dsh-tool-cordis-local 解决了 DSH 创造模式预设无法复制的问题。它通过不注册进程级 provider 的方式,将运行时检查和动态插件生命周期封装为宿主层工具。安装前请务必通读源码,确认安全性。
- GitHub 仓库:https://github.com/leolee9086/dsh-tool-cordis-local
- 社区目录:https://www.skillhub.cn/plugins/leolee9086/dsh-tool-cordis-local