dsh-vscode: A sidebar plugin to bridge VS Code into DSH chat

前言

在 DSH 里改代码常见的问题是上下文来回搬:对话里要的文件得先手动找路径、再想办法塞进去,改完又要重新贴回来确认。dsh-vscode 做的事情是把 VS Code 这条链路接到侧边栏上——启动编辑器、浏览工作区、把文件投递给当前对话、在悬浮工作台里边写边同步。下面介绍这个插件。

这是什么

wenjun81/dsh-vscode,维护者 wenjun81,分类「客户端」,目录页 star 为 0,属于较早期的社区作品。它把 VS Code 桥接进 DSH 侧边栏:左侧新增「VScode」入口,主面板提供打开编辑器、浏览工作区文件、把文件作为原文件附件交给当前正在打开的对话、以及用多文档标签的悬浮工作台编辑代码。插件按 DSH 的「一切皆插件」思路实现,宿主半体 index.js、客户端半体 client.js,包名 @wenjun81/dsh-vscode,当前版本 1.1.1,MIT 许可证。

安装与启用

安装不依赖 dsh plugin add 之类的命令,需要先把插件目录放进 profile,再在 package.json 里登记 bundle。示例以桌面 profile 目录 %USERPROFILE%\.dsh\profiles\desktop 为例。

1、获取插件源码目录(README 给出两种方式:git clone https://github.com/wenjun81/dsh-vscode,或下载源码 zip 解压),把它放到本机任意位置。

2、在 profile 目录下用 npm 安装该目录的绝对路径:

cd $env:USERPROFILE\.dsh\profiles\desktop
npm install <dsh-vscode 目录的绝对路径>

3、在 profile 的 package.json 中把 bundle 加进启用列表:

{
  "dependencies": { "@wenjun81/dsh-vscode": "<上一步安装出的版本或链接>" },
  "dsh": { "profile": { "bundles": ["@wenjun81/dsh-vscode"] } }
}

4、在 DSH 插件管理器中启用「dsh-vscode」,刷新页面,左侧边栏出现「VScode」入口。

README 提到:npm 发布后也可直接 npm install @wenjun81/dsh-vscode,目前以 GitHub 获取为准。

典型用法

面板 打开 VS Code:自动探测 Windows/macOS/Linux 上的安装位置,一键启动,可携带工作区;打开文件时用 -g 参数跳到指定行列。

工作区浏览:插件读取 VS Code 的 workspaceStorage,列出最近打开的工作区;选择后列出其中文件,自动排除 node_modules、.git 等目录与二进制文件。

发送文件给 DSH:点击「选择文件…」可多选本机任意位置的文件,拖进面板则进入「暂存区」,可选择发送给 dsh、在工作台编辑或移除。投递目标是当前正在打开的对话,不是首个会话——README 明确说明曾误投到后台子代理会话。对普通会话走官方附件暂存协议(fileUploads + receiptId),文件以真正附件到达;对由子代理路由持有的会话,官方守卫会拒绝附件,此时文本文件自动降级为文本内容并明确说明。

悬浮工作台:可拖到任意位置的编辑卡片,Word/WPS 式多文档标签支持拖动排序,关闭时询问是否保存;任意边界或角都可缩放,字号可输入 10–40 的数值;语法着色使用 VS Code Dark+ 配色,支持 Python、JavaScript、TypeScript、C、C++,按扩展名加内容启发式自动检测,也可手动选择;另有括号/引号自动配对与自动缩进。保存回磁盘走 fs.writeText,「发送给 DSH」把编辑后的内容作为文件附件发出。「自动同步」用 fs.watch 监听文件变化(1.5s 防抖),保存即自动把改动后的文件发到你指定的对话。

配置

配置写在 profile 的 cordis.patch.yml,给本 bundle 的 config 行传值,全部可选,均有默认值:

- insert:
    - id: '@wenjun81/dsh-vscode'
      name: '@wenjun81/dsh-vscode'
      config:
        # 自定义 VS Code 可执行文件路径;Windows 上也可以是 .lnk 快捷方式。空 = 自动探测。
        vscodePath: ''
        # 诊断日志开关(启动/投递探针写系统临时目录)。默认关闭,不写任何文件。
        probeEnabled: false
        # 探针日志目录。空 = 系统临时目录下的 dsh-vscode。
        probeDir: ''
        # Windows:优先尝试桌面的 Visual Studio Code.lnk(explorer.exe 打开 = 等价双击)。
        desktopShortcut: true

适用场景与注意

适合在 Windows 上使用 VS Code、希望在 DSH 对话里直接递交和修改本地文件的开发者。Windows 已实机验证(含桌面快捷方式启动、附件投递、工作台全功能);macOS 与 Linux 的探测链和路径已按平台适配,代码含平台分支,但作者暂无条件实机验证,属实验性支持。

几点需要留意。插件以当前 DSH 进程权限运行,可读写你指定的本地文件并启动 VS Code,安装前应检查 index.js、client.js 源码与 MIT 许可证。隐私方面插件声称不采集、不存储、不传输使用数据,无遥测,除 DSH 自身 RPC 外无网络请求;诊断探针默认关闭,开启后日志只写系统临时目录。目录站 SkillHub 是独立社区站点,与 DeepSeek / 幻方无官方从属关系,该插件也不是官方应用商店上架产品。

目录页:https://www.skillhub.cn/plugins/wenjun81/dsh-vscode
GitHub:https://github.com/wenjun81/dsh-vscode

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

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

Xiaoye