前言¶
給 DeepSeek Harness(DSH) 寫插件時,很多問題不會寫在官方文檔裏:剪貼板複製靜默失敗、改了代碼重啓插件卻不生效(實際要重啓客戶端)、自建 agent 收消息卻不執行、懸浮框閃爍等。每個人各自踩一遍、各自花幾小時,成本重複。
dsh-plugin-dev-tools(維護者 eighteentang)是面向 DSH 插件開發者的一小組客戶端工具,並隨插件分發一份開發經驗庫。裝一次後,在 設置 → 開發工具 裏按需開關各子功能。當前版本 1.5.1,許可證 MIT。社區目錄頁:SkillHub 插件頁;源碼:GitHub。
這是什麼¶
一句話:界面元素定位(Alt + 懸浮)、隨插件分發的踩坑經驗庫、開發模式下向 AI 工作流注入自檢與需求對齊流程。
插件分類爲客戶端;純 JavaScript,無 build/prepare 腳本,從 GitHub 安裝時不需要構建授權(不必在 pnpm-workspace.yaml 裏配置 allowBuilds)。
核心功能¶
界面定位(Alt + 懸浮)¶
- 鼠標移到目標 UI 上,按一下 Alt。
- 光標旁出現浮框:區域歸屬、完整 CSS 路徑、尺寸等。
- 浮框不跟隨鼠標,便於點「複製」;也可用
Ctrl+Alt+C直接複製。 - 點浮框外收起;再按 Alt 重新定位。
複製結果可直接貼給 AI 或同事,格式示例:
【界面定位】側邊欄底部動作區
slot: sidebar.footer.action
元素: div.dvt-controls
路徑: body > div.app > div.sidebar > div.dvt-controls
尺寸: 120×26 top=720 left=12
說明: 💀 結束進程按鈕渲染在這裏
若顯示「(未收錄的元素)」,表示該位置尚未在插件內登記名稱;把路徑反饋給維護者即可補充。
開發經驗庫¶
經驗全文在倉庫 experience/經驗庫.md,隨插件安裝。README 寫明當前 77 條實測條目;設置頁會顯示版本、條數、更新日期與指紋(資料示例:版本 2026-10-13,指紋 78594924)。
- 索引會注入 AI 助手提示詞(開發模式總開關打開時),讓模型知道「有哪些坑」,而不是全文進上下文(全文約 10.3 萬字符;索引按固定預算裝配,開着開發模式時注入體量約 6.6 千字符/次)。
- 更新經驗庫文件後,在設置頁點 ⟳ 刷新 即可,不必重啓客戶端;是否真有更新應比對條數與指紋,不能只看日期。
- 開發模式開啓時會註冊
record_experience工具,便於 AI 把新坑記入經驗庫。
貢獻格式與解析規則見 README;標註「項目特定」的條目不會注入到他人提示詞。
開發模式總開關¶
打開後:
- 動手前強制自檢 —— 查官方文檔、查框架實現、找現成寫法;明確「搜不到不等於不存在」。
- 開工前定需求 —— 用戶說「想做 XX」時,先對齊四要素(名字 / 用途 / 使用場景 / 工作空間),確認後再規劃,規劃再確認才動手。
- 註冊
record_experience與經驗索引注入。
關閉後上述注入與工具真正註銷(非僅隱藏),注入字符數爲 0。
結束進程按鈕(💀)¶
側邊欄底部 💀:結束 DSH 宿主進程。確認後會出現 DSH 恢復框(框架把宿主終止一律當異常,屬正常流程),可在框內選「重啓」(README 稱約 7 秒)或「退出」。插件未提供「一鍵重啓」,因 DSH 當前無對外重啓 IPC;自行 kill 再拉起 README 實測慢得多。
開發診斷¶
在右側邊欄引導頁選擇「開發診斷」tab(需先選一次纔會固定出現)。用於回答「改完代碼爲什麼沒生效」:結論條、環境(link/複製安裝、路徑、熱重載是否監聽源碼)、關鍵文件內容哈希比對(! 需重啓 / ~ 已生效 / · 一致)、進程內服務清單、經驗庫一致性、宿主最近日誌等。宿主插件 console.log 桌面端不落盤;插件將日誌寫入 ~/.dsh/dev-tools.log(512 KB 上限)。只讀自檢 JSON:GET http://127.0.0.1:8800/dev-tools/self-check。
README 說明:改 .js 源碼需重啓客戶端(ESM 緩存);改 experience/經驗庫.md 等運行期讀盤文件不必重啓;profile 配置/patch 通常不必重啓(HMR 監聽配置)。@deepseek-ai/dsh-base 的 patch 將 HMR config.root 設爲 [],默認不監聽插件源碼,以 base 爲準。
安裝與啓用¶
前置¶
- 已安裝 DSH 桌面客戶端。
- 插件會裝進當前 DSH profile。
從 GitHub 安裝(推薦)¶
- 打開 DSH → 側邊欄 插件 → Add plugin。
- 填入:
github:eighteentang/dsh-plugin-dev-tools
- 確認列表中出現 dsh-plugin-dev-tools 且爲啓用。
- 重啓一次客戶端(DSH 按路徑緩存已加載模塊,新代碼需重啓才加載)。
本地路徑安裝(備選)¶
下載倉庫,將 dev-tools 文件夾放到無中文、無空格的長期路徑,Add plugin 時填該文件夾絕對路徑。同樣需重啓客戶端。本地路徑爲 link: 形式時不會安裝依賴;本插件零依賴,一般無影響。
確認¶
打開 設置 → 開發工具,應看到總開關與各小工具;經驗庫元數據與 ⟳ 刷新按鈕也在此頁。
典型用法小結¶
| 場景 | 操作 |
|---|---|
| 問 AI「這個按鈕在哪個 slot」 | Alt 定位 → 複製路徑與 slot |
| 讓 AI 少踩文檔外的坑 | 打開開發模式總開關,利用經驗索引與自檢注入 |
| 用戶提新需求 | 依賴注入的「四要素 → 規劃 → 再確認」流程 |
改插件 .js 不生效 |
開發診斷 tab 看文件哈希與服務;必要時重啓客戶端 |
| 只更新經驗庫 markdown | 替換文件 → 設置頁 ⟳ 刷新 |
適用場景與注意¶
適合誰:正在開發或維護 DSH 插件、需要定位客戶端 UI、希望把踩坑經驗沉澱並共享給助手上下文的人。
權限與安全:插件在當前 DSH 進程權限下運行,可結束宿主進程、寫 ~/.dsh/ 下日誌、註冊 AI 工具與提示詞注入。安裝前請自行查看 源碼與 LICENSE,確認可接受維護者與代碼行爲。
生態說明:DSH 主張「一切皆插件」;SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係,本文不以「官方應用商店」表述。
已知限制(摘自 README):結束進程必過恢復框;Config.listConfigs 可能顯示 unsupported(外部插件無法內省 asar 內 schemastery);經驗索引中解法截 60 字、症狀 100 字,細節需 AI 讀全文文件。
結尾¶
dsh-plugin-dev-tools 把「界面怎麼叫、坑在哪裏、動手前先查什麼」收進一個可開關的客戶端插件:定位用 Alt,經驗庫隨包分發並在開發模式下注入索引,改代碼有沒有生效用開發診斷對照磁盤與進程狀態。
- 目錄頁:https://www.skillhub.cn/plugins/eighteentang/dsh-plugin-dev-tools
- GitHub:https://github.com/eighteentang/dsh-plugin-dev-tools