dsh-greet-plugin:給 DeepSeek Harness 加一個最小 greet 工具的插件

前言

在 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、幻方無官方從屬關係。

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

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

小夜