前言¶
DSH 的理念是「一切皆插件」,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
在 DSH Web 中做代碼相關工作時,只靠對話窗口有時不夠:文件瀏覽、編輯器、Git 提交、終端輸出和後臺任務如果分散在多個窗口,會打斷當前會話上下文。下面介紹的 gameswu/dsh-plugin-vscode-sidebar 是一個客戶端插件,把文件瀏覽器、編輯器、終端、源代碼管理、內嵌瀏覽器和任務管理放進 DSH Web 的右側欄和底部面板,並按會話隔離。
這是什麼¶
- 名稱:
gameswu/dsh-plugin-vscode-sidebar - 維護者:
gameswu - 類別:客戶端
- 許可證:MIT
- 定位:爲 DSH(DeepSeek Harness)Web 界面提供 VSCode 風格右側欄,並擴展底部面板,包含文件瀏覽器、編輯器、終端、源代碼管理、內嵌瀏覽器和任務管理。
該插件是一個自帶補丁層的組合包,包含 dsh.bundle 和 cordis.patch.yml。安裝時會自動把包掛載進 dsh.profile.bundles。
核心功能¶
文件瀏覽器¶
文件瀏覽器使用懶加載目錄樹,並通過 vscode-icons 按文件類型顯示圖標。支持新建文件、新建文件夾、重命名和刪除;刪除操作需要確認。
在 Git 倉庫中,被 .gitignore 忽略的文件會以低亮度灰顯,但仍保留在列表中;文件旁邊會顯示 Git 狀態字母徽章。
大目錄默認按窗口渲染,默認顯示 200 項,其餘摺疊,避免大量目錄條目一次性進入 DOM。
編輯器與 Markdown 預覽¶
編輯器使用 Monaco 進行文本編輯,支持全語言語法高亮。Ctrl+S 保存文件;未保存狀態會在 tab 標題中顯示提示,也可以在設置中改爲自動保存。圖片、Markdown、HTML、PDF 支持內聯預覽。
Markdown 預覽使用 DSH 渲染器,支持 KaTeX 數學公式和圖片渲染。文檔中的相對鏈接和文件提及可以跳轉打開對應文件。
源代碼管理¶
源代碼管理面板提供彩色狀態徽章、+a −d 行數統計、行內 diff、提交和分支切換,並顯示 ahead/behind。它支持歷史記錄泳道軌跡圖,可以自動探測子目錄中的 Git 倉庫,也可以配置排除目錄。
終端與內嵌瀏覽器¶
終端基於 xterm.js 和 node-pty 提供真實 shell。它可選爲模型注入 terminal_* 工具。
內嵌瀏覽器使用沙箱 iframe,可以多開網頁 tab。
任務管理¶
任務管理用於查看 subagent 拓撲和後臺任務卡片。點擊任務卡片可以展開終端風格流式輸出;可以設置新任務自動展開。
運行中的 subagent 會置頂,歷史 subagent 排在下方並可摺疊。任務與終端列表也採用摺疊顯示,只掛載可見窗口內的內容。
設置、佈局與擴展¶
全部設置接入插件配置頁,修改後即時生效,無需重啓。界面文案跟隨 DSH 語言(zh/en)即時切換,面板佈局按會話持久化。
插件還暴露服務,供其他插件註冊 sidebar tabs 和 file viewers。
安裝與啓用¶
安裝命令¶
本地路徑安裝時,把 <路徑>/dsh-plugin-vscode-sidebar 替換爲本倉庫目錄:
dsh plugin --profile web add <路徑>/dsh-plugin-vscode-sidebar
從 GitHub 安裝時,建議鎖定 commit。命令中的 <sha> 是佔位符,需要替換爲你要安裝的 commit:
dsh plugin --profile web add github:gameswu/dsh-plugin-vscode-sidebar#<sha>
pnpm >=10 的構建許可¶
從 GitHub 安裝時,pnpm 可能會在安裝後運行本包的 prepare 構建腳本來生成 lib/。pnpm ≥10 默認拒絕執行,因此首次 add 可能失敗,並提示把包鍵加入該 profile 的 pnpm-workspace.yaml。需要補充如下配置後重試:
allowBuilds:
dsh-plugin-vscode-sidebar: true
node-pty: true
protobufjs: true
這裏涉及授權構建:安裝時會在你的機器上執行本包的構建腳本,請只對可信來源授權。
重啓與卸載¶
安裝完成後,重啓 Web 界面使插件生效:
dsh web
卸載時執行:
dsh plugin --profile web remove dsh-plugin-vscode-sidebar
典型用法¶
從本地路徑安裝¶
先準備倉庫目錄,再使用本地路徑安裝:
dsh plugin --profile web add <路徑>/dsh-plugin-vscode-sidebar
安裝後重啓 Web 界面:
dsh web
從 GitHub 安裝並配置構建許可¶
使用鎖定 commit 的安裝命令:
dsh plugin --profile web add github:gameswu/dsh-plugin-vscode-sidebar#<sha>
如果 pnpm ≥10 環境下首次安裝失敗,按提示修改 pnpm-workspace.yaml:
allowBuilds:
dsh-plugin-vscode-sidebar: true
node-pty: true
protobufjs: true
然後重試安裝,並重啓 Web 界面。
開發調試¶
開發側使用 pnpm 安裝依賴、構建和運行測試:
pnpm install
pnpm build
pnpm test
本地路徑安裝(pnpm link)會直接使用本倉庫的構建產物。host 半改動需要重啓 dsh web:
dsh web
僅 client 半改動時,重新構建後在瀏覽器硬刷新即可:
Ctrl+Shift+R
適用場景與注意¶
適合在 DSH Web 中同時操作文件、Markdown、Git、終端和 subagent 任務的人。如果工作流需要快速瀏覽代碼、預覽文檔、提交 Git、查看後臺任務輸出,這個插件可以把這些面板集中到 DSH Web 內。
使用前注意:
- 插件以當前 dsh 進程權限運行,可能訪問文件、Git 倉庫、終端等本地能力;安裝前應檢查源碼、許可證與構建腳本。
- 從 GitHub 安裝時建議鎖定 commit,避免未預期版本進入工作區。
- pnpm ≥10 下需要顯式授權構建腳本,且授權構建會在本機執行腳本。
package.json聲明node >=20。- DSH 版本兼容性:v0.2.0 起適配 DSH Web ≥ 0.1.1-rc.2;更早的 DSH 仍可用,但編輯器/終端懶加載需要運行時提供
ctx.modules或舊全局。
結尾¶
gameswu/dsh-plugin-vscode-sidebar 把 VSCode 風格的文件、編輯、Git、終端、瀏覽器和任務管理放進 DSH Web,並保持按會話隔離。安裝前確認來源可信,安裝後重啓 dsh web 即可使用。
GitHub 倉庫:https://github.com/gameswu/dsh-plugin-vscode-sidebar