在 IDE 中打开
DeepSeek Harness Web UI plugin: add an IDE button that auto-detects local IDEs and opens the current workspace folder.
これは DeepSeek Harness(DSH)プラグインです。当サイトは GitHub README、インストール情報、メンテナンス状況、公開セキュリティシグナルをまとめています。
dsh-open-in-ide
顶部栏「IDE」按钮 —— DeepSeek Harness(简称 dsh)Web UI 插件:自动检测本机已安装的 IDE,一键用其打开当前会话的工作区目录。
简介
在 DeepSeek Harness 的 Web GUI 里工作时,经常需要「把当前项目用本地 IDE 打开」。这个插件在会话头部右上角加入一个「IDE」按钮,点击后弹出菜单,自动列出本机已安装的各类 IDE,选中即用该 IDE 打开当前会话的工作区目录 —— 省去手动复制路径、再到 IDE 里 File > Open Folder 的麻烦。
插件是标准的 dsh 双面包:
- 宿主半(Node)
index.mjs:负责在本机检测 IDE、启动所选 IDE,并自建同源 HTTP 路由/open-in-ide。 - 浏览器半(Client)
client.js:负责顶栏按钮与下拉菜单 UI,通过同源fetch调用宿主半的路由。
用途 / 使用场景
- 在 dsh Web GUI 中让 agent 干活时,一键把当前工作区目录在本地 IDE 中打开,边看边改。
- 多 IDE 共存时(VS Code / Cursor / JetBrains 全家桶等)快速切换,无需记住各自的安装路径。
- IDE 装在任意自定义目录(D 盘、便携版等)都能通过注册表
App Paths精确定位;即便个别程序没写注册表,也有目录扫描兜底,实在扫不到还能手动指定任意.exe。
功能特性
- 自动检测(注册表优先):优先读取 Windows 注册表 ——
App Paths(安装程序注册的「exe 名 → 真实路径」映射,能精确定位任意自定义安装位置)与卸载项(InstallLocation/DisplayIcon/UninstallString);再以常见安装目录、PATH里的.cmdshim、scoop、JetBrains Toolbox、Program Files下的 JetBrains、开始菜单.lnk快捷方式,以及桌面/下载/文档等用户目录与其它盘符根目录的启发式扫描作为兜底。 - 自定义添加:菜单底部「选择 IDE 程序…」弹出 Windows 原生文件对话框,任选一个
.exe立即加入列表(去重;自定义项仅本次运行有效)。 - 一键打开:点击条目即用该 IDE 打开当前会话的工作区目录;菜单顶部显示目标目录。
- 随时重新检测:菜单底部提供始终可用的「重新检测」按钮,安装/移动 IDE 后无需重启即可重新扫描。
- 双面包架构:宿主半负责检测与启动,浏览器半负责 UI,互不耦合。
支持检测的 IDE
VS Code / VS Code Insiders、Cursor、Windsurf、Zed、Trae、IntelliJ IDEA(Ultimate / Community)、PyCharm(Professional / Community)、WebStorm、PhpStorm、GoLand、CLion、Rider、DataGrip、RubyMine、RustRover、Aqua、Writerside、Fleet、Sublime Text 等。菜单里还内置「资源管理器」入口,可直接用系统文件管理器打开目录。
安装
前置要求
- DeepSeek Harness ≥
0.1.0-rc.6 - Windows(文件对话框与检测脚本面向 Windows 桌面环境)
方式一:从本仓库克隆安装(推荐)
git clone https://github.com/LJninse/dsh-open-in-ide.git
dsh plugin --profile web add ./dsh-open-in-ide
包内 cordis.patch.yml 会自动成为 bundle 层(插入 open-in-ide 插件行),重启 Web 后生效。
方式二:本地目录 / tarball 安装
dsh plugin --profile web add ./dsh-open-in-ide
# 或先打包再安装:
pnpm pack # 生成 dsh-open-in-ide-0.3.0.tgz
dsh plugin --profile web add ./dsh-open-in-ide-0.3.0.tgz
方式三:手动挂载(零依赖,无需 pnpm)
- 把本包放入目标 profile 的
node_modules/dsh-open-in-ide/(index.mjs+client.js+cordis.patch.yml+package.json); - 在 profile 的
package.json的dependencies中添加"dsh-open-in-ide": "file:<本包路径>"; - 在 profile 的
cordis.patch.yml末尾追加:
- insert:
- id: open-in-ide
name: dsh-open-in-ide
- 重启
dsh web。
使用方法
重启 Web 后,打开任意会话,顶部栏右上角出现「IDE」按钮:
- 点击按钮,弹出菜单,列出检测到的 IDE(含可执行文件路径)。
- 点击某个条目,即用该 IDE 打开当前会话的工作区目录。
- 菜单底部「选择 IDE 程序…」可手动添加未被检测到的
.exe;「重新检测」按钮可随时清空缓存并重新扫描(新增/移动 IDE 后无需重启)。
验证
dsh --profile web --dump-config
# 应看到 open-in-ide 行,且 bundle 层标注 # == dsh-open-in-ide
行为验证:重启后打开任意会话,顶部栏右上角出现「IDE」按钮;点击弹出菜单并列出检测到的 IDE;点击条目即打开工作区目录。
项目结构
dsh-open-in-ide/
├── index.mjs # 宿主半:IDE 检测、启动、自建 /open-in-ide 路由
├── client.js # 浏览器半:顶栏按钮与菜单 UI
├── cordis.patch.yml # bundle patch:插入 open-in-ide 插件行
├── package.json # 包元信息(含 dsh.bundle / dsh.client 声明)
├── LICENSE # CC BY-NC 4.0
└── README.md
说明与限制
- 仅支持 Windows:文件对话框与检测脚本面向 Windows 桌面环境。
- 真实启动程序:每次点击都会真实启动所选程序,打开/传输消耗真实本机资源。
- 自定义项不持久化:手动添加的
.exe保存在插件进程内存中,DSH 重启后需重新添加。 - 检测只读:检测脚本只读取注册表(
App Paths、卸载项)、环境变量、开始菜单与本地目录(限深、限预算),不修改系统。 - 注册表为主、目录扫描兜底:注册表
App Paths能精确定位任意自定义安装位置的 IDE;仅当个别程序未写注册表(如绿色/便携版)时才退回目录启发式扫描(限深度、限目录数,极深的目录树可能被预算截断)——这种情况可改用「选择 IDE 程序…」手动添加。
许可
© 2026 dsh-open-in-ide contributors
本项目采用 Creative Commons Attribution-NonCommercial 4.0 International(CC BY-NC 4.0) 许可证:允许自由使用、复制、修改与再分发,但禁止商业用途;使用或再分发时须保留署名。
说明:CC BY-NC 4.0 属于“源码可用(source-available)”协议,并非 OSI 所定义的“开源”许可证(OSI 开源许可证允许商业使用)。
セキュリティとインストールエビデンス
このスコアは公開リポジトリメタデータと当サイトに登録されたインストールエビデンスのみに基づくもので、コードセキュリティ監査とは異なります。
公開プラグインカタログから取得し、公開 GitHub リポジトリにリンクしています。
GitHub メタデータにライセンスが検出されませんでした。
過去180日以内にコードの更新があります。
再現可能な正確なインストールメタデータはまだ登録されていません。リポジトリの説明に従って手動で確認してください。
確認したパッケージメタデータにインストールライフサイクルスクリプトは宣言されていません。
missing-license