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