dsh-greet-plugin: A minimal greet tool plugin for DeepSeek Harness

前言

在 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、幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye