Back to home@ABccgh

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               内容来源说明

安装智能体预设

  1. 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)。

  2. 重启 DSH(新进程),在新会话的预设选择器中选择「DSH 插件开发」。

  3. 建议在该预设会话中验证:工具列表应包含 cordis_inspect_*cordis_definecordis_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 工具集的会话(如 cordisplugin-dev 预设)中运行:

  1. cordis_defineplugin.kind = "new"idPrefix 自定(3-6 位小写字母);把 plugins/ 中某个文件的函数体粘贴进 code.host
  2. cordis_run:用返回的 pluginId + packageId,mode run
  3. 修复:失败后 cordis_inspect_self 读诊断,追加新 Package,mode update

注意:

  • 动态插件是进程临时的,重启后消失;要固化,请把它写进预设组合文件。
  • 含 Client 代码的包需要审批;审批策略为 never 的会话会被自动拒绝。templates/client-ui-plugin.js 是完整 Client 示例。

插件清单

插件工具说明
hello-plugindemo_hello demo_fs demo_web demo_remind demo_events + RPC demo/hello-rpc覆盖模型工具、私有 RPC、fs/web 服务消费、timer 注入、ctx.on 事件计数、插件内状态
devkit-pluginplugin_scaffold(tool/ui/full/event/timer 五种骨架)、plugin_lintplugin_checklistplugin_troubleshoot插件开发全流程辅助

许可

MIT。agent-preset/ 中的组合行与 skills/ 源自 @deepseek-ai/dsh(MIT © 2026 DeepSeek),其余为本仓库作者原创,详见 LICENSENOTICE.md