dsh-find-skill:爲 DSH 接入技能搜索、安裝與生命週期

前言

DeepSeek Harness(DSH)的理念是「一切皆插件」,社區目錄作爲獨立站點提供插件線索,與 DeepSeek / 幻方沒有官方從屬關係。對智能體開發者來說,常見的問題不只是“能不能裝一個技能”,還包括:技能從哪裏找、裝到哪個作用域、會話結束後是否自動清理。

dsh-find-skill 將 vercel-labs/skills 技能生態橋接到 DSH,提供 LLM 驅動的技能搜索、安裝和生命週期管理,覆蓋臨時、項目、全局三種作用域。

這是什麼

dsh-find-skill 是一個 DSH 插件,維護者爲 Moximxxx,許可證爲 MIT,package.json 版本爲 0.2.1。它把 vercel-labs/skills 生態接入 DSH,使技能搜索、安裝和移除可以在臨時、項目或全局作用域內完成。

運行要求如下:

  • Node.js:^22.19.0 || >=24.0.0
  • peerDependencies:@deepseek-ai/cordis ^4.0.1,以及多個 @deepseek-ai/dsh-* ^0.1.0-rc.6

核心功能

skill_find

skill_find 通過官方 skills.sh API 遠程搜索。候選攜帶安裝數、來源、瀏覽鏈接和本地“已安裝”標記。搜索候選不包含描述,描述在安裝後纔可獲得。

skill_install

skill_install 通過官方 CLI 安裝目標技能:

npx -y skills@latest

它會在隔離的一次性 work/home 環境內抓取,並將目標技能目錄收養到託管作用域。臨時技能僅安裝它的會話可見;項目或全局技能寫入托管根目錄,並通過插件自有的 ctx.skills provider 暴露,rank 默認爲 350,可配置。

skill_remove 與 /skill

skill_remove 支持從臨時、項目、全局作用域移除技能。未指定作用域時,按 臨時 → 項目 → 全局 順序嘗試。

/skill 命令面向人工操作,提供以下子命令:

find
install
update
sync
remove
list

其中 sync 面向 node_modules 中聲明的技能。這類技能沒有遠程來源,update 不可用;需要重新 sync 或手動安裝。

生命週期

臨時技能的生命週期綁定到安裝它的會話。agent 或會話銷燬時,註冊會自動回滾,物化目錄隨 session/disposed 清理。項目或全局技能會持久存在,直到被移除。

Web UI 卡片

dsh-find-skill-client 客戶端包會爲 skill_find、skill_install、skill_remove 工具調用渲染專用會話卡片。該卡片爲只讀展示,暫無安裝或移除按鈕交互,標籤固定爲英文。

安裝與啓用

插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證;該插件許可證爲 MIT。

從 npm 安裝

dsh plugin --profile web add dsh-find-skill

安裝後可用插件樹確認它是否進入配置:

dsh --profile web --dump-config

本地 bundle 安裝

如果已有本地檢出,可先構建,再作爲 bundle 安裝:

dsh plugin --profile web add /abs/path/to/dsh-find-skill

源碼構建與測試

從源碼下載並構建測試:

git clone https://github.com/Moximxxx/dsh-find-skill.git
pnpm install --config.minimumReleaseAge=0
pnpm build
pnpm test

其中 pnpm install --config.minimumReleaseAge=0 用於滿足 rc.6 依賴的安裝要求。

開發期 overlay 加載可使用本地源碼入口:

- insert:
  - id: dsh-find-skill
    name: /abs/path/to/dsh-find-skill/src/index.ts

典型用法

模型驅動安裝

安裝完成並加載插件後,模型可以在會話中按下面的步驟完成技能接入:

  1. 調用 skill_find 搜索候選技能。
  2. 調用 skill_install 安裝目標技能。
  3. 通過 skill 工具加載該技能,或由用戶直接輸入技能名:
/<skill-name>

人工維護

如果需要查看、移除或同步技能,可使用 /skill 子命令:

find
install
update
sync
remove
list

注意 CLI stdout 僅供參考,技能安裝結果以文件系統爲準,也就是實際被收養的技能目錄。

配置項

以下爲已覈實默認值:

searchApiBase=https://skills.sh
searchLimit=20
installDefaultScope=temp
projectSkillRoot=.dsh/skills-bridge
providerRank=350
compactDisposePolicy=keep

searchApiBase 是搜索 API 基址;searchLimit 是每次搜索的最大候選數;installDefaultScope 是默認安裝作用域;projectSkillRoot 是項目託管根目錄;providerRank 是 provider 候選的 rank;compactDisposePolicy 的默認策略爲 keep。

適用場景與注意

適合在 DSH 中接入 vercel-labs/skills 生態,並希望通過臨時、項目或全局作用域管理技能的場景。

使用前注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • 搜索候選不包含描述,描述在安裝後纔可獲得。
  • 臨時技能僅安裝它的會話可見;項目或全局技能會持久化到託管根目錄。
  • node_modules 同步的技能沒有遠程來源,update 不可用,需要重新 sync 或手動安裝。
  • Web UI 卡片爲只讀展示,暫無安裝或移除按鈕交互。
  • DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

參考

dsh-find-skill 的價值,是把技能生態接入 DSH 的過程收斂爲搜索、安裝、作用域和清理四個可檢查步驟。

GitHub 倉庫:

https://github.com/Moximxxx/dsh-find-skill

插件線索中的目錄頁:

https://www.skillhub.cn/plugins/Moximxxx/dsh-find-skill

該目錄頁鏈接來自插件線索,未作爲已覈實資料使用。

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

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

小夜