DeepSeek Harness 插件

dsh-plugins-sjhmars

Pick an installed editor from the Session header and open session file links with it, on Web and Desktop(英文原文)

跳到安装方式

来源信息

GitHub 仓库
sjhmars/dsh-plugins
最近更新
2026年8月21日
分类
记忆
GitHub stars
3
载体类型
plugin
包路径
plugins/editor-launcher
目录证据
上游声明已找到 dsh.bundle
证据路径
plugins/editor-launcher/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/sjhmars/dsh-plugins/tree/HEAD/plugins/editor-launcher
插件名:dsh-plugins-sjhmars
作者:sjhmars

检查来源文件

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

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

@sjhmars/editor-launcher

在 Session 头部(Session log 按钮左侧)加一个编辑器选择器:列出本机已安装的编辑器,选中即记为默认;之后点击会话中模型 Read/Edit/Write 输出的文件路径链接,就会用你选的编辑器打开该文件(Web 端)。

Adds an editor picker to the Session header (left of the Session-log button): it lists the editors installed on this machine, and the one you choose is remembered as the default. After that, clicking the file-path links the model produced in Read/Edit/Write tool rows opens those files with your chosen editor (Web).

工作原理 / How it works

  • Host halfsrc/index.ts)暴露一个 Typert Remote 服务 EditorLauncherServiceeditorLauncher/listEditorseditorLauncher/openWith)。Gateway 的 SRC 声明路径自动发现它,无需生成 descriptors。
  • Browser halfsrc/client/):

- 通过 conversation.session.header.utilities 槽位注册选择器胶囊(order: -1,位于 Session log 左侧)。 - 在 document 捕获阶段拦截 [data-tool] 工具行里无 aria-expanded 的路径链接点击,改用所选编辑器打开;编辑器缺失或启动失败时回退系统默认应用。 - 偏好(默认编辑器 id)存于 localStorage['dsh.editor-launcher.preferred']

  • Web 与桌面共用同一条 /api + Typert Gateway 链路(createSharedFetchHandler),因此两端零特判。

安装 / Install

从 npm 安装到 web profile:

dsh plugin --profile web add @sjhmars/editor-launcher

重启 dsh web 即可。Session log 左侧会出现"用编辑器打开"胶囊;点击会话中的 Read/Edit/Write 文件链接即用所选编辑器打开。

构建 / Build

插件的 @deepseek-ai/* 是 peerDependencies(运行时由 harness 安装树提供),类型解析走 tsconfig.jsonpaths(指向 ../deepseek-harness 各包的 lib/types)。构建使用 repo 的 tsc / tsdown(两者都在 H:\deepseek-harness\node_modules\.bin 下):

# 方式一(推荐,针对本仓库 checkout)
cd H:\deepseek-harness
node node_modules\typescript\bin\tsc -p ..\dsh-plugin\tsconfig.json          # 产出 lib/types
node node_modules\tsdown\dist\run.mjs --config ..\dsh-plugin\tsdown.config.ts # 产出 lib/index.js + lib/client.js

# 方式二(在插件目录独立构建:先让 pnpm 装好 devDeps;peer 缺失可忽略)
cd H:\dsh-plugin
pnpm install
pnpm run build

lib/client.js 是浏览器 bundle(CJS + window.__ModuleLoader__.load 包装,externals 为平台模块),由 harness 的 client-modulesexports["./client"] 服务;lib/index.js 是 Node 半部,由 Loader 按包入口加载。

> 注意:若桌面客户端正从 H:\deepseek-harness 运行,node_modules/.pnpm/electron@* 的文件会被锁定,完整 pnpm install 会因 electron 而失败。此时先用 pnpm install --offline --filter '!...@deepseek-ai/dsh-desktop-app' 完成其余依赖,或在关闭客户端后再跑完整安装。插件自身构建不受影响。

支持的编辑器 / Detected editors

VS Code / VS Code Insiders、Cursor、Sublime Text、Notepad++、Neovim、Vim,以及 macOS 的 open -a 应用。检测方式:where/which(PATH)+ 各平台常见安装路径。

已知限制 / Known Limitations

  • 编辑器候选清单内置在 Host 代码中,暂不支持用户配置额外编辑器(extraEditors 留作后续)。