前言¶
DSH 的理念是「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
在 DSH Web 中做代码相关工作时,只靠对话窗口有时不够:文件浏览、编辑器、Git 提交、终端输出和后台任务如果分散在多个窗口,会打断当前会话上下文。下面介绍的 gameswu/dsh-plugin-vscode-sidebar 是一个客户端插件,把文件浏览器、编辑器、终端、源代码管理、内嵌浏览器和任务管理放进 DSH Web 的右侧栏和底部面板,并按会话隔离。
这是什么¶
- 名称:
gameswu/dsh-plugin-vscode-sidebar - 维护者:
gameswu - 类别:客户端
- 许可证:MIT
- 定位:为 DSH(DeepSeek Harness)Web 界面提供 VSCode 风格右侧栏,并扩展底部面板,包含文件浏览器、编辑器、终端、源代码管理、内嵌浏览器和任务管理。
该插件是一个自带补丁层的组合包,包含 dsh.bundle 和 cordis.patch.yml。安装时会自动把包挂载进 dsh.profile.bundles。
核心功能¶
文件浏览器¶
文件浏览器使用懒加载目录树,并通过 vscode-icons 按文件类型显示图标。支持新建文件、新建文件夹、重命名和删除;删除操作需要确认。
在 Git 仓库中,被 .gitignore 忽略的文件会以低亮度灰显,但仍保留在列表中;文件旁边会显示 Git 状态字母徽章。
大目录默认按窗口渲染,默认显示 200 项,其余折叠,避免大量目录条目一次性进入 DOM。
编辑器与 Markdown 预览¶
编辑器使用 Monaco 进行文本编辑,支持全语言语法高亮。Ctrl+S 保存文件;未保存状态会在 tab 标题中显示提示,也可以在设置中改为自动保存。图片、Markdown、HTML、PDF 支持内联预览。
Markdown 预览使用 DSH 渲染器,支持 KaTeX 数学公式和图片渲染。文档中的相对链接和文件提及可以跳转打开对应文件。
源代码管理¶
源代码管理面板提供彩色状态徽章、+a −d 行数统计、行内 diff、提交和分支切换,并显示 ahead/behind。它支持历史记录泳道轨迹图,可以自动探测子目录中的 Git 仓库,也可以配置排除目录。
终端与内嵌浏览器¶
终端基于 xterm.js 和 node-pty 提供真实 shell。它可选为模型注入 terminal_* 工具。
内嵌浏览器使用沙箱 iframe,可以多开网页 tab。
任务管理¶
任务管理用于查看 subagent 拓扑和后台任务卡片。点击任务卡片可以展开终端风格流式输出;可以设置新任务自动展开。
运行中的 subagent 会置顶,历史 subagent 排在下方并可折叠。任务与终端列表也采用折叠显示,只挂载可见窗口内的内容。
设置、布局与扩展¶
全部设置接入插件配置页,修改后即时生效,无需重启。界面文案跟随 DSH 语言(zh/en)实时切换,面板布局按会话持久化。
插件还暴露服务,供其他插件注册 sidebar tabs 和 file viewers。
安装与启用¶
安装命令¶
本地路径安装时,把 <路径>/dsh-plugin-vscode-sidebar 替换为本仓库目录:
dsh plugin --profile web add <路径>/dsh-plugin-vscode-sidebar
从 GitHub 安装时,建议锁定 commit。命令中的 <sha> 是占位符,需要替换为你要安装的 commit:
dsh plugin --profile web add github:gameswu/dsh-plugin-vscode-sidebar#<sha>
pnpm >=10 的构建许可¶
从 GitHub 安装时,pnpm 可能会在安装后运行本包的 prepare 构建脚本来生成 lib/。pnpm ≥10 默认拒绝执行,因此首次 add 可能失败,并提示把包键加入该 profile 的 pnpm-workspace.yaml。需要补充如下配置后重试:
allowBuilds:
dsh-plugin-vscode-sidebar: true
node-pty: true
protobufjs: true
这里涉及授权构建:安装时会在你的机器上执行本包的构建脚本,请只对可信来源授权。
重启与卸载¶
安装完成后,重启 Web 界面使插件生效:
dsh web
卸载时执行:
dsh plugin --profile web remove dsh-plugin-vscode-sidebar
典型用法¶
从本地路径安装¶
先准备仓库目录,再使用本地路径安装:
dsh plugin --profile web add <路径>/dsh-plugin-vscode-sidebar
安装后重启 Web 界面:
dsh web
从 GitHub 安装并配置构建许可¶
使用锁定 commit 的安装命令:
dsh plugin --profile web add github:gameswu/dsh-plugin-vscode-sidebar#<sha>
如果 pnpm ≥10 环境下首次安装失败,按提示修改 pnpm-workspace.yaml:
allowBuilds:
dsh-plugin-vscode-sidebar: true
node-pty: true
protobufjs: true
然后重试安装,并重启 Web 界面。
开发调试¶
开发侧使用 pnpm 安装依赖、构建和运行测试:
pnpm install
pnpm build
pnpm test
本地路径安装(pnpm link)会直接使用本仓库的构建产物。host 半改动需要重启 dsh web:
dsh web
仅 client 半改动时,重新构建后在浏览器硬刷新即可:
Ctrl+Shift+R
适用场景与注意¶
适合在 DSH Web 中同时操作文件、Markdown、Git、终端和 subagent 任务的人。如果工作流需要快速浏览代码、预览文档、提交 Git、查看后台任务输出,这个插件可以把这些面板集中到 DSH Web 内。
使用前注意:
- 插件以当前 dsh 进程权限运行,可能访问文件、Git 仓库、终端等本地能力;安装前应检查源码、许可证与构建脚本。
- 从 GitHub 安装时建议锁定 commit,避免未预期版本进入工作区。
- pnpm ≥10 下需要显式授权构建脚本,且授权构建会在本机执行脚本。
package.json声明node >=20。- DSH 版本兼容性:v0.2.0 起适配 DSH Web ≥ 0.1.1-rc.2;更早的 DSH 仍可用,但编辑器/终端懒加载需要运行时提供
ctx.modules或旧全局。
结尾¶
gameswu/dsh-plugin-vscode-sidebar 把 VSCode 风格的文件、编辑、Git、终端、浏览器和任务管理放进 DSH Web,并保持按会话隔离。安装前确认来源可信,安装后重启 dsh web 即可使用。
GitHub 仓库:https://github.com/gameswu/dsh-plugin-vscode-sidebar