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 开发过程中直接管理代码和终端的用户。

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

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

小夜