前言¶
DeepSeek Harness(DSH)通過用戶級 skill 根目錄加載 SKILL.md 與相關資源;技能一多,來源、同名優先級、是否參與模型調用往往只能靠翻目錄和改 frontmatter 來維護。社區插件 dsh-plugin-skill-manager(維護者 majinggui,npm 包 @majinggui/dsh-plugin-skill-manager)在 Web 客戶端的 Settings 裏增加 Skills 頁:掃描可配置的 skill 根、列出目錄與啓用狀態、內聯編輯 SKILL.md,並支持從本地文檔或 GitHub 倉庫鏈接安裝。頁面使用 @deepseek-ai/dsh-client-ui-primitives 與 --dsw-* 設計令牌,註冊到官方 settings.section 插槽,與內置設置分區同一套交互。
這是什麼¶
一句話:面向 DeepSeek Harness Web 客戶端的 Skill 管理工作流插件(分類:工作流)。
插件通過 cordis.patch.yml 注入一行配置:宿主側註冊一條需認證的 JSON 路由,瀏覽器側註冊 Settings 頁面。要求 DSH >=0.2.0-rc.1,客戶端平臺爲 web(package.json 中 dsh.client.platform: "web")。
核心功能¶
下面表格對應 README 中「What the page offers」的核實能力。
| 操作 | 效果 |
|---|---|
| Catalog | 列出掃描根下每個 SKILL.md 及扁平 .md 文檔,含來源、優先級 rank、絕對路徑、啓用狀態 |
| 掃描共享 agents 目錄 | 開關 ~/.agents/skills 是否納入掃描;默認關閉,選擇會持久化 |
| Enable / disable | 按 技能名 關閉或恢復(同名多根不能分別開關) |
編輯 SKILL.md |
內聯編輯器讀寫,保存時校驗讀取時的內容哈希 |
| 上傳 skill 文檔 | 瀏覽器讀取 .md 和/或 .zip 技能包,安裝到 installRoot |
| 從 GitHub 導入 | 解析倉庫鏈接,安裝其中暴露的每個 SKILL.md |
| 覆蓋已有技能 | 安裝時傳入 overwrite,否則跳過已存在的同名 skill |
技能包(.zip):每個含 SKILL.md 的目錄作爲一條 skill 安裝,並保留同目錄腳本與資源;會先剝掉 GitHub「Download ZIP」常見的一層頂目錄。路徑規範化後拒絕絕對路徑與 ..;加密、ZIP64 或不支持的壓縮方式會給出可讀拒絕原因。
啓用/禁用機制:插件在文檔 frontmatter 寫入 DSH 已識別的兩個鍵以移出模型目錄、skill 工具與 / 菜單:
disable-model-invocation: true
user-invocable: false
被替換的原有 frontmatter 值記錄在狀態文件 <dshHome>/skill-manager.json,重新啓用時恢復;無 frontmatter 的文檔禁止禁用(避免猜測)。解析失敗的文檔會在列表中顯示錯誤而非靜默消失。
安裝與啓用¶
發佈到 npm 後,在資料給出的命令爲:
dsh plugin --profile web add @majinggui/dsh-plugin-skill-manager@latest
若從本倉庫本地構建後鏈接安裝,README 原文爲:
cd dsh-plugin-skill-manager && pnpm install && pnpm build
dsh plugin --profile web add link:$(pwd)
(需先取得倉庫源碼並進入該目錄;lib/ 已提交時,也可按 README Development 節說明通過 dsh plugin add github:<owner>/<repo> 使用預構建產物。)
安裝後重啓對應 profile(dsh web、pnpm run dev:web 或桌面應用),打開 Settings → Skills。
Node 引擎要求(package.json):^22.19.0 || >=24.0.0。當前包版本 0.1.0,許可證 MIT。
配置項¶
在插件行聲明處設置 config(示例來自 README):
- insert:
- id: skill-manager
name: dsh-plugin-skill-manager
config:
extraRoots:
- path: ~/team-skills
source: team
rank: 300
常用字段默認值與含義(均來自 README Configuration 表):
| 字段 | 默認 | 含義 |
|---|---|---|
dshHome |
$DSH_HOME 或 ~/.dsh |
Harness 配置根;其子目錄 skills 會被掃描並作爲導入目標 |
agentsHome |
$DSH_AGENTS_HOME 或 ~/.agents |
共享 agent 配置根;頁面上掃描開關控制其 skills |
includeAgentsRoot |
false |
首次加載前是否掃描 agents 根;之後以頁面開關在狀態文件中的記錄爲準 |
extraRoots |
[] |
額外託管根,每項含 path、source、rank |
stateFile |
<dshHome>/skill-manager.json |
啓用狀態與 agents 掃描開關 |
installRoot |
<dshHome>/skills |
上傳與 GitHub 導入寫入目錄 |
githubMaxFiles |
20 |
單次 GitHub 導入最多安裝文檔數 |
githubMaxDocumentBytes |
524288 |
單文檔大小上限 |
githubTimeoutMs |
30000 |
單次 GitHub 導入超時 |
uploadMaxDocuments |
20 |
單次上傳最多安裝文檔/包數 |
uploadMaxDocumentBytes |
524288 |
單 Markdown 大小上限 |
zipMaxBytes |
52428800 |
壓縮包上傳上限(50 MB) |
zipMaxUncompressedBytes |
209715200 |
解壓後總大小上限(200 MB) |
zipMaxMembers |
2000 |
包內文件數上限 |
zipMaxEntryBytes |
67108864 |
單文件解壓上限(64 MB) |
默認掃描範圍:$DSH_HOME/skills 與配置的 extraRoots。$DSH_AGENTS_HOME/skills(rank 500)僅在頁面打開掃描開關後納入;關閉後下次讀取目錄即不再列出。讀寫路徑限制在所有已配置根內,agents 掃描關閉後仍可對曾在該根出現的 skill 做啓用操作。
典型用法¶
- 打開 Settings → Skills,查看 Catalog:確認每條 skill 的
source、rank與路徑;同名衝突時頁面會 inline 說明,開關作用於整個名字。 - 需要團隊共享目錄時,在
extraRoots增加path/source/rank,重啓或刷新後在新根中出現的 skill 會進入目錄。 - 臨時不讓模型調用某 skill:對該名 Disable;恢復時 Enable,frontmatter 按狀態文件還原。
- 改說明或 invocation 相關 frontmatter:在列表中 Edit
SKILL.md,保存;若磁盤文件已被別處修改,會返回conflict。 - 安裝新 skill:上傳
.md或含SKILL.md的.zip到installRoot;或粘貼 GitHub 倉庫鏈接導入(僅通過公開 API 讀取名爲SKILL.md的文件,受上述數量與大小限制)。需要覆蓋同名時勾選/傳遞 overwrite。 - 若本機還有 Cursor 等工具使用的共享 skills:按需打開「掃描 shared agents 目錄」,使
~/.agents/skills進入 Catalog(默認不掃)。
安全與限制¶
安全(README Safety):讀寫限於配置根,越界拒絕 outside-roots;寫入帶讀取時內容哈希,中間被改則 conflict;寫入經臨時文件再 rename;安裝默認不覆蓋已有名;GitHub 導入受文件數、大小與時間約束。
限制(README Limitations):啓用/禁用會修改 SKILL.md,不允許改 skill 文件的部署不宜使用此頁;目錄爲快照,別處新增 skill 需刷新;項目級 skill 不在本頁範圍,僅用戶級與配置的 extra/agents 根。
適用與注意:適合在 DSH Web 或 dev:web 下集中運維個人與團隊 skill 庫的開發者。插件以當前 DSH 進程權限讀寫配置根與 skill 文件;安裝前請閱讀 GitHub 源碼 與 MIT 許可證,並理解 GitHub 導入會訪問公開 API。社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-plugin-skill-manager 把 skill 的可見性、優先級、啓停、編輯與安裝收攏到 Settings 一頁,減少手工改目錄與 frontmatter 的分散操作。進一步說明見 GitHub README(含 中文 README)與 SkillHub 目錄頁。