前言¶
DeepSeek Harness (DSH) 通過插件機制擴展 Web 界面功能。默認的三欄佈局(側邊欄、中心對話、文件預覽)在處理複雜工作流時,空間分配可能受限。zhangsan5213/dsh-right_sidebar 插件通過重構佈局架構,將內置佈局替換爲五欄結構,並集成了 Git 工作區管理和終端工具,旨在提升開發者的操作效率。
插件簡介¶
這是一個雙端(Host/ Browser)Web 插件。它接管了佈局的擁有權,將 DSH 默認的三欄佈局替換爲一個包含五個列槽的框架。同時,它利用 /workspace-files RPC 通道與 Host 端通信,提供右側的 Git 文件樹、差異預覽以及底部的多標籤終端。
核心功能¶
-
五欄佈局重構
插件接管ui-layout,將界面劃分爲五個列槽:sidebar(側邊欄)、center(中心)、file preview(文件預覽)、files(文件樹)和details(詳情)。 -
Git 工作區集成
右側文件樹顯示 Git 的狀態徽章,支持按變更過濾。文件列表提供 Content(內容)和 Diff(差異)兩個標籤頁進行查看。 -
源代碼控制
提供可視化的 Source Control 面板,將變更分爲Staged Changes(已暫存)和Changes(未暫存)兩組。支持單文件或全部的 Stage/Unstage 操作,並可直接提交已暫存的變更。 -
底部終端停靠
插件在底部實現了一個真實的 Grid 行 Dock。打開 Dock 會自動創建 PTY 會話,支持多標籤頁,輸入轉發至 Host Shell,輸出通過/terminalRPC 通道回顯。關閉最後一個終端會自動隱藏 Dock。
安裝與啓用¶
該插件依賴 DSH 的 Web Profile。
- 確保已安裝 DSH 版本
0.1.0-rc.5或更高。 - 執行安裝命令:
dsh plugin --profile web add github:zhangsan5213/dsh-right_sidebar#main
- 啓動 Web Profile:
dsh web
注意:安裝過程中
pnpm可能會打印 peer-dependency 警告,這是預期行爲,因爲這些依賴由 DSH 安裝提供。
使用說明¶
佈局與調整¶
插件加載後,界面將呈現五欄佈局。拖動面板頂部邊緣可調整 Dock 大小,雙擊頂部邊緣可將面板重置爲 280px 寬度。xterm 組件會在調整大小時自動適配,並保持 80 列的 PTY 寬度以適應全屏命令。
源代碼控制操作¶
在右側 Rail 點擊 Source Control 圖標(分支圖標下方)。面板會列出當前工作區的 Git 狀態。
* 操作:選擇文件或點擊“Stage All/Unstage All”按鈕進行暫存操作。
* 提交:在消息框輸入提交信息並確認提交。
* 查看:點擊文件名可在預覽區打開 Diff 視圖。
終端使用¶
點擊右側 Rail 收起狀態下的終端圖標。Dock 會展開,如果當前沒有終端,會自動創建一個。點擊 + 按鈕可新建標籤頁。輸入命令後按回車,輸出會實時顯示在終端中。點擊標籤頁上的 x 可關閉獨立會話。
注意事項與限制¶
-
權限與操作限制
插件的 Mutations 僅通過/scm通道迴環調用,功能嚴格限制爲git add、git reset和git commit。Discard、push和pull操作故意未暴露。 -
佈局兼容性
由於該插件替換了ui-layout的擁有權,上游對ui-layout的改動無法被此插件自動拾取。如果 DSH 上游合併了五欄槽位,該插件未來可簡化爲輕量級文件樹包。 -
終端限制
目前的 PTY 行數固定,直到 Subprocess Seam 暴露終端調整大小的 Verb。此外,插件通過cordis.patch.yml禁用了內置的ui-layout行,並插入了自身的雙端行,因此ui-sidebar和ui-conversation依賴插件提供的ctx.layout服務。
結語¶
zhangsan5213/dsh-right_sidebar 爲 DSH Web 插件生態提供了一個完整的本地開發環境解決方案。通過五欄佈局和集成的 Git 工具,它改變了原有的交互範式,適合需要在 Agent 開發過程中直接管理代碼和終端的用戶。