gameswu/dsh-plugin-vscode-sidebar:为 DSH Web 增加 VSCode 风格工作台

前言

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.bundlecordis.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.jsnode-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 内。

使用前注意:

  1. 插件以当前 dsh 进程权限运行,可能访问文件、Git 仓库、终端等本地能力;安装前应检查源码、许可证与构建脚本。
  2. 从 GitHub 安装时建议锁定 commit,避免未预期版本进入工作区。
  3. pnpm ≥10 下需要显式授权构建脚本,且授权构建会在本机执行脚本。
  4. package.json 声明 node >=20
  5. 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

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

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

小夜