← 返回文章

DSH-better-sidebar:可扩展的 DSH 侧边栏

更新于

可扩展的 DSH 侧边栏,内置文件、终端、Git 和子代理。

DSH-better-sidebar 的官方界面或演示截图
封面:来源 · MIT

omdsh-dev 的 DSH-better-sidebar 把文件、Git、编辑器、终端、侧边对话和子代理任务收进一个侧边栏,并额外提供一块可拖拽分栏的底部工作台。它不是一个独立应用,而是挂在 DeepSeek Harness 上的插件,给 DSH 补上“边看边改”的那一半。

装之前先对版本

插件对宿主版本卡得比较细。以当前 README 为例,DSH 0.2.1-rc.1 及以上装最新版:

dsh plugin --profile web add dsh-better-sidebar@latest

装完要硬刷新浏览器(Ctrl/Cmd + Shift + R)。如果宿主仍是 0.2.0-rc.2,README 要求固定到 dsh-better-sidebar@0.26.1;更早的 DSH 也各自对应不同版本,latest 不能跨版本混用。DSH 的 profile 相互独立,装到另一套时侧边栏不会出现,最直接的自检就是看界面里有没有这组标签。

侧边栏里放了什么

文件树是懒加载的,带 Git 状态颜色、目录实时监听、全局搜索和拖拽上传;选中文件后可以在 CodeMirror 编辑器里直接修改,Markdown 预览支持 Mermaid,HTML 预览跑在沙箱 iframe 中。Git 面板分 Source Control 和只读提交图两块:前者按 Merge、Staged、Changes 分组,后者显示分支、引用标签和提交详情,但不会执行 checkout 或 fetch。终端能力由 DSH 本身提供,这个插件不自带 PTY。

DSH-better-sidebar 的界面或功能演示截图
文件树右键菜单中的 Open with 与打包下载入口(仓库截图)

任务页是另一个常被忽略的部分:子代理会以拓扑图或树形展示,后台任务列出退出码、实时输出,还能强制结束。侧边对话仍标着 beta,但已经能继承父会话上下文、独立运行,并一键提升为顶层会话。底部工作台与原生右侧栏可以同时存在,拖拽标签到面板边缘即可分栏,每个会话的布局会持久化。

键盘操作也按编辑器习惯排:Ctrl/Cmd + S 保存、Ctrl/Cmd + F 查找、Ctrl + Enter 提交 Git,中键关闭标签。这些细节决定了它能不能真的替代“编辑器 + 终端 + 聊天”的三窗口切换。

给其他插件的扩展点

侧边栏本身是开放的。插件通过 ctx.betterSidebar 注册新标签页或文件查看器,内置的六个标签页和四个查看器用的也是同一套 API:

import type {} from 'dsh-better-sidebar'
export const inject = ['betterSidebar']
export function apply(ctx: Context) {
ctx.effect(() => ctx.betterSidebar.registerTab({
id: 'my-plugin:db',
title: 'Database',
component: ({ scope }) => <DbView sessionId={scope.sessionId} />,
}))
}

这意味着第三方可以把数据库、文档、评审页直接放进侧栏,而不是另开一个窗口。README 把这类扩展单独列了清单,安装前可以先看有没有现成实现。

一个典型工作日

打开仓库后,左侧继续和 agent 对话,右侧文件树定位到报错文件,改完在底部终端跑测试,再切到 Git 面板看本次改动。需要问一个不影响主线的问题时,开侧边对话,确认后再提升为主会话。整个过程不需要在 VS Code 和 DSH 之间复制粘贴路径。

与编辑器侧栏的分工

VS Code 的侧栏在编辑、调试和插件生态上更完整;DSH-better-sidebar 的优势是把“会话”放在同一屏,文件操作和 agent 上下文不会断。它也不替代 DSH 自带预览:原生预览偏只读,这个插件补的是可编辑与批量文件操作。若工作主要是精细重构和调试,仍应在编辑器里完成,再把结果带回 DSH。

权限边界要自己看

README 明确写着:从 v0.23.0 起,文件系统路由不做 workspace containment 检查,能读写宿主用户可达的任意路径,只受操作系统权限约束。HTML 预览默认在 opaque-origin 沙箱中,但沙箱可以在设置里按功能关闭。Git 侧只读提交图,不提供 push、pull、fetch;文件树只监听已展开的目录;移动端窄屏没有底部面板,标签会合并进全宽抽屉。本文按官方 README 与仓库元数据整理,未在本机完整实测。

适合谁

适合把 DSH 当主力工作台、需要在一个窗口里看文件、跑命令、审 diff 的人,也适合想给团队做内部侧栏页面的插件作者。只偶尔用 DSH 聊天、或者更愿意留在 IDE 里的用户,装上后大概率只会多一层界面。

官方入口