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