dsh-skill-market:DSH 設置頁技能市場

DSH 插件化架構允許用戶通過 Web UI 擴展功能,技能通常存儲在 ~/.dsh/skills 目錄中。手動從 GitHub 查找並下載技能 tarball 到安裝目錄較爲繁瑣。dsh-skill-market 插件在 DSH 的 Web 設置頁中集成了一個“技能市場”,提供搜索和一鍵安裝能力。

插件介紹

該插件由用戶 QQ-M 維護,旨在簡化技能的獲取流程。它將技能市場集成到 Web UI 的設置頁面中,允許用戶在瀏覽器中直接搜索 GitHub 倉庫,並根據倉庫結構一鍵安裝技能到模型可讀取的根目錄。

核心功能

  1. GitHub 搜索:優先搜索帶有 dsh-skill 主題的倉庫,同時支持通過關鍵詞進行搜索。
  2. 倉庫佈局檢查:自動識別倉庫結構。如果根目錄存在 SKILL.md,則視爲單個技能;如果存在 skills/<name>/SKILL.md 或 skills/<name>.md,則識別爲多個技能。
  3. 一鍵安裝:通過調用 GitHub 的 codeload 接口下載 tarball,解壓後將技能文件複製到配置的安裝目錄(默認爲 ~/.dsh/skills)。
  4. 技能管理:提供已安裝技能列表,支持卸載操作。卸載時,技能文件會被移動到 .trash-* 目錄,便於恢復。
  5. 安全防護:對寫操作(安裝/卸載)實施同源 POST 保護。

安裝與啓用

使用官方插件命令安裝:

dsh plugin --profile web add "github:QQ-M/dsh-skill-market"

安裝完成後,需要重啓 Web 配置文件(dsh web),插件纔會加載瀏覽器端的設置入口。

配置說明

插件支持通過 cordis.patch.yml 進行配置。默認配置如下:

配置項 默認值 說明
installDir ~/.dsh/skills 技能的安裝目錄
githubToken '' GitHub Token 字符串
githubTokenFile '' 包含 GitHub Token 的文件路徑
searchLimit 20 搜索結果最大數量

如果未設置 Token,插件會讀取環境變量 GITHUB_TOKEN。匿名搜索受限於約 10 請求/分鐘,建議爲高頻搜索配置 Token。

API 接口

所有接口均掛載在 /skill-market/api/ 路徑下,返回 JSON 格式數據:

  • GET /api/search?q=<query>:搜索技能
  • GET /api/repo?owner=&repo=:檢查倉庫詳情
  • POST /api/install { owner, repo, ref? }:安裝技能
  • GET /api/installed:查看已安裝技能列表
  • POST /api/uninstall { name }:卸載技能

技術架構

該插件由兩部分組成:

  • Host Half (index.js):運行在服務端,提供 /skill-market/api/* 路由,負責 GitHub 交互、文件下載、解壓與安裝邏輯。
  • Client Half (client.js):運行在瀏覽器端,是一個無構建步驟的 __ModuleLoader__ bundle,負責向 DSH 的設置頁面注入“技能市場”標籤頁。

依賴方面,Host 僅依賴 Node.js 內置模塊及 @deepseek-ai/schemastery;Client 依賴 react。

注意事項

  • 權限與安全:插件以當前 DSH 進程的權限運行,安裝前請檢查源代碼與許可證。
  • 社區生態:該插件屬於社區目錄項目,與 DeepSeek 或幻方無官方從屬關係。
羽毛球分组比赛记分
小程序二维码

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

小夜