前言¶
在 DeepSeek Harness(dsh)里,agent 能调用哪些工具,取决于启动时挂载了哪些插件。想动手写插件时,常见的问题是缺一个足够小的参照:工具怎么声明、默认配置放在哪里、装完之后怎么验证。下面介绍的 dsh-greet-plugin 就是这样一个最小实现——它只做一件事:给 agent 加一个 greet 工具,问候语可配置。相比一上来就通读完整项目的源码,从它入手能更快看清 dsh 插件的基本结构。
这是什么¶
dsh-greet-plugin 是一个面向 DeepSeek Harness(dsh)的最小 greet 工具插件,由 luxiu666 维护,采用 MIT 许可证。一句话定位:给 dsh 挂载一个 greet 工具,agent 调用时传入 name,返回 <greeting>, <name>!,其中问候语可以按需修改。
核心功能¶
1、添加 greet 工具。agent 调用时传入 name: string,返回 <greeting>, <name>!。
2、问候语可配置。默认值 greeting: 'Hello' 存放在插件自带的 cordis.patch.yml 中,不需要改代码就能覆盖。
3、开箱即用。仓库自带预构建产物(lib/),安装时不运行构建脚本,也不需要 allowBuilds 配置。
安装与启用¶
运行要求:Node.js ^22.19 || >=24,以及 dsh 本体。
安装命令如下(命令中的 <you> 是占位符,需要替换为实际的用户名或组织名):
dsh plugin --profile web add github:<you>/dsh-greet-plugin#v0.1.0
因为仓库内已经包含 lib/ 预构建产物,这条命令执行时不会触发构建脚本。
注意:安装或修改配置后需要重启 dsh,插件的注册发生在启动时。
配置与验证¶
先确认默认配置。greeting 的默认值是 'Hello',存放在插件的 cordis.patch.yml 里。想换问候语,在你的 profile 自己的 patch 层覆盖即可:
- id: greet-plugin
name: dsh-greet-plugin
config:
greeting: '你好'
重启 dsh 后进行验证。向 agent 提问:
Use the greet tool to greet Ada.
预期返回 Hello, Ada!(如果你改过 greeting,则返回你配置的问候语)。
开发调试¶
如果你想基于它改出自己的插件,仓库提供了三个脚本:
pnpm install
pnpm check # typecheck + build
pnpm dsh --profile web --dump-config # 查看挂载层
1、pnpm install 安装依赖;
2、pnpm check 依次执行 typecheck 与 build;
3、pnpm dsh --profile web --dump-config 输出配置的挂载层,用来确认插件是否按预期挂载。
适用场景与注意¶
适合的人群:
- 想给 dsh agent 增加简单自定义工具的开发者,
greet本身可以直接用,结构也可以对照着改; - 刚接触 dsh 插件机制、需要一个最小可运行样例的人。
使用前的注意事项:
1、插件以当前 dsh 进程的权限运行,安装前应先检查源码与许可证;
2、本插件采用 MIT 许可证(来自 package.json);
3、每次安装或修改配置后都要重启 dsh,否则改动不会生效(插件注册发生在启动时);
4、安装命令中的 <you> 是占位符,不要原样执行。
结尾¶
回顾一下:dsh-greet-plugin 胜在够小——一个工具、一个配置项、免构建安装,装上重启即可验证。对想了解 dsh 插件如何声明工具与组织配置的开发者来说,它是一个合适的起点。
插件目录页:https://www.skillhub.cn/plugins/luxiu666/dsh-greet-plugin
源码仓库:https://github.com/luxiu666/dsh-greet-plugin
其中目录页为社区维护的独立站点,与 DeepSeek、幻方无官方从属关系。