dsh-skill-market:在輸入框選技能,並在同一處管理安裝

前言

DeepSeek Harness(DSH)裏,技能通常以 /<技能名> 注入對話,來源可能是內置目錄、項目或本地文件夾。技能一多,選哪個、從哪裝、能不能出現在菜單裏、模型能不能主動調用,往往要分開查文檔或改 SKILL.md。下面介紹社區插件 dsh-skill-market(維護者 dakeqiqi123):把「選技能」和「管技能」收進輸入框左下角一個入口,並支持本地文件夾、zip、粘貼與 GitHub 四種安裝方式。

這是什麼

dsh-skill-market 是 DSH 生態的第三方客戶端插件(非官方),當前版本 0.2.0,許可證 MIT。它提供:

  • 輸入框左下角 「技能」 按鈕:上方彈層內搜索、列表、一鍵把 /<技能名> 寫入輸入框。
  • 管理面板:瀏覽、搜索、分類篩選、開關策略、重命名(顯示名 / 技術名)、四種來源安裝與卸載。

適配 Harness 0.2.x 桌面端(Web 前端),要求 Node 20+。插件在 SkillHub 分類爲「客戶端」;倉庫:https://github.com/dakeqiqi123/dsh-skill-market,目錄頁:https://www.skillhub.cn/plugins/dakeqiqi123/dsh-skill-market。

技能菜單(composer 入口)

點擊輸入框左下角「技能」後,在輸入框正上方打開插件自繪彈層:

  1. 頂部搜索框:按技能名稱、描述或標籤實時過濾;標籤包括來源、「本插件安裝」、「只讀」、「菜單可見 / 不可見」、「模型可用 / 不可用」、「僅用戶可調用」等,搜「只讀」「不可見」也能命中。
  2. 空搜索時:仍只列 10 個技能,排序取「最近使用 / 最新搭載」裏較新的;底部固定兩行:從本地添加技能、管理技能。
  3. 無匹配:顯示關鍵詞空狀態與一鍵清空,而不是空白頁。
  4. 鍵盤:↑↓ 選擇、Enter 使用、Esc 關閉;點一行即在輸入框插入 /<技能名>。
  5. 在輸入框裏輸入 / 仍走 Harness 自帶菜單,行爲不變。

彈層爲不透明白底(#FFFFFF),深色主題下同樣用淺色文字,避免半透明難讀。

管理面板

從彈層底部進入「管理技能」後,可做這些事:

列表與篩選

  • 搜索 + 分類:全部 / 本插件安裝 / 本地目錄 / 其他來源 / 可修改。
  • 搜索覆蓋名稱、描述與上述標籤,與篩選疊加;無匹配時同樣有友好空狀態。
  • 列表約 每 2 秒 自動重讀,別處或模型安裝的技能會自動出現。

每行信息與開關

  • 首字母徽標、名稱(有 顯示名 時顯示它,並附 /技術名)、來源徽標、描述。
  • 菜單可見 → 寫回 user-invocable;模型可用 → 寫回 disable-model-invocation(語義與平臺內置技能界面一致,直接改該技能 SKILL.md 的 frontmatter)。
  • 雙擊一行:以 /<技能名> 插入輸入框並關閉面板。

改中文名(顯示名 vs 技術名)

平臺要求技能 技術名 name 爲 kebab-case;中文不能直接寫進 name,否則可能被 provider 忽略。插件用 frontmatter 區分:

字段 作用
name 技術名,調用令牌 /名稱、註冊表、模型目錄
display-name 顯示名(常中文),彈層、面板與 / 菜單本插件分組標籤
aliases / original-name 曾用名記錄;舊技術名可發佈爲別名條目(可配置關閉)

只改顯示名不動目錄;改技術名會移動目錄/文件並更新 frontmatter。搜索同時匹配顯示名、技術名與曾用名。

四種安裝來源

  1. 本地文件夾
  2. zip 壓縮包(含 SKILL.md,單包上限 8 MB)
  3. 粘貼 SKILL.md 內容
  4. GitHub 倉庫

默認安裝落點爲 $DSH_HOME/skills(與內置文件系統 provider 掃描目錄一致,裝完即生效,一般無需重啓)。使用歷史在 $DSH_HOME/skill-market/usage.json。

給模型與會話的入口

除 UI 外,插件還註冊:

  • Agent 工具 skill_market:list / local / catalog / search / install / install-dir / install-text / policy / rename / remove。
  • 會話命令 /skill-market <list|install|add-dir|add-zip|add-text|policy|rename|touch|remove>,便於手輸與調試。

面板與菜單的內部請求走宿主 HTTP 路由,不走會話命令(避免輪詢結果刷進對話)。

安裝與啓用

要求:DSH 桌面端(Harness 0.2.x,Web 前端),Node 20+。

用宿主安裝入口(GUI 插件頁或命令行),不要手寫 profile 的 package.json 或 cordis.patch.yml,也不要在 profile 目錄手工跑 pnpm:

dsh plugin --profile <your-profile> add /absolute/path/to/dsh-skill-market

裝完 重啓應用。若用本倉庫源碼安裝,profile 依賴爲 file: 形式:移動或刪除源碼目錄會導致 profile 加載失敗;長期用請把包放在固定路徑再安裝。

技能格式與配置要點

技能文件:目錄 <技能名>/SKILL.md 或單文件 <技能名>.md;frontmatter 至少要有 name(kebab-case)和 description:

---
name: my-skill
description: 這個技能做什麼(顯示在菜單裏)
disable-model-invocation: true   # 可選:禁止模型主動調用
user-invocable: false            # 可選:不在用戶菜單裏出現
---
正文…

兩個可選字段對應管理面板裏的兩個開關;都不寫則兩者都啓用。

可配置項(由安裝入口寫入 profile patch 層):

鍵 默認 說明
localDirs [] 額外掃描的技能目錄
installRoot 空 安裝落點;空 = $DSH_HOME/skills
rank 350 本 provider 在註冊表裏的優先級,越小越靠前
sources [] 精選清單裏的 owner/repo[#ref] 來源
token 空 訪問私有 GitHub 倉庫;建議改用環境變量
registerTool true 是否註冊 skill_market 工具
aliasEntries true 是否把曾用技術名發佈爲可調用別名條目

適用場景與注意

適合誰

  • 經常在 composer 裏切換技能、又不想記路徑或反覆改 frontmatter 的 DSH 桌面用戶。
  • 需要從 zip、粘貼或 GitHub 快速裝技能,並統一控制「菜單可見 / 模型可用」的場景。
  • 希望技能在 UI 裏顯示中文名,但調用仍用 kebab-case 技術名的團隊。

安裝前請自行覈對

  • 插件以 當前 dsh 進程權限 運行,安裝技能會寫入 $DSH_HOME/skills(或你配置的 installRoot);從 GitHub 安裝前請查看目標倉庫源碼與許可證。
  • 本插件屬於社區第三方作品;SkillHub 爲獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係。
  • 客戶端半邊在 Harness 0.2.x 驗證過;跨大版本升級可能需要跟隨 slot / 輸入接口調整。
  • 「從本地添加」依賴宿主目錄選擇器;無桌面能力時退化爲 zip / 粘貼。
  • 重命名與 frontmatter 開關僅對 本插件可寫 來源(安裝目錄與 localDirs)生效;內置/項目技能等爲只讀。
  • 曾用名別名會出現在內置 / 菜單與模型技能目錄(描述帶「曾用名 …」前綴);不需要時可設 aliasEntries: false,舊名仍可在面板搜索。

結尾

dsh-skill-market 把選技能、搜技能、裝技能和改策略放在輸入框旁一條鏈路上,並明確區分顯示名與技術名,避免中文名踩平臺校驗。若你已在用 Harness 0.2.x 桌面端,可按上文命令安裝後重啓,從輸入框左下角「技能」開始試用。

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

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

小夜