Skip to content

插件开发:写一个自己的 plugin(加新能力) ​

这是"框架扩展"的核心动手。做完它,你就真的给 DSH"加了一样本事"了。

📖 理解轨:plugin 到底怎么加 ​

plugin 就是一段能插进 DSH、让它多一个新能力的代码/配置。你把它放在约定好的位置,DSH 启动时就会"接上"它。

  • 打个比方:给瑞士军刀加装一个新功能头——插上,它就有这个本事了。
  • 和 skill 的区别:skill 是"教它怎么干某件事"(作业手册);plugin 是"让它多出一样本事"(新能力)。

关键心法:写 plugin 不是重写 DSH,而是在它留好的"接口"里塞进你的一小块功能了。 DSH 已经按"一切皆插件"来设计,你只要按它约定好的样子插。

⚠️ 先看清楚"真格式"再看下面的例子:在真源码里,给 DSH 加一个"能动手的本事",是用 ctx.tools.register(defineTool({...})) 注册一个工具(有名字、描述、参数 schema、execute 执行体)。下面的"它做什么 / 怎么接入 / 输出什么"是帮你先想清楚这三件事的思考骨架——不是某版本的字面文件格式。要抄真实格式,请看深度参考 · 真实接口里那份照着能跑的真工具例子。

🛠 动手轨:最简能跑的一个 ​

我们来做一个超级简单的 plugin,让你立刻有感觉:"给 DSH 的输出加一个特定结尾格式"。

第 1 步:先看一个现成的 plugin 长什么样 ​

动手前,先找到 DSH 里一个现成的 plugin,打开看它的骨架:通常有"这段是做啥的 + 怎么接入 + 输出什么"。照着它的样子来,最省事。

第 2 步:建一个 plugin 文件(跟着填) ​

新建一个文件(放 DSH 约定的插件目录,名字随你、用小写):

# 你的插件名:report-footer(报告落款)

## 它做什么
给 DSH 生成的报告,统一加一个落款。

## 怎么接入
在报告生成结束后,调用这个插件,附加落款内容。

## 它输出什么
一份带落款的报告文本。

(具体字段请以版本页与你 DSH 里现成 plugin 的样子为准——这里教你思路,不背命令。)

再给一个更具体的例子:给它"加一个本事" ​

上面那个是"改输出"。这回是加一个真正的新能力——比如"让 DSH 能输出你们组专用的那种表格":

# 你的插件名:group-table(组内表格)

## 它做什么
让 DSH 生成表格时,自动套用你们组固定的表头和格式。

## 怎么接入
在 DSH 生成表格的环节,调用这个插件,替换成你们的表头。

## 它输出什么
一份带你们组表头的表格。

看出和 skill 的区别了吗?skill 是"教它这件事怎么做"(改标准);plugin 是"让它多一个本事"(加能力)。 上面这个 group-table 是"让它能产出这种表格",是能力。

你可能想加的"能力"清单(挑一个当练习) ​

你想让 DSH 多什么本事你的插件叫啥
输出你们单位固定的文件表头unit-table
给所有图统一加一个水印/角标figure-watermark
把结果自动转成你们要求的格式to-our-format
接进一个 DSH 现在没有的接口connect-my-tool
给生成的内容固定加一句免责声明disclaimer-note

练法:挑一个跟你工作贴的,照着上面的骨架写——它做什么、怎么接入、输出什么。不用一步到位,先跑到"能用"就行。

第 3 步:接入并测一下 ​

让 DSH 跑一个会用到你的 plugin 的场景,看它是不是真的加上了你写的落款。

✅ 做对了的样子:输出的报告末尾,带了你写的落款。 ❌ 卡住了:没生效 → 检查放对位置没有(在 DSH 约定的插件目录)、名字对不对。

你现在做了什么? ​

你给 DSH 加了一个新能力——哪怕很小,这也是从"用 DSH 做东西"跨到"扩展 DSH 本身"了。

两个提醒 ​

  1. 从最简开始:先做"加个落款"这种最小的,跑通,再往上加。
  2. 先读后写,以官方为准:不同版本的插件字段/写法会变,动手前对照版本页和一个现成 plugin,别背旧写法。

接着走 → 架构解读(看懂 DSH 核心结构,知道该往哪儿加)。

社区第三方站点,非 DeepSeek 官方,仅供学习研究使用。具体内容以官方与版本列表为准。