前言¶
DSH 的智能體能力通常以本地技能爲基礎。實際使用中,有時還需要從 skills.sh 或公共 GitHub 倉庫裏查找技能包,並在確認合適後再安裝到本機。
dsh-skill-remote 就是爲這個場景提供的 DeepSeek Harness 插件:它會在會話技能目錄中列出遠程候選技能,並讓模型在需要時調用安裝工具,把技能包落到本地。
這是什麼¶
dsh-skill-remote 是 CSY656 維護的 DeepSeek Harness 插件,定位爲 Remote skills.sh/GitHub skill provider and installer plugin for DeepSeek Harness。
它主要解決兩件事:
1、把遠程技能候選和本地技能放在同一處展示;
2、在模型確認後,把遠程技能包安裝到本地,交給 DSH 內置的文件系統 provider 接管。
許可證爲 MIT。
核心功能¶
遠程技能候選¶
插件提供遠程 skill provider,接口表現爲 ctx.skills。
它可以從 skills.sh 或 github.com URL 中發現候選技能,並與本地技能一起出現在會話技能目錄中。技能內容按需加載,不會一開始就把所有遠程內容全部拉進會話。
安裝技能包¶
插件向模型提供 install_skill 工具。
模型調用該工具後,插件會把技能包原子化下載到:
$DSH_HOME/skills/<name>/
安裝完成後,DSH 內置的文件系統 provider 會接管該技能,無需重啓。
默認零網絡¶
在未配置 remotes、也沒有發生安裝請求時,插件不會發起網絡 I/O。
也就是說,它不會默認主動掃描網絡資源。
支持的 URL 形狀¶
下面介紹插件支持的三類遠程 URL:
https://www.skills.sh/<owner>/<repo>/<skill>
https://github.com/<owner>/<repo>/tree/<ref>/<subpath>
https://raw.githubusercontent.com/<owner>/<repo>/<ref>/<subpath>/<file>
這些 URL 可以用於技能候選發現,也可以作爲安裝來源。
安裝與啓用¶
該插件要求 DeepSeek Harness next 線,即:
dsh >= 0.1.0-rc.6
並且對應 dsh-skill 0.1.0-rc.6。
使用 npm 包安裝時,執行:
dsh plugin --profile default add dsh-skill-remote
如果選擇從 GitHub 源碼安裝,並且觸發了 pnpm 構建許可,可能需要先在 profile 的 pnpm-workspace.yaml 中允許該包構建:
allowBuilds:
dsh-skill-remote: true
然後重跑對應的 add 命令。
典型用法¶
讓 agent 安裝指定技能¶
下面示例可以直接交給 agent:
Install the skill at https://github.com/anthropics/skills/tree/main/skills/docx
經過上面的步驟,模型會調用 install_skill,將對應技能包安裝到本地技能目錄。
預註冊只讀 remote source¶
也可以在 profile 中預註冊只讀遠程來源。示例配置如下:
# profile cordis.patch.yml
- update:
- id: skill-remote
config:
remotes:
- https://github.com/anthropics/skills/tree/main/skills/docx
配置項位於 config.remotes。
安全限制¶
插件內置了一組硬編碼限制,用於約束遠程技能包的下載與安裝過程:
| 限制項 | 值 |
|---|---|
| 單文件 | 1 MiB |
| 整個 bundle | 8 MiB |
| 文件數量 | 64 |
| 遞歸深度 | 4 |
| 請求超時 | 30 s |
| 路徑逃逸 | 拒絕 |
| 符號鏈接 / submodules | 跳過 |
安裝過程是原子化的:技能包會先下載到同級 staging 目錄,驗證通過後纔會重命名到目標位置。驗證要求 SKILL.md 存在;任何失敗都會移除 staging 目錄。
適用場景與注意¶
適合以下場景:
1、在 DSH 中查看來自 skills.sh 或公共 GitHub 倉庫的技能候選;
2、確認後把遠程技能包安裝到 $DSH_HOME/skills/<name>/;
3、在插件目錄中爲 DSH 增加遠程技能發現能力。
需要注意:
- 插件以當前
dsh進程權限運行。安裝前應先檢查源碼與許可證。 - 僅支持公共倉庫:不讀取、不保存、不發送 token;不涉及 OAuth 或私有倉庫。
- 未認證的 GitHub API 速率限制適用於
60 req/h per IP。 - 遠程來源只發現直接子級,不會遞歸掃描整個倉庫。
- 沒有版本固定能力:每次加載都會獲取當前 ref tip;安裝是唯一的持久化方式。
- 安裝會執行遠程包內的構建邏輯,因此要確認來源可信。
結尾¶
dsh-skill-remote 的價值在於:它把遠程技能候選納入 DSH 的技能目錄,並把“臨時加載”變成一次可檢查、可拒絕、可回退的本地安裝。
倉庫地址:
https://github.com/CSY656/dsh-skill-remote