前言¶
DeepSeek Harness(DSH)會從用戶主目錄與項目下的 .dsh/skills、.agents/skills 等路徑發現 Agent Skill,但默認界面沒有集中查看、預覽或關閉某條 Skill 的入口,往往只能改磁盤上的文件。社區插件 dsh-skills(維護者 yixin2021,GitHub 倉庫 yixin2021/dsh-skills)在左側導航增加「技能 / Skills」入口,用面板完成列表、預覽、啓用/禁用、安裝與安全卸載。DSH 生態裏能力多以插件形式擴展;插件目錄站點 SkillHub 與 DeepSeek / 幻方無官方從屬關係,安裝前請自行覈對源碼與許可證(本插件爲 MIT,當前 package 版本 0.1.0)。
這是什麼¶
dsh-skills 是面向 DSH Web 客戶端的插件:Host 側註冊 authenticated JSON 路由,Client 側在 sidebar.panellist 掛載面板。瀏覽器不直接讀文件系統,Skill 相關操作經 POST /api/dsh-skills 與 Host 交互。它解決的是「Skill 已在磁盤上被 DSH 掃描,卻缺少可視化管理面」這一缺口。
面板能做什麼¶
下面能力均來自倉庫 README 與 package.json 描述,可按需使用。
查看與預覽
- 列出 DSH 掃描到的各 Skill 根目錄,以及每條 Skill 的名稱、描述、指令路徑與 invocation policy。
- 在應用內預覽完整
SKILL.md(含 frontmatter 與正文),無需離開 DSH。
啓用與禁用
- 每條 Skill 有開關。禁用時不刪文件:目錄被移到
<root>/.disabled/<name>,對掃描器不可見;重新啓用時原樣移回,SKILL.md不會被改寫。
安裝與導入
- 從本地文件夾安裝:選擇目標根目錄,將頂層含
SKILL.md的文件夾複製進去,原文件夾不會被移動。 - 從 GitHub 等遠程導入:粘貼倉庫、tree 或 skill 鏈接;一個倉庫可一次導入多條 Skill。Host 在寫入前校驗整批:名稱衝突、非法路徑或體積/文件數超限會拒絕整批,避免部分覆蓋。
- 新建 Skill:通過表單編寫帶合法 frontmatter 的 bundle。
- 添加目錄:把面板指向其他 Agent 的 Skill 庫(例如
~/.claude/skills或同事 checkout);列表會展示,DSH 也會加載,目錄本身保持只讀。
卸載與恢復
- 卸載將條目移到根目錄下的
.trash,可恢復或永久清除;另有清空回收站等操作。
其它
- 定位:在 Finder / Explorer 或桌面文件管理器中打開 Skill 或根目錄。
- 已知庫:Codex、Claude Code、WorkBuddy、CodeBuddy 等若在常見路徑存在 Skill,會自動列出並帶對應標記;DeepSeek Harness 側常見爲
$DSH_HOME/skills(通常~/.dsh/skills)與$DSH_AGENTS_HOME/skills(通常~/.agents/skills)。
Host 還通過 ctx.skills.registerProvider 把發現的庫與額外目錄註冊給模型;Skill 語法解析與根目錄發現集中在 lib/skills-core.js,與路由和測試保持一致。
安裝與啓用¶
倉庫根目錄有 package.json,無構建步驟,可用 npm 兼容的 git spec 安裝。
在插件管理界面:Settings → Plugins,安裝:
github:yixin2021/dsh-skills
CLI(dsh plugin 在 profile 內轉發給 pnpm):
dsh plugin --profile desktop add github:yixin2021/dsh-skills
dsh plugin --profile desktop remove dsh-skills
https://github.com/yixin2021/dsh-skills 與 git+ssh://git@github.com/yixin2021/dsh-skills.git 等價。本地 checkout 時:
dsh plugin --profile desktop add /absolute/path/to/dsh-skills
bundle patch 會插入名爲 skills 的 Loader 行,客戶端掛載導航與面板。安裝後需重新加載窗口。
也可從 Releases v0.1.0 下載;落地頁爲 yixin2021.github.io/dsh-skills(部分網絡可能無法訪問 GitHub Pages,以 README 說明爲準)。
典型用法¶
日常:列表、預覽、開關¶
- 安裝插件並重載 DSH 窗口。
- 打開左側「技能 / Skills」面板,查看各根目錄下的 Skill。
- 點選一條 Skill 預覽
SKILL.md;用開關禁用暫時不需要的 Skill,無需手改目錄結構。
從 GitHub 批量導入¶
- 在面板中使用「從 GitHub 導入」,粘貼鏈接,例如倉庫根
https://github.com/owner/repo,或子目錄https://github.com/owner/repo/tree/main/skills/foo。 - GitHub 倉庫優先走 archive 接口(單次請求、無 rate limit);GitLab、Gitee、SSH 等會淺克隆到臨時目錄,讀完即刪。
- 對話框展示候選 Skill(默認可全選);若候選超過 40 個,會提示總數並建議把鏈接收窄到子目錄。
- 私有倉庫可在對話框填寫 access token(僅用於當次下載,不落盤;clone 時通過子進程環境傳遞,不寫在命令行)。
粘貼的 URL 會經 allowlist(https、http、ssh、git)校驗,拒絕本地路徑與危險 git 協議;倉庫內容不會被當作腳本執行,符號鏈接會被跳過。
卸載與恢復¶
在面板中對 Skill 執行卸載,文件進入該根下的 .trash;需要時從回收站恢復,或永久刪除。
適用場景與注意¶
適合誰
- 已在 DSH 或同機其它 Agent 路徑下積累多條 Skill,希望在一個界面裏看清、試讀、臨時關閉,而不是反覆編輯隱藏目錄。
- 需要從 GitHub(或其它 git 託管)按目錄批量安裝 Skill,並希望在寫入前整批校驗。
務必瞭解
- 插件以當前 DSH 進程權限運行:安裝、導入、克隆遠程倉庫、讀寫 Skill 根目錄均在此權限下完成。安裝前請閱讀 倉庫源碼 與 MIT 許可證,確認符合你的安全策略。
- 禁用與卸載依賴
.disabled、.trash子目錄約定,與 DSH「只發現 Skill 根的直接子項」的掃描規則一致;手寫的 Skill 在禁用/啓用往返後應保持字節一致(README 對此有說明)。 - 社區目錄頁:https://www.skillhub.cn/plugins/yixin2021/dsh-skills(分類:客戶端;截至資料抓取時 GitHub 星標爲 2)。
結尾¶
dsh-skills 把 DSH 已在磁盤上發現的 Agent Skill 補成可操作的側欄面板:看得見、讀得全、關得掉、裝得上、卸得可恢復。若你正在用 Harness 編排 Skill,可先按上文命令安裝,重載窗口後在左欄打開 Skills 面板試用。