🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

编辑器快捷打开 Civitasv/dsh-plugin-open-editor

DeepSeek Harness
Civitasv79 天前有提交已提供中文文档扫描:含敏感能力

一键用指定编辑器打开当前项目目录或文件并定位行

27.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Civitasv/dsh-plugin-open-editor
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 执行外部命令来自配置/变量
    dist/index.js:76
    execFile(probe, [bin], { windowsHide: true }, (error) => resolve(!error));
  • 读取本地文件
    dist/index.js:89
    found = existsSync(bin) ? bin : null;
  • 读取本地文件
    dist/index.js:102
    if (!existsSync(p)) return { error: `path does not exist: ${p}` };
  • 读取本地文件
    dist/index.js:104
    const stat = statSync(p);
  • 执行外部命令固定命令
    dist/index.js:120
    const child = spawn("cmd.exe", ["/c", "start", "", bin, ...args], {
  • 执行外部命令来自配置/变量
    dist/index.js:127
    const child = spawn(bin, args, { detached: true, stdio: "ignore" });
  • 发起网络请求
    client.js:121
    void fetch(CATALOG_URL, { headers: { accept: "application/json" } }).then((res) => res.ok ? res.json() : null).then((data) => {
  • 发起网络请求
    client.js:163
    const res = await fetch(OPEN_URL, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 用指定编辑器打开目录
  • 打开文件并定位行

DeepSeek Harness 的编辑器插件

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-open-editor showcase 一键把 当前项目 用你喜欢的编辑器打开。插件在 DSH 会话页头的操作区添加一个入口: - 点击主体按钮 → 立即用默认编辑器(默认 VS Code)打开当前会话的工作目录; - 点击箭头 → 弹出编辑器选择器:VS Code / Cursor / Windsurf / Trae / JetBrains 系列 / Sublime Text / 系统文件管理器等; - 未安装的编辑器会置灰显示「未安装」; - 打开动作发生在 DSH 宿主机(浏览器所在机器)上,无需浏览器具备任何 shell 权限。 打开文件与定位行(供其它插件复用) POST {routePath} 除打开目录外,也支持打开文件并定位到行: { "editor": "vscode", "path": "/abs/path/to/file.ts", "line": 42 } - path 可以是目录或文件;带 line 时按编辑器的行定位方式打开: - VS Code / Insiders / Cursor / Windsurf / Trae:code --goto 文件:行 - Sublime Text:文件:行 - 其它编辑器(JetBrains 系、Notepad++ 等):打开文件,忽略行
展开完整文档(README 剩余 1 节)
dsh-plugin-open-editor

showcase

一键把 当前项目 用你喜欢的编辑器打开。插件在 DSH 会话页头的操作区添加一个入口:

- 点击主体按钮 → 立即用默认编辑器(默认 VS Code)打开当前会话的工作目录;
- 点击箭头 → 弹出编辑器选择器:VS Code / Cursor / Windsurf / Trae / JetBrains 系列 / Sublime Text / 系统文件管理器等;
- 未安装的编辑器会置灰显示「未安装」;
- 打开动作发生在 DSH 宿主机(浏览器所在机器)上,无需浏览器具备任何 shell 权限。

打开文件与定位行(供其它插件复用)

POST {routePath} 除打开目录外,也支持打开文件并定位到行:

{ "editor": "vscode", "path": "/abs/path/to/file.ts", "line": 42 }

- path 可以是目录或文件;带 line 时按编辑器的行定位方式打开:
- VS Code / Insiders / Cursor / Windsurf / Trae:code --goto 文件:行
- Sublime Text:文件:行
- 其它编辑器(JetBrains 系、Notepad++ 等):打开文件,忽略行
- 自定义编辑器模板支持 {line} 占位符(如 ["my-editor", "--line", "{line}", "{path}"]),
模板里没有 {line} 时忽略行参数。

diff-review 插件的「在编辑器中打开」/「打开该行」即复用此能力。

安装

本仓库已包含构建产物(dist/index.js 与 client.js),可直接使用;修改过源码才需要
先执行 npm install && npm run build。

一键安装(推荐)

macOS / Linux
bash install.sh

Windows(PowerShell) powershell -ExecutionPolicy Bypass -File install.ps1

脚本会:安装依赖(含 devDependencies,便于本地开发)→ 链接进 ~/.dsh/profiles/node_modules → 注册 cordis.patch.yml → 提示重启与验证。

手动安装

用链接而不是拷贝:Copy-Item 复制一份后改源码不会同步,重复安装还会冲突;用下面的链接(Junction / 符号链接)指向本仓库,改源码即时生效。

1. 链接进 profile 依赖目录 macOS / Linux: ln -sfn "$PWD" ~/.dsh/profiles/node_modules/dsh-plugin-open-editor Windows(PowerShell,Junction 无需管理员权限): New-Item -ItemType Junction -Path "$HOME\.dsh\profiles\node_modules\dsh-plugin-open-editor" -Target "$PWD"

2. 注册到 ~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: open-editor
name: dsh-plugin-open-editor

3. 重启 dsh web

装了 pnpm 的话,也可以用 dsh plugin --profile web add 代替第 1 步(等价于链接)。pnpm 未安装时先 npm install -g pnpm(或 corepack enable)。

验证

dsh --profile web --dump-config | grep dsh-plugin-open-editor
输出应包含:- id: open-editor / name: dsh-plugin-open-editor

重启后打开任意会话,页头标题旁会出现「在编辑器中打开」按钮。

开发

插件以链接方式接入 profile,改源码后:

npm run build # 重新生成 dist/ 与 client.js

server 端改动需重启 dsh web;纯 client 端改动刷新页面即可。

使用

| 操作 | 效果 |
| 点击「在编辑器中打开」 | 用默认编辑器(默认 VS Code)打开当前会话的项目目录 |
| 点击右侧箭头 | 展开编辑器选择器,选择任意已安装的编辑器 / 文件管理器 |
| 菜单底部 | 显示打开结果(成功 / 失败原因) |

当前项目 = 当前会话的工作目录(cwd)。没有工作目录的会话不显示该按钮。

支持的编辑器

| 编辑器 | 探测命令 |
| VS Code | code |
| VS Code Insiders | code-insiders |
| Cursor | cursor |
| Windsurf | windsurf |
| Trae | trae |
| IntelliJ IDEA | idea / idea64 |
| PyCharm | pycharm / charm |
| WebStorm | webstorm |
| GoLand | goland |
| CLion | clion |
| Rider | rider |
| PhpStorm | phpstorm |
| RubyMine | rubymine |
| Sublime Text | subl |
| Notepad++ | notepad++ |
| 系统文件管理器 | explorer / open / xdg-open |

探测依据是命令是否在 PATH 中。VS Code 安装后通常会自动把 code 加入 PATH;如果提示「未找到」,请手动执行一次 命令面板 → Shell 命令:在 PATH 中安装 'code' 命令,或改用下面的自定义编辑器配置填写绝对路径。

配置

编辑 ~/.dsh/profiles/web/cordis.patch.yml 中该插件的 config:

- insert:
- id: open-editor
name: dsh-plugin-open-editor
config:
defaultEditor: vscode # 点击主体按钮使用的编辑器(id) routePath: /open-editor/open # 打开请求路由(一般无需改动) statusPath: /open-editor/editors # 编辑器目录路由(一般无需改动)
extraArgs: [] # 追加到每个内置编辑器命令后的参数
allowedRoots: [] # 非空时,仅允许打开这些目录下的项目
customEditors: # 自定义编辑器(追加到内置列表)
- id: my-editor
label: My Editor
command: ["C:\\Program Files\\My Editor\\editor.exe", "--folder", "{path}"]

- defaultEditor:主体按钮使用的编辑器 id(内置 id 见上表,也可以填自定义 id)。
- customEditors:command[0] 是可执行文件(PATH 名或绝对路径);后面的元素按原样
作为参数,字面量 {path} 会被替换为目标目录;没有 {path} 时自动把目录追加到最后。
- allowedRoots:安全开关。默认允许打开任意存在的目录(本机工具);填写后,只有这些目录(及子目录)能被打开,适合把 DSH 暴露到局域网时收紧权限。
- extraArgs:给所有内置编辑器追加参数,例如 ["--new-window"] 让 VS Code 总是新开窗口。

工作原理

1. 浏览器端从会话列表拿到当前会话的 cwd(工作目录)。
2. 点击后 POST {routePath},携带 { editor, path }。
3. 服务器端(DSH 宿主进程,与浏览器同机)校验 path(绝对路径、目录存在、可选 allowedRoots),探测编辑器可执行文件,然后 detached 启动:
- Windows:cmd /c start "" ""(支持 code.cmd 等 shim, GUI 应用不弹控制台);
- macOS/Linux:spawn(editor, [path], { detached, stdio: 'ignore' })。
4. 编辑器进程与宿主解耦,宿主退出不影响已打开的编辑器。

卸载

1. 从 cordis.patch.yml 删除 open-editor 条目;
2. 删除 ~/.dsh/profiles/node_modules/dsh-plugin-open-editor 目录;
3. 重启 dsh web。

常见问题

- 提示「未找到 X,请检查是否安装并加入 PATH」:该编辑器不在 PATH 中。
用 customEditors 配置绝对路径,或在系统里把编辑器命令行工具加入 PATH。
- 点击没有反应 / 编辑器没有出现:确认已重启 dsh web,并检查设置里 open-editor 插件已加载(设置 → 插件清单)。
- 我只想用 VS Code,不需要其它编辑器:保持默认即可,箭头菜单里其它项置灰不影响使用。

License

MIT
预览分享卡片长什么样 ↓Civitasv/dsh-plugin-open-editor
分享 · DeepSeek Harness Hub
Civitasv/dsh-plugin-open-editor

一键用指定编辑器打开当前项目目录或文件并定位行

这是你的仓库?认领条目

回到顶部