DeepSeek Harness plugin

dsh-plugins-sjhmars

Pick an installed editor from the Session header and open session file links with it, on Web and Desktop

Jump to install

Source facts

Repository
sjhmars/dsh-plugins
Latest update
Aug 21, 2026
Category
Memory
GitHub stars
3
Format
plugin
Package path
plugins/editor-launcher
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
plugins/editor-launcher/package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/sjhmars/dsh-plugins/tree/HEAD/plugins/editor-launcher
Plugin: dsh-plugins-sjhmars
Author: sjhmars

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

@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 留作后续)。