前言¶
DeepSeek Harness (DSH) 的插件機制允許開發者通過疊加功能擴展系統能力。dsh-vscode-workbench 插件旨在 DSH 環境中疊加一個 VS Code 風格的本地開發工作臺。它將資源管理、代碼編輯、Git 操作和終端集成在一個統一的界面中,解決了在智能體開發過程中需要頻繁切換窗口或使用外部工具來管理本地文件與代碼狀態的問題。
插件簡介¶
插件名稱:dsh-vscode-workbench
維護者:tingfeng347
許可證:MIT
該插件通過 DSH 的擴展點掛載,不替換或卸載 ui-layout,而是作爲疊加層存在。它提供了一套完整的本地開發環境體驗,包括 Monaco 編輯器、可視化 Git 工作流、多會話終端以及與 DSH 對話能力的無縫集成。
核心功能¶
文件與編輯器¶
- Monaco 編輯器:支持多標籤頁、髒狀態標記、原子保存與衝突檢測。
- 文件類型支持:支持文本、Markdown、圖片、PDF 和 Word 文檔的直接打開與預覽。
- 文件操作:支持創建、上傳、拖放、重命名、刪除以及查看 Git 狀態。
可視化 Git 工作流¶
- 提供覆蓋狀態、暫存、提交、分支、差異等 Git 操作的圖形化界面。
- 支持提交文件查看和泳道式提交圖。
- 搜索功能基於
@vscode/ripgrep,支持大小寫、全詞匹配、正則表達式及路徑篩選。
終端¶
- 基於
node-pty和 xterm.js 實現。 - 支持最多 8 個終端會話,支持會話重命名、右側切換和分屏。
- 支持 ANSI 輸出和
Ctrl+C信號處理。
佈局與 DSH 集成¶
- 佈局管理:左側視圖、終端面板和右側 DSH 對話欄可獨立顯示和調整寬度。
- 主題與設置:主題與佈局集中在工作臺設置中管理。
- 上下文同步:刷新後可恢復活動視圖、標籤頁、目錄展開狀態、面板顯示及佈局配置。
安裝與配置¶
基礎安裝¶
使用官方命令安裝插件:
dsh plugin --profile web add dsh-vscode-workbench
首次安裝終端支持¶
終端依賴 node-pty。在 DSH 環境中,如果使用 pnpm 11,首次安裝時構建腳本可能會被攔截,導致安裝失敗。這是預期的安全檢查行爲。
解決步驟如下:
- 進入插件配置目錄:
cd ~/.dsh/profiles/web
- 批准構建腳本並重新安裝依賴:
pnpm approve-builds --all
- 重啓
dsh web服務。 - 如果終端仍提示加載失敗,可執行:
pnpm approve-builds --all && pnpm rebuild node-pty
使用說明¶
安裝完成後,可以通過快捷鍵或左側活動欄按鈕切換視圖。
典型的項目開發流程示例:
cd ~/.dsh/profiles/web
pnpm install && pnpm typecheck && pnpm test && pnpm build
快捷鍵參考¶
| 快捷鍵 | 操作 |
|---|---|
Ctrl+Shift+E |
打開資源管理器 |
Ctrl+Shift+F |
打開搜索 |
Ctrl+Shift+G |
打開源代碼管理 |
Ctrl+S |
保存當前文件 |
Ctrl+Alt+B |
顯示或隱藏 DSH 對話欄 |
| `Ctrl+`` | 顯示或隱藏終端 |
| `Ctrl+Shift+`` | 新建終端 |
注意事項¶
安全性¶
- 路徑限制:Host 只接受當前 DSH 會話工作目錄內的相對路徑,並阻止目錄穿越與符號鏈接越界。
- 命令執行:Git 與 ripgrep 使用參數數組啓動,不拼接 Shell 命令,防止命令注入。
- 終端安全:終端只接受同源 loopback 請求,固定在會話工作目錄啓動,並移除 API key、token、secret 等敏感環境變量。
- 數據一致性:保存操作使用版本校驗與原子替換,避免靜默覆蓋。
環境依賴¶
- Node.js:要求
^22.19 || >=24 - pnpm:要求
11.7 - 系統工具:需要安裝系統 Git。
附錄¶
- GitHub 倉庫:https://github.com/tingfeng347/dsh-vscode-workbench
- DSH 插件目錄:https://www.skillhub.cn/plugins/tingfeng347/dsh-vscode-workbench