DeepSeek Harness 插件

dsh-editor-launcher

DeepSeek Harness plugin: open the current workspace in a detected editor (VS Code, GoLand, PhpStorm, HBuilderX, …) from a header dropdown(英文原文)

跳到安装方式

来源信息

GitHub 仓库
904915452/dsh-editor-launcher
最近更新
2026年8月17日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/904915452/dsh-editor-launcher
插件名:dsh-editor-launcher
作者:904915452

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

@zhangqingyu/dsh-editor-launcher

DeepSeek Harness 插件:在会话头部加一个「在编辑器中打开」下拉框,自动扫描本机已安装的编辑器(VS Code、Cursor、Windsurf、GoLand、PhpStorm、WebStorm、IntelliJ IDEA、PyCharm、CLion、Rider、HBuilderX、Sublime Text、Atom),一键用选中的编辑器打开当前会话所在的工作区

功能

  • 打开下拉框,列出本机实际检测到的编辑器(带彩色标识与类型标签)。
  • 点选后立即用该编辑器打开当前工作区(会话所属 Workspace → 最近 Workspace → 启动目录 依次回退)。
  • 下拉框头部显示将要打开的工作区路径,可「重新扫描」刷新列表。
  • 支持键盘操作( / / Enter / Esc、点击外部关闭)。
  • 自动跟随 DeepSeek Harness 的明暗主题(使用内置 --dsw-alias-* 设计 token)。

工作原理

这是一个双面(dual-face)插件

半部文件职责
hostlib/index.js扫描本机编辑器;在 Web server 上注册 /editor-launcher/list/editor-launcher/refresh/editor-launcher/open 三个路由;由 host 侧 spawn 拉起编辑器(浏览器无法起进程)。
clientlib/client.jsconversation.session.header.actions 槽位注册下拉按钮,通过 fetch 调用上面的路由。

编辑器检测与启动策略

  • 检测顺序:命令行工具(PATH / JetBrains Toolbox scripts)→ macOS .app/Applications~/Applications、JetBrains Toolbox apps 树)→ Windows / Linux 常见安装路径。
  • 启动策略按「族」区分:

- vscode 族(VS Code / Cursor / Windsurf):open -a "<名字>" <路径>(复用已开窗口); - jetbrains 族(GoLand / PhpStorm 等):open -na "<名字>" --args <路径>(新开实例并传入项目); - 命令行<命令> <路径>(如 codesubl)。

  • 打开前会校验 path 为真实可读目录,且 editorId 必须来自本次扫描结果——不做命令拼接,无 shell 注入面。

> 仅 Web 界面有意义:host 半部注入 webServer 服务,headless / TUI profile 中不存在该服务,插件不会激活。

安装

# 任选一个镜像仓库克隆
git clone https://gitee.com/zqy-904915452/dsh-editor-launcher.git
# git clone https://github.com/904915452/dsh-editor-launcher.git
cd dsh-editor-launcher
dsh plugin --profile web add "file:$(pwd)"
dsh plugin --profile web install

file: 后要写 clone 下来的绝对路径;如果你用的是自定义 profile,把 web 换成你的 profile 名。 也可以直接用仓库地址装:dsh plugin --profile web add git+https://gitee.com/zqy-904915452/dsh-editor-launcher.git (或 GitHub 镜像 git+https://github.com/904915452/dsh-editor-launcher.git)。

安装后刷新页面让新的 client bundle 生效,然后进入任一会话,在标题栏动作区即可看到「在编辑器中打开」按钮。

卸载:

dsh plugin --profile web remove @zhangqingyu/dsh-editor-launcher

目录结构

dsh-editor-launcher/
├── cordis.patch.yml      # bundle patch:插入 editor-launcher 行
├── package.json          # dsh.bundle.patch + dsh.client 声明
└── lib/
    ├── index.js          # host 半部:扫描 + 启动路由
    └── client.js         # browser 半部:头部下拉框

说明 / 限制

  • 检测是尽力而为:只覆盖了常见编辑器的常见安装位置;从 JetBrains Toolbox 安装的 IDE 会被 Toolbox 树扫描到,但若命令行工具不在 PATH 里,则以 .app 方式通过 open 拉起。
  • 插件在加载时扫描一次;编辑器的增删可点下拉框里的「重新扫描」刷新(内存态,重启后重新扫描)。
  • 打开失败(例如编辑器刚被卸载)会在按钮旁给出错误提示,不会影响会话。