前言¶
DeepSeek Harness(命令行名 dsh)把模型、工具、會話和界面都做成插件。官方倉庫 deepseek-ai/deepseek-harness 的口號是「Everything is a Plugin」:技能也是普通文件,全局放在 ~/.dsh/skills,工作區放在該工作區的 .dsh/skills。DSH 靠文件監聽發現它們,改文件就能立刻生效。
真正麻煩的是管理面。技能一多,就要在多個工作區之間複製、停用不需要的條目、覈對同名副本到底屬於哪一層。默認 Web 界面沒有單獨的技能設置頁,只能自己翻目錄、改文件名。社區插件 dsh-skill-viewer 做的就是這塊:在設置里加一個「技能」分區,熱啓停、刪除、新增,同時附帶終端命令 dsh-skill。
本文按插件目錄頁、GitHub README / package.json / v0.7.0 Release 交叉覈對後整理。社區目錄 deepseek-harness-plugin.com 是獨立站點,用來發現和安裝社區插件,與 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。
這是什麼¶
dsh-skill-viewer 是一款界面增強插件,由 GitHub 用戶 Fishquito7 維護,倉庫地址是 Fishquito7/dsh-skill-viewer。許可證爲 MIT,主要語言是 JavaScript(源碼爲 TypeScript,編譯產物 lib/*.js 隨倉庫提交)。package.json 裏的版本號是 0.7.0,客戶端聲明 platform: web,通過 dsh.bundle 自動掛到 web profile,不必手改 cordis.patch.yml。
社區目錄頁 2026-08-15 收錄該插件,分類爲「界面增強」,簡介是「Web 界面的技能管理工具:熱啓停、刪除與新增」。截至 2026-08-17,GitHub 倉庫星標爲 50(目錄頁當時列出 32,以倉庫頁面爲準)。
它解決的不是「讓模型學會新技能」,而是讓已經落在磁盤上的技能可瀏覽、可開關、可遷移。README 寫得很清楚:插件並不自己解析技能,只是技能文件的管理界面;頁面和 dsh-skill 的每次操作,最終都是對 SKILL.md 的改動,DSH 自帶的文件監聽器立刻發現變化,所以啓停、增刪、遷移都熱生效,不必爲這些操作再重啓網關。
核心功能¶
卡片列表與熱啓停¶
設置頁裏,已安裝的技能以卡片列出,可按名稱搜索。點擊卡片展開完整內容;啓用 / 停用標籤的樣式與內置插件列表一致。進入頁面會自動刷新。
停用不是改配置項,而是把 SKILL.md 改名爲 SKILL.md.disabled;啓用則改回去。隨部署附帶的 bundled 技能是隻讀的,不能停用或刪除。
統一添加入口¶
v0.7.0 把「目錄束 / 單文件」二級菜單收成一個「+」按鈕:直接選 .md 或 .zip,也可以把文件、壓縮包、技能文件夾拖進頁面。插件會自動識別目錄束、單文件或壓縮包結構,不合規內容會被拒絕並提示原因。Release 說明裏,zip 導入帶 zip-slip 路徑防護:唯一頂層文件夾加 SKILL.md 按目錄束導入,平鋪的 .md 則逐個導入。
工作區分欄¶
從 0.3.0 起,技能實體直接放在所屬位置:全局在 ~/.dsh/skills,限定工作區在該工作區的 .dsh/skills。沒有隱藏存儲,也沒有聯接點。卸載插件後,這些技能仍是普通文件,DSH 照常發現它們。
頁面「技能列表」下方有一條可橫向滾動的工作區橫欄(全局 + 各工作區),點擊後只顯示該工作區下的技能。
批量遷移¶
「+」號左側是遷移按鈕。對話框裏手動選源工作區、目標工作區(可多選)和技能,再選擇批量複製或移動。默認不勾選任何技能;逐個遷移,一項失敗不影響其餘。移動模式只允許單個目標。源工作區有分組時,可在技能列表上方按分組篩選(0.7.0)。改變所屬位置是真實地把文件複製或移動到目標文件夾,先校驗,失敗則回滾。
技能分組¶
0.5.0 在工作區橫欄下又加了一條分組橫欄(全部 + 分組名)。「分組」按鈕打開編輯器:新建 / 重命名 / 刪除分組、選擇工作區、命名並批量勾選成員。分組只寫入插件自己的顯示配置 ~/.dsh/skills/.system/skill-viewer/groups.json,不修改技能目錄。
作用域精確操作¶
0.6.4 起,同名技能同時存在於全局與某工作區時,刪除、啓停、查看內容都按「名稱 + 作用域」精確操作。頁面各行獨立展開、獨立操作,不會碰到其它作用域裏的副本;找不到指定作用域的條目會直接報錯,不會回退成誤操作。命令行同樣需要用 --global / --project / --workspace 顯式指定。
安裝與啓用¶
目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行即可:
dsh plugin add github:Fishquito7/dsh-skill-viewer
如需可復現安裝,目錄頁要求固定 commit 哈希。當前 main 分支對應 v0.7.0 的提交是 55c16e4e4978a5e1cb96203e9ff89b6cf1078b94:
dsh plugin add github:Fishquito7/dsh-skill-viewer#55c16e4e4978a5e1cb96203e9ff89b6cf1078b94
維護者 README 把參考命令默認寫在 --profile web 上,並推薦走發行版 tarball,避免 Git 安裝時碰到 pnpm v11 對構建腳本的限制。當前最新發行版是 2026-08-16 發佈的 v0.7.0:
dsh plugin --profile web add https://github.com/Fishquito7/dsh-skill-viewer/releases/download/v0.7.0/dsh-skill-viewer-0.7.0.tgz
也可以從 Git 安裝到 web profile:
dsh plugin --profile web add github:Fishquito7/dsh-skill-viewer
若 Git 來源報 “git-hosted plugins build on install…”,按 README 把 pnpm 打印的 key 加到該 profile 目錄 pnpm-workspace.yaml 的 allowBuilds 下再重跑。包聲明瞭 dsh.bundle,安裝後會自動掛載,無需編輯配置文件。
然後重啓網關:
dsh-restart
重啓後刷新頁面:設置 → 「插件」下方即可看到「技能」。卸載用:
dsh plugin --profile web remove dsh-skill-viewer
使用其它 profile 時,把 --profile web 換成對應名稱。目錄頁也提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前請檢查源代碼倉庫和許可證。
典型用法¶
在網頁裏管理¶
- 打開 Web 界面,進入設置,找到「插件」下方的「技能」。
- 用工作區橫欄切到全局或某個工作區;需要時再用分組橫欄過濾。
- 點卡片查看完整
SKILL.md,用開關熱啓用或停用。 - 點「+」選擇
.md/.zip,或把技能文件夾拖進頁面。 - 需要把技能從全局拷到項目、或在工作區之間搬家時,用「+」左側的遷移按鈕,勾選源、目標和技能後再複製或移動。
用終端命令¶
隨包附帶 dsh-skill,同樣熱生效,網關關閉時也能用。README 中的示例命令如下(路徑按倉庫原文,示例是 Windows 風格):
dsh-skill list # 列出技能(含工作區:全局 / 工作區)
dsh-skill add <path> # 添加到全局(.md 文件、目錄束或 .zip 壓縮包)
dsh-skill add <path> --workspace D:\項目A # 直接添加到指定工作區
dsh-skill scope <name> --global # 遷移單個技能到全局
dsh-skill scope <name> --workspace D:\項目A # 遷移單個技能到指定工作區(--copy 複製)
dsh-skill migrate <name...|--all> --from <全局|路徑> --to <全局|路徑> [--copy] [--yes]
dsh-skill disable <name> # 停用
dsh-skill enable <name> # 啓用
dsh-skill delete <name> # 刪除(需確認)
dsh-skill update [--profile <name>] # 檢查並更新插件(默認 web 配置)
CLI 只掃描當前目錄錨定的項目根與用戶根;管理其他工作區的技能請加 --cwd <工作區路徑>。同名技能存在於多個作用域時,enable / disable / delete 必須加 --global / --project / --workspace,否則不會猜測該動哪一份。
適用場景與注意事項¶
適合已經在用 DSH Web UI、並且技能數量開始超過「翻幾個文件夾就能記住」的人。典型情況包括:全局放一套常用技能、每個項目再放項目專屬技能;需要在工作區之間複製或移動;想在終端裏批量處理,而不只依賴網頁。
使用前注意這幾條:
- 插件以當前 dsh 進程權限運行,安裝時可能執行代碼。安裝前應自己看源碼和許可證。
- 它管理的是磁盤上的技能文件,不是另一套隱藏數據庫。停用靠改名,遷移靠複製 / 移動。對
SKILL.md動手之前,確認自己改的是哪一個作用域。 - bundled 技能只讀,頁面和 CLI 都不能停用或刪除。
- 分組信息只存在於插件自己的
groups.json,卸載插件後分組顯示會一起消失,技能文件仍在。 - 客戶端標明
platform: web。README 的參考命令默認--profile web,其它 profile 需自行改參數。 - 社區目錄與官方 Harness 倉庫不是同一件事。目錄負責收錄,倉庫負責實現;兩者都覈對過再裝更穩妥。
小結¶
dsh-skill-viewer 把 DeepSeek Harness 裏本來靠翻目錄完成的技能管理,收進設置頁和一條 dsh-skill 命令。熱啓停、拖入添加、按工作區過濾、批量遷移,底層都是對 SKILL.md 的文件操作,卸載後技能仍是普通文件。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-skill-viewer/
GitHub:https://github.com/Fishquito7/dsh-skill-viewer