DeepSeek Harness (DSH) 提供了会话管理,但缺少唤起本地开发环境的直接手段。omdsh-editor 通过在 session header 添加一个分割控制器来解决这个问题,让你能直接在 Web 界面中打开当前对话目录对应的本地项目。
功能概览¶
该插件为 DSH 的 session header 增加了一个分割控制器。控制器分为左右两部分:
- 左侧区域:点击可直接唤起上次选择的编辑器。
- 右侧区域:点击箭头展开下拉菜单,选择不同的编辑器、终端或文件管理器。
插件提供三个接口供内部调用:
GET /omdsh-editor/editors:获取当前主机已安装的编辑器、终端或文件管理器列表。GET /omdsh-editor/icon?id=...:获取指定编辑器的图标。POST /omdsh-editor/open:启动编辑器,打开会话对应的目录。
检测机制¶
插件会自动检测本地安装的应用。检测逻辑支持三种方式,按优先级依次尝试:
mac-app:扫描 macOS 应用目录(如~/Applications),使用open -a命令启动。windows-exe:扫描%LOCALAPPDATA%或%ProgramFiles%下的可执行文件。path-bin:扫描系统的PATH环境变量。
检测结果默认缓存 15 秒(detectionTtlMs),配置后可调整缓存时长。只有检测到的应用才会出现在列表中。
配置方式¶
插件本身不注册设置命名空间,无法在插件卡片的表单界面中配置。配置必须写入 cordis.patch.yml 文件。
在 bundle row 中添加 config 字段:
- id: editor
name: '@omdsh-plugins/omdsh-editor'
config:
editors:
- id: nvim
label: Neovim
kind: terminal
accent: '#57a143'
probes:
- { kind: path-bin, bin: nvim }
detectionTtlMs: 60000
注意:editors 数组是全量替换,而非追加。如果需要添加自定义编辑器,建议先复制 src/catalog.ts 中的默认列表。
使用步骤¶
- 在 DSH 的 session header 右侧找到分割控制器。
- 点击左侧区域,直接唤起上次选择的编辑器。
- 点击右侧箭头,从列表中选择其他编辑器、终端(如 iTerm2、kitty)或文件管理器。
注意事项¶
- 运行时环境:编辑器必须在 DSH 运行所在的机器上打开,不支持通过网络唤起远程机器上的编辑器。
- 配置位置:修改配置后需重启 DSH 或重新加载 bundle row 生效。
- 权限:确保 DSH 进程有权限调用系统的
open命令或执行可执行文件。
总结¶
omdsh-editor 解决了在 Web 界面中直接操作本地开发环境目录的需求。通过简单的配置,可以在 DSH 中无缝切换使用 VS Code、Cursor、终端等工具。