dsh-plugin-dev
DSH dynamic Cordis plugin development: agent preset, demo plugins and templates
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 23, 2026
- Updated
- Aug 23, 2026
Introduction
dsh-plugin-dev
专用于 DeepSeek Harness 动态 Cordis 插件开发的智能体预设(agent preset),以及配套的演示插件、辅助工具插件与代码模板。
- 智能体预设:从部署内置
cordis预设复制而来,persona 专精化为插件开发工作流(inspect → define → run → repair),保留cordis全部能力;并内置 preset 创作工具集(preset_list / preset_read / preset_copy / preset_validate / preset_validate_all / preset_remove / preset_default / preset_files)与运行时内省(runtime_services / runtime_tools),可把原型固化为预设并真实挂载校验。 - 相关插件:一个演示插件(服务消费、定时器、事件监听、状态)和一个插件开发辅助工具集(代码骨架生成、静态检查、流程清单、报错定位)。
- 模板:最小 Host 工具模板与 Client Slot UI 双半模板。
目录结构
agent-preset/ 智能体预设(安装目录 = 本文件夹复制到 ${DSH_HOME}/.agent-presets/plugin-dev/)
agent.cordis.yml 组合文件(复制自 cordis 预设,persona 已专精化)
preset.yml 显示名「DSH 插件开发」与描述
plugins/
agent-builder-tools/ 预设本地插件:preset_* 创作工具集 + runtime_* 运行时内省(CJS、零 harness 依赖)
skills/ 三个技能:cordis-plugin-development、dsh-agent-development、editing-cordis-compositions
plugins/ 相关插件完整源码(粘贴到 cordis_define 的 code.host 即可运行)
hello-plugin.js 演示插件:demo_hello / demo_fs / demo_web / demo_remind / demo_events + RPC
devkit-plugin.js 辅助工具:plugin_scaffold / plugin_lint / plugin_checklist / plugin_troubleshoot
templates/ 可复用模板
host-tool-plugin.js 最小 Host 模型工具
client-ui-plugin.js Host RPC + Client Slot UI(含审批说明)
LICENSE MIT(DeepSeek + 本仓库作者双版权行)
NOTICE.md 内容来源说明
安装智能体预设
-
将
agent-preset/复制为预设目录(以 Windows 为例):Copy-Item -Recurse agent-preset "$env:USERPROFILE\.dsh\.agent-presets\plugin-dev"对应规则:
${DSH_HOME:-$HOME/.dsh}/.agent-presets/<id>/(本仓库的预设 id 为plugin-dev)。 -
重启 DSH(新进程),在新会话的预设选择器中选择「DSH 插件开发」。
-
建议在该预设会话中验证:工具列表应包含
cordis_inspect_*、cordis_define、cordis_run,以及preset_*/runtime_services/runtime_tools预设创作工具。
⚠ 共存限制(部署层):
@deepseek-ai/dsh-tool-cordis把 Host Inspect provider 注册进进程级cordisInspect注册表且拒绝重名,因此同一进程中只能挂载一个 cordis 系预设。已运行cordis(或另一个 cordis 系预设)会话的进程中,plugin-dev挂载会报Host Cordis inspect provider "Service" is already registered。切换预设需重启进程。
运行相关插件
两个插件都是纯 Host 动态插件,可直接在任意具备 cordis 工具集的会话(如 cordis 或 plugin-dev 预设)中运行:
cordis_define:plugin.kind = "new",idPrefix自定(3-6 位小写字母);把plugins/中某个文件的函数体粘贴进code.host。cordis_run:用返回的pluginId+packageId,moderun。- 修复:失败后
cordis_inspect_self读诊断,追加新 Package,modeupdate。
注意:
- 动态插件是进程临时的,重启后消失;要固化,请把它写进预设组合文件。
- 含 Client 代码的包需要审批;审批策略为
never的会话会被自动拒绝。templates/client-ui-plugin.js是完整 Client 示例。
插件清单
| 插件 | 工具 | 说明 |
|---|---|---|
| hello-plugin | demo_hello demo_fs demo_web demo_remind demo_events + RPC demo/hello-rpc | 覆盖模型工具、私有 RPC、fs/web 服务消费、timer 注入、ctx.on 事件计数、插件内状态 |
| devkit-plugin | plugin_scaffold(tool/ui/full/event/timer 五种骨架)、plugin_lint、plugin_checklist、plugin_troubleshoot | 插件开发全流程辅助 |
许可
MIT。agent-preset/ 中的组合行与 skills/ 源自 @deepseek-ai/dsh(MIT © 2026 DeepSeek),其余为本仓库作者原创,详见 LICENSE 与 NOTICE.md。