omdsh-editor: 在 DeepSeek Harness 中唤起本地编辑器

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 中的默认列表。

使用步骤

  1. 在 DSH 的 session header 右侧找到分割控制器。
  2. 点击左侧区域,直接唤起上次选择的编辑器。
  3. 点击右侧箭头,从列表中选择其他编辑器、终端(如 iTerm2、kitty)或文件管理器。

注意事项

  • 运行时环境:编辑器必须在 DSH 运行所在的机器上打开,不支持通过网络唤起远程机器上的编辑器。
  • 配置位置:修改配置后需重启 DSH 或重新加载 bundle row 生效。
  • 权限:确保 DSH 进程有权限调用系统的 open 命令或执行可执行文件。

总结

omdsh-editor 解决了在 Web 界面中直接操作本地开发环境目录的需求。通过简单的配置,可以在 DSH 中无缝切换使用 VS Code、Cursor、终端等工具。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜