前言¶
做 DSH 插件開發或在其中改代碼時,通常要在對話窗口和編輯器之間來回切:想知道某行改動落在哪個函數,得手動翻文件;想覈對這次提交差了什麼,得退出去看 Git 客戶端;想看一個類繼承自誰,還要再開一個終端跑 grep。dsh-workbench 做的事,是把這些動作收進 Harness 右側的一個工作臺裏,讓對話窗口留在原地,文件樹、編輯器、diff 和調試都在旁邊。
它由 Chengyunlai 維護,定位是 DeepSeek Harness 的客戶端插件,屬於社區目錄裏的一個條目,不是 DeepSeek 的官方組件。本篇只介紹資料裏寫明的能力,不評價實際使用效果。
一句話定位¶
對話留在中間,代碼就在手邊。它是掛在 Harness 右側的開發工作臺,用來讀源碼、覈對改動、調試程序和整理講解。當前發佈版本是 1.4.4,包名 @yunlai/dsh-workbench,許可爲 MIT。
核心功能¶
工作臺分六塊能力,下面按 README 的順序逐條說。
文件樹、編輯器和底部工具窗口可調大小,當前對話始終留在旁邊。
| 想做的事 | 怎麼做 |
|---|---|
| 讀懂源碼 | 用文件樹與內容查找定位代碼;標籤保留每個文件的閱讀位置,支持語法高亮、摺疊、同詞高亮、定義跳轉、前進/後退;右鍵標籤可關閉當前、其他或全部文件。 |
| 看清 Python 類關係 | 從文件樹工具欄或 Python 源碼右鍵菜單打開層級樹或分欄圖,查看繼承、抽象類、顯式 Protocol 基類及有源碼依據的工廠返回關聯,點擊節點或方法跳回源碼。目前僅支持 Python,處於 Beta 階段。 |
| 閱讀文檔和圖片 | 對話中的 Markdown 可進入工作臺預覽,也可切回源碼;預覽支持 YAML 標題、標籤、字段、代碼塊高亮與文件鏈接;文件標籤還能預覽 PNG、SVG、ICNS 等圖片和圖標。 |
| 覈對 Git 改動 | 分組查看已暫存、工作區變更與未跟蹤文件,閱讀逐行 diff、提交圖與提交詳情;雙擊 diff 行可跳到當前源碼;可把選中的 diff 行作爲修改任務或講解材料交給新會話。 |
| 檢查真實執行 | 啓動調試或接入已有進程,設置斷點、單步並切換棧幀;暫停時可懸浮查看變量、展開對象、查看行內值及求值,也可一次清理全部斷點。 |
| 運行項目命令 | 從底部打開終端,複用 Harness 終端服務在當前會話的工作區運行命令;切換到查找、變更、歷史、記憶卡片或調試時,編輯區仍可見。 |
Python 類圖基於靜態源碼分析,只讀瀏覽、語法高亮和摺疊對五種語言都成立。Go 和 Java 需要配置本機語言服務,Python 與 JS/TS 的導航依賴隨包安裝。
Python — 定義跳轉 Pyright — 調試 debugpy
Go — 定義跳轉 gopls — 調試 Delve
Java — 定義跳轉 Eclipse JDT LS — 暫無調試
JavaScript — 定義跳轉 TypeScript 語言服務 — vscode-js-debug(Node.js)
TypeScript — 定義跳轉 TypeScript 語言服務 — vscode-js-debug(需生成 JS 和 source map)
調試適配器需單獨配置,配好後可在源碼區設斷點並按 F5,或用右鍵菜單接入已有進程;自定義啓動參數寫入 .dsh/debug.json。
講給我聽與記憶卡片¶
讀懂一段代碼的另一種方式,是把它交給一個講解會話。右鍵文件選「講給我聽」,輸入問題,新會話會嘗試沿源碼和具體輸入講清鏈路,並把完整解釋保存成一張卡。卡片先概括問題,末尾附一道回憶題,讓讀者複述機制或預測邊界情況。
底部的「記憶卡片」按歸檔目錄分組,可組合搜索標題、摘要、標籤、來源與路徑。卡片本身就是項目裏的 Markdown 文件,默認存放在 .dsh/cards/。關聯了源碼的卡片按代碼最近兩級目錄歸檔,未關聯源碼的歸入 general/,已有卡片也能按來源在索引裏重新歸組。
安裝與啓用¶
在線安裝走 Harness 的插件管理器。
- 在 DeepSeek Harness 的插件管理器選擇「安裝插件」,輸入
@yunlai/dsh-workbench,啓用「開發工作臺」。 - 打開一個已註冊的 Git 項目對話,展開右側工具區,在「開始」或「更多工具」中選擇「開發工作臺」。
- 從文件樹打開文件;在支持的源碼中按
F12跳定義,或從底部打開「變更」覈對 diff。
在線安裝用戶可在插件詳情檢查版本並更新,隨後重載或重啓 Harness。當前發佈包要求 Harness 0.2.1-rc.5 或更新版本,運行環境要求 Node.js 22.14.0 或更新版本。
離線或源碼安裝,則下載 Release 中的 ZIP 並解壓,按包內 INSTALL.txt 安裝依賴,再在插件管理器中選擇解壓後的目錄:
git clone https://github.com/Chengyunlai/dsh-workbench.git
cd dsh-workbench
npm ci --omit=dev
這裏假定你本地已經有 Node.js 22.14.0+ 和可用的 Harness 環境。不要直接往倉庫用 dsh plugin add github:owner/repo 這類命令,資料中給出的線上入口是包名。
典型用法¶
以修改異常流處理邏輯爲例。
- 在對話中讓 Agent 改代碼,改完讓它給出改動摘要。
- 在右側底部打開「變更」,分組查看已暫存與工作區變更,雙擊某行 diff 回到當前源碼。
- 在源碼中按
F12跳定義,沿調用鏈讀到實現;需要看整體結構時,從文件樹工具欄打開 Python 類關係圖。 - 選一段可疑邏輯,右鍵文件「講給我聽」,把鏈路講清並落成卡片;之後用底部「記憶卡片」按標籤或來源找回。
- 涉及運行時行爲時,配好調試器後在源碼區設斷點按
F5,暫停後懸浮查看變量並展開對象。
適用場景與注意¶
適合在 DSH 裏做源碼閱讀、改動覈對、演示講解和程序調試的人。工作臺裏的文件閱讀、搜索和 Git 檢查是隻讀操作,源碼改動仍由對話中的 Agent 或你自己常用的編輯器完成;終端和調試則會執行實際命令或程序,卡片也由講解會話寫入項目目錄,內容按工作區的權限與 Git 規則管理。
倉庫的 CI 覆蓋 Linux 與 macOS 的基礎檢查、安裝包驗收及真實語言服務與調試器測試;桌面交互實測覆蓋 macOS,Windows 與 Linux 桌面交互待驗證。插件以當前 DSH 進程的權限運行,安裝前建議先看一下源碼與 MIT 許可。
文檔入口在倉庫根目錄:使用指南 USAGE.md、調試指南 DEBUGGING.md、升級說明 UPGRADING.md,另有 CONTRIBUTING.md、SECURITY.md、AUTOMATION.md。
結尾¶
dsh-workbench 解決的是一個具體的彆扭之處:對話裏剛說過的改動,旁邊就能看、能跳、能覈對、能跑。目錄頁在 https://www.skillhub.cn/plugins/Chengyunlai/dsh-workbench ,倉庫在 https://github.com/Chengyunlai/dsh-workbench 。