DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-vscode-opener

p

dsh-vscode-opener

Manifest valid

在deepseek harness聊天框加入VS code和文件管理器按钮

UI (client)

dsh-vscode-opener

DSH Web 插件:在对话界面一键用 VS Code 或资源管理器打开当前会话的工作目录,同时注册 /vscode 斜杠命令。

  • 输入栏按钮:composer 左侧扩展槽里并排放置 VS Code 和资源管理器两个按钮。VS Code 按钮使用VS Code 官方应用图标(Microsoft 品牌素材 stable 版,与安装的 VS Code 图标一致;原 SVG 存于 assets/vscode-stable-official.svg),另一个使用文件夹图标;点击即把当前会话目录交给宿主进程打开;静默执行,不会在对话中产生任何命令行;成功后图标短暂变绿,失败变红并在 tooltip 中显示原因。
  • /vscode 命令:注册到宿主命令注册表(全局),在输入框输入 /vscode 或从 / 菜单选择,同样生效;可带可选路径参数 /vscode path/to/dir(相对路径基于会话 cwd 解析)。与按钮不同,命令执行的结果作为持久的 command/run / command/done 流程节点显示在对话中。

安装

# 1. 安装到 web profile(link: 方式,源码改动即时生效,无需重新 add)
dsh plugin --profile web add "<path-to-repo>"

# 2. 在 <user-profile>\.dsh\profiles\web\cordis.patch.yml 中挂载该行:
#    - insert:
#        - id: vscode-opener
#          name: dsh-vscode-opener
#          config:
#            codeCommand: code
#            reuseWindow: false

# 3. 重启 dsh web

配置

| 键 | 默认值 | 说明 | |---|---|---| | codeCommand | code | 启动命令。裸名称(如 code)会先在 PATH 上探测,Windows 下再依次探测 %LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe%ProgramFiles%\Microsoft VS Code\Code.exe%ProgramFiles(x86)%\Microsoft VS Code\Code.exe;也可配置为完整路径,如 C:\Program Files\Microsoft VS Code\Code.exe | | reuseWindow | false | 为 true 时传 -r,在最近使用的窗口打开而非新开窗口 |

工作原理

  • 宿主半侧(src/index.ts):通过 ctx.commands.register() 注册 /vscode 命令,处理器从 invocation.agent.session.header.cwd 取会话工作目录,用 child_process.spawn(detached + stdio: 'ignore' + unref())脱离式启动 VS Code;同时注册 /plugin/dsh-vscode-opener/launch/plugin/dsh-vscode-opener/open-explorer 两个静默路由和 /plugin/dsh-vscode-opener/icon 图标路由。
  • 客户端半侧(src/client/index.tsx):在 conversation.input.left 槽位注册两个并排按钮,点击后直接 fetch 对应的静默启动路由。因为绕开了命令运行时(CommandRuntime.execute 会无条件记录 command/run / command/done 生命周期事件),按钮点击不会在对话里留下任何命令行;只有手动输入的 /vscode 才走命令通道并显示结果行。
  • 构建产物必须符合 Web 模块系统的 lazy-CJS 契约:lib/client.jswindow.__ModuleLoader__.load({ id, factory }) 包装的经典脚本,工厂函数返回 { apply, inject },CSS 在工厂物化时注入 <style data-plugin-css>

开发循环

cd "<path-to-repo>"
npm install        # 首次安装依赖并生成 lib
npm test           # build + 客户端 bundle 冒烟测试

# 可选:显式开启会真正启动 VS Code 的冒烟测试
$env:RUN_VSCODE_SMOKE = '1'
$env:SMOKE_CWD = (Get-Location).Path
node smoke-test.mjs

改完代码后 node build.mjs,然后重启 dsh web(宿主行与客户端 bundle 都在启动时扫描/哈希)。link: 安装意味着无需重新 pnpm add。

注意事项

  • 重启才生效:客户端插件清单在 dsh web 启动时扫描,/plugins/dsh-vscode-opener/client.js 的 hash 也取启动时快照。
  • /vscode <路径> 的参数会原样解析后交给 code;局域网可信客户端本就有完整 API 权限,本插件不额外收紧,亦不额外放宽。
  • 仅 web profile 验证过(按钮需要 Web 界面);headless 下 /vscode 命令本身可用,但没有按钮。

兼容性与安全边界

  • 需要宿主提供 DSH 的命令、Web Server、会话和 Web 插件槽位接口;当前仅验证过 web profile。
  • 按钮使用的静默启动路由仅接受 POST,但仍会在宿主机器上启动本地程序。请确保 dsh web 的鉴权和网络暴露范围适合你的使用场景,不要把它暴露给不可信客户端。
  • /vscode <路径> 支持相对路径和绝对路径;这是为打开会话目录之外的目录保留的能力,只应在可信会话中使用。
  • assets/vscode-stable-official.svg 的品牌说明见 NOTICE.md

Similar plugins

dsh-command-vscode

by foxi-ui

Deepseek Harness 插件-工作区快速打开编辑器vscode、idea等

Manifest valid

0

MIT

JavaScript

Aug 19, 2026

dsh plugin --profile web add @foxi-ai/dsh-command-vscode

by hyrinx

在DeepSeek Harness Web 会话头部添加胶囊拆分按钮,一键在当前工作区打开VS Code、终端(CMD / PowerShell)和文件资源管理器。

UI & ExperienceManifest valid

3

233/wk

MIT

TypeScript

Sep 6, 2026

dsh plugin --profile web add dsh-plugin-open-with

by chengzhi43

A VS Code-style file manager plugin for DeepSeek Harness Web / DeepSeek Harness 的 VS Code 风格文件管理器插件

UI & ExperienceManifest valid

8

MIT

TypeScript

Sep 4, 2026

dsh plugin --profile web add @rose43/dsh-file

by omdsh-dev

Open DeepSeek Harness workspace directories in VS Code directly from the web GUI.

Tools & CapabilitiesNotifications & IntegrationsManifest valid

53

MIT

JavaScript

Aug 16, 2026

dsh plugin --profile web add dsh-open-in-vscode

by xuqingsakura

DeepSeek Harness 独立工作台窗口插件:VSCode 风格的文件树 / 编辑器 / 终端 / Git / 浏览器,按会话隔离。

Manifest valid

0

JavaScript

Aug 21, 2026

dsh plugin --profile web add dsh-workbench-window

by tingfeng347

DeepSeek Harness 的 VS Code 风格本地开发工作台:文件管理、Monaco 编辑、文档预览、搜索、Git、分屏终端与 DSH 对话一体化。

UI & ExperienceManifest valid

9

MIT

TypeScript

Sep 1, 2026

dsh plugin --profile web add dsh-vscode-workbench