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、終端等工具。