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 工作区,减少在界面里重复选路径的操作。

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

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

Xiaoye