gameswu/dsh-plugin-vscode-sidebar:爲 DSH Web 增加 VSCode 風格工作臺

前言

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.bundlecordis.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.jsnode-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 內。

使用前注意:

  1. 插件以當前 dsh 進程權限運行,可能訪問文件、Git 倉庫、終端等本地能力;安裝前應檢查源碼、許可證與構建腳本。
  2. 從 GitHub 安裝時建議鎖定 commit,避免未預期版本進入工作區。
  3. pnpm ≥10 下需要顯式授權構建腳本,且授權構建會在本機執行腳本。
  4. package.json 聲明 node >=20
  5. 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜