从 Session 页头或 Workspace 菜单用检测到或配置的编辑器打开当前已登记 Workspace,支持热重新检测和浏览器首选项记忆。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-open-with
# Release 预构建包
dsh plugin --profile web add "https://github.com/ChuanTianML/dsh-open-with/releases/download/v0.2.1/dsh-open-with-0.2.1.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ChuanTianML/dsh-open-with
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
从 DeepSeek Harness Web 界面用本机编辑器打开当前已经登记的 Workspace。Session 页头中的紧凑分段按钮可以直接启动首选编辑器,也可以打开完整的编辑器选择菜单;兼容客户端仍然保留 Workspace … 菜单入口。
English | 中文
演示
上面的录制展示了为兼容性保留的 Workspace 菜单入口。从 0.2.0 开始,同一个选择器也可以直接从当前 Session 页头使用。
功能
- Session 页头通过 Host 投影的 Workspace
sessionIds映射当前会话,不会根据浏览器路径猜测 Workspace。 - Host 会检测 VS Code 系列、Cursor、Windsurf、Zed、Trae、VSCodium、常见 JetBrains IDE、Android Studio、Sublime Text、系统终端和文件管理器;管理员配置可以新增启动目标,也可以覆盖内置项。
- 主操作使用 Host 默认值或当前浏览器记住的编辑器打开 Workspace。点击右侧箭头可以选择其他编辑器;选中的编辑器会启动并成为当前浏览器的首选项。
- 选择“重新检测编辑器”会重新执行 Host 检测,并原子更新所有已经挂载的页头和 Workspace 菜单入口,不需要重启 DSH。
- 配置过但找不到的编辑器会保留为禁用菜单项,并显示修复提示;未安装的自动检测候选不会占用菜单。
- 客户端在 Host 声明
sidebar.workspaces.row-menu时使用原生插槽;客户端尚未提供该插槽时,使用受限兼容适配器。 - 编辑器进程启动后与 DSH Web 服务器分离,可以独立存活。Windows 启动会保留应用的首个可见窗口;子进程不会继承 Host 的 API key、token、密码及其他凭据环境变量。
自动检测目标
| 平台 | 自动检测的目标 |
|---|---|
| macOS | VS Code、VS Code Insiders、Cursor、Windsurf、Zed、Trae、VSCodium、IntelliJ IDEA、WebStorm、PyCharm、GoLand、CLion、Rider、PhpStorm、RubyMine、DataGrip、RustRover、Android Studio、Sublime Text、终端、Finder |
| Windows | 同一组编辑器应用,以及 Windows Terminal、文件资源管理器 |
| Linux | 同一组编辑器应用,以及 x-terminal-emulator、xdg-open |
所有平台都会查询 PATH;macOS 和 Windows 还会检查各内置配置中列出的标准应用目录。Windows 还会查询系统 App Paths 注册项和限定范围内的 JetBrains Toolbox apps 目录。Host 插件加载时以及用户选择“重新检测编辑器”时都会执行检测。修改插件配置仍然需要重启 DSH。
前置条件
- 至少存在一个可用的内置编辑器或已配置的编辑器可执行文件。
- DSH
0.1.0-rc.5或更高版本。较新的运行时可以提供原生 Workspace 行菜单插槽;较早的兼容客户端使用受限适配器。
安装
把插件加入 Web profile:
dsh plugin --profile web add https://github.com/ChuanTianML/dsh-open-with/archive/refs/tags/v0.2.1.tar.gz
使用 SIGTERM 重启 Web 服务器,等待它退出后刷新页面。切勿使用 kill -9,否则可能中断 Session zstd 写入。使用以下命令确认安装版本:
dsh plugin --profile web list dsh-open-with --depth 0
配置
所有部署选项都是经过校验的 Cordis 配置字段:
| 键 | 默认值 | 含义 |
|---|---|---|
autoDetect |
true |
加入当前平台上可用的内置编辑器。 |
editors |
[] |
新增或覆盖内置项的白名单 { id, label, command, args } 编辑器配置。 |
defaultEditor |
vscode |
当前浏览器尚未保存选择时使用的首选编辑器 id。 |
示例:
- id: dsh-open-with
name: dsh-open-with
config:
defaultEditor: cursor
editors:
- id: fleet
label: Fleet
command: fleet
args: []
编辑器 id 只能包含小写字母、数字、点、下划线和连字符。重复的自定义 id、空名称和非法 id 会导致插件加载失败。自定义配置与内置项使用相同 id 时会覆盖该内置启动方案,例如可以把 vscode 指向 VS Code Insiders,同时命令仍不会发送到浏览器。
能力边界
浏览器只能获得编辑器 id、名称、可用状态和修复提示,命令和参数不会经过线协议。打开请求只携带 Workspace id 和编辑器 id;Host 通过 ctx.workspaceRegistry 解析 Workspace,并通过已经校验的编辑器白名单解析命令,然后才会启动进程。
编辑器进程会继承打开图形应用所需的桌面和会话变量,但 Host 会移除变量名表明其包含 API key、access token、secret、credential、password、private key、connection string 或 database URL 的环境变量。SSH_AUTH_SOCK 只指向用户的 agent socket,并不直接包含凭据,因此会保留。
插件只能打开仍然存在目录的已登记 Workspace。它不会读取、写入、克隆、同步或上传 Workspace 文件,也不注册模型工具、技能、提示词或模型可见事件。启动操作来自用户在 Web 界面中的明确点击,因此不需要 Agent 审批。
首选编辑器保存在当前浏览器中。不同浏览器可以选择不同的默认值,而不改变 Host 配置。
只有 Host 接受启动后才会更新首选项。启动失败不会改变原选择,并会通过浏览器临时提示明确告知用户。在兼容客户端中,键盘导航会临时显示原本只有悬浮时可见的 Workspace 操作按钮。
开发
仓库使用相邻的 ../dsh DeepSeek Harness 源码作为开发期链接依赖。
pnpm install
pnpm run check
pnpm run check 会执行类型检查、lint、测试和生产构建。file profile 安装不会自动构建包,因此需要提交 lib/。
src/contract.ts 中的严格 Typert 描述符由 Host manifest 和客户端 Remote 贡献共用。Host 编辑器注册表负责可执行文件发现和命令隐私,Workspace 注册表负责从 id 解析路径。行菜单插槽声明由 Harness 持有;该声明进入公开客户端包之前,插件使用一个窄类型适配器。
交互约定、安全边界、兼容方案和验证策略详见 DESIGN.md。
License
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8121
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8121
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
omdsh-dev/DSH-better-sidebar★ 3868
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
ccch1mneyyy/dsh-TUI★ 3734
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 3369
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1665
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。

社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。