dsh-open-dir:用 CLI 在 DSH 中打開目錄工作區

前言

在 DSH 裏做智能體或項目開發時,工作區往往綁定本地目錄。若每次都要在 Desktop 或 Web 界面裏手動選路徑、新建或切換工作區,終端裏已經 cd 到目標目錄的場景會多一步重複操作。社區插件 dsh-open-dir(維護者 azazo1)提供 dsh-open 命令:在指定目錄上創建或複用工作區,並在界面完成導航後返回成功。它屬於 DSH 生態裏的客戶端類插件,依賴 DSH >=0.2.0-rc.2 <0.3.0。

這是什麼

dsh-open-dir 通過 dsh-open <目錄> 在 DSH Desktop 中創建或複用工作區並打開對應會話;CLI 在界面完成導航後才報告成功。Web 端需在已運行、且已加載頁面的本機 Web 界面中安裝並啓用同一插件。npm 包版本爲 0.1.0,許可證 MIT。

核心功能

下面介紹 README 中已說明的能力,不超出資料範圍。

  • Desktop 打開目錄:安裝並啓用插件後,用 dsh-open 指向本地目錄;macOS 與 Windows 可通過已註冊的 dsh://open 協議喚起或前置 Desktop(首次使用前需啓動 Desktop 一次以註冊協議)。
  • Web 模式:--target web 等參數面向本機 Web 界面;要求 Web 端 profile 下同樣安裝並啓用插件,且頁面已加載。
  • 路徑處理:支持相對路徑與 ~;會解析符號鏈接並驗證目錄;目錄名以 - 開頭時使用 -- 分隔。
  • 實例與超時:默認等待 30 秒,--timeout 可設爲 1..300 秒;同一 Host 多實例時 CLI 會輸出實例 ID,可用 --instance 指定;同一 Host 多個頁面只會有一個領取請求。
  • 通信模型:Host 在迴環地址申請隨機端口,向 $DSH_HOME/runtime/dsh-open-dir 寫入發現信息(含隨機認證令牌,權限 0600);Client 通過 DSH 認證 API 領取請求,調用 ctx.workspaces.create({ path }) 與 ctx.uiWorkspace.openWorkspace(workspaceId)。CLI 與宿主須使用相同的 DSH_HOME。

安裝與啓用

資料中的安裝路徑是 Desktop / Web 各自的插件管理器,而非統一的 dsh plugin add 命令字符串。

  1. 在 DSH Desktop 的插件管理器中安裝並啓用 dsh-open-dir。
  2. 若使用 Web,在本機 Web 界面對應 profile 中再次安裝並啓用(Desktop 與 Web 使用獨立 profile,需分別安裝)。
  3. 從源碼打包時,在倉庫根目錄執行:
just install
just verify
just pack

再通過插件管理器安裝生成的壓縮包。

若要在普通終端全局使用 dsh-open(可選),README 給出:

pnpm add -g dsh-open-dir

或先 just pack,再:

pnpm add -g (realpath dsh-open-dir*.tgz)

運行環境要求 Node ^22.19.0 || >=24.0.0(見 package.json engines)。

典型用法

倉庫內可直接運行,無需先裝全局命令:

just open .
just open ~/projects/my-project
just open --no-launch .

安裝插件包或全局 CLI 後:

dsh-open .

協議不可用或只需提交請求、不喚起 Desktop 時:

just open --no-launch .

Web 且頁面已就緒、不通過協議啓動時:

just open --target web --no-launch .
just open --timeout 60 --verbose .

診斷:--verbose 或 NODE_DEBUG=dsh-open 可輸出 CLI 階段信息。

適用場景與注意

適合:習慣在終端裏定位項目目錄,希望一鍵在 DSH Desktop 或本機 Web 中打開(或創建)對應工作區的開發者。

注意:

  • 插件在當前 DSH 進程權限下運行;安裝前應閱讀 GitHub 源碼 與 MIT 許可證,自行評估是否滿足環境要求。
  • 導航被其他操作取消、目錄不可用、插件卸載或界面未就緒會以非零退出碼結束;超時表示未收到成功確認,不能保證界面沒有發生變化。
  • 請求只交付一次,斷線後不會自動重放導航。
  • 社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,屬社區生態,非官方應用商店。

鏈接

經過上面的步驟,你可以在終端用 dsh-open(或倉庫內 just open)把本地目錄接到 DSH 工作區,減少在界面裏重複選路徑的操作。

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

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

小夜