zhangsan5213/dsh-right_sidebar: 五欄佈局與 Git 工作區插件

前言

DeepSeek Harness (DSH) 通過插件機制擴展 Web 界面功能。默認的三欄佈局(側邊欄、中心對話、文件預覽)在處理複雜工作流時,空間分配可能受限。zhangsan5213/dsh-right_sidebar 插件通過重構佈局架構,將內置佈局替換爲五欄結構,並集成了 Git 工作區管理和終端工具,旨在提升開發者的操作效率。

插件簡介

這是一個雙端(Host/ Browser)Web 插件。它接管了佈局的擁有權,將 DSH 默認的三欄佈局替換爲一個包含五個列槽的框架。同時,它利用 /workspace-files RPC 通道與 Host 端通信,提供右側的 Git 文件樹、差異預覽以及底部的多標籤終端。

核心功能

  1. 五欄佈局重構
    插件接管 ui-layout,將界面劃分爲五個列槽:sidebar(側邊欄)、center(中心)、file preview(文件預覽)、files(文件樹)和 details(詳情)。

  2. Git 工作區集成
    右側文件樹顯示 Git 的狀態徽章,支持按變更過濾。文件列表提供 Content(內容)和 Diff(差異)兩個標籤頁進行查看。

  3. 源代碼控制
    提供可視化的 Source Control 面板,將變更分爲 Staged Changes(已暫存)和 Changes(未暫存)兩組。支持單文件或全部的 Stage/Unstage 操作,並可直接提交已暫存的變更。

  4. 底部終端停靠
    插件在底部實現了一個真實的 Grid 行 Dock。打開 Dock 會自動創建 PTY 會話,支持多標籤頁,輸入轉發至 Host Shell,輸出通過 /terminal RPC 通道回顯。關閉最後一個終端會自動隱藏 Dock。

安裝與啓用

該插件依賴 DSH 的 Web Profile。

  1. 確保已安裝 DSH 版本 0.1.0-rc.5 或更高。
  2. 執行安裝命令:
dsh plugin --profile web add github:zhangsan5213/dsh-right_sidebar#main
  1. 啓動 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 可關閉獨立會話。

注意事項與限制

  1. 權限與操作限制
    插件的 Mutations 僅通過 /scm 通道迴環調用,功能嚴格限制爲 git add、git reset 和 git commit。Discard、push 和 pull 操作故意未暴露。

  2. 佈局兼容性
    由於該插件替換了 ui-layout 的擁有權,上游對 ui-layout 的改動無法被此插件自動拾取。如果 DSH 上游合併了五欄槽位,該插件未來可簡化爲輕量級文件樹包。

  3. 終端限制
    目前的 PTY 行數固定,直到 Subprocess Seam 暴露終端調整大小的 Verb。此外,插件通過 cordis.patch.yml 禁用了內置的 ui-layout 行,並插入了自身的雙端行,因此 ui-sidebar 和 ui-conversation 依賴插件提供的 ctx.layout 服務。

結語

zhangsan5213/dsh-right_sidebar 爲 DSH Web 插件生態提供了一個完整的本地開發環境解決方案。通過五欄佈局和集成的 Git 工具,它改變了原有的交互範式,適合需要在 Agent 開發過程中直接管理代碼和終端的用戶。

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

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

小夜