dsh-open-project:在资源管理器右键把文件夹注册为 DSH 项目

前言

在 DSH 里开一个新项目,常见做法是先在桌面应用里手动添加工作区目录,再回到资源管理器里找路径。文件夹嵌套深、一天要切好几个仓库时,这条路径会显得啰嗦。Windows 上若能把「当前文件夹」直接挂进 DSH 侧边栏项目列表,并顺带把 DSH 窗口拉到前台,右键一次就能接上会话,会更贴近日常开发节奏。

下面介绍社区插件 dsh-open-project(维护者 dongfangxy):它在资源管理器文件夹右键菜单增加「用 DeepSeek Harness 打开」,并在 DSH 设置 → 通用 提供开关,用于写入或移除当前用户的注册表项。插件当前版本 1.4.0,许可证 MIT,分类为客户端能力,面向 Windows 10/11。

这是什么

dsh-open-project 是一个两半式 DSH 插件:宿主侧在 DSH 内置 Web 服务上注册路由,用于把目录登记进 DSH 的 workspace 注册表;客户端在通用设置页渲染一行开关;cli/ 目录下的 PowerShell 与 VBS 负责写注册表、查找 DSH 可执行文件并在右键菜单被点击时启动流程。

它不托管会话或文件内容,只做一件事:把用户选中的文件夹登记为侧边栏里的项目(与 DSH 桌面应用自带的 workspace 机制一致)。若目录已是项目,则幂等返回已有记录。

核心功能

资源管理器右键

在文件夹上,或文件夹窗口内的空白区域右键,菜单中出现 用 DeepSeek Harness 打开。选择后:

  • 将该文件夹注册为 DSH 侧边栏项目;
  • 将 DSH 窗口置于前台(从托盘或最小化状态恢复),避免「只写注册表、界面无变化」看起来像没反应;
  • 弹出 Windows 通知:Opened as a DSH project(第二行为项目标题),或 Already a DSH project(目录已有项目时)。

若 DSH 未运行,会先按顺序解析可执行文件路径(环境变量 DSH_DESKTOP_APP_EXE、正在运行的实例、dsh:// 协议处理程序、默认安装位置等),启动应用并等待窗口就绪后再注册;整段等待上限为 180 秒。

DSH 设置中的开关

设置 → General 中增加一行(中文界面为「用 DeepSeek Harness 打开」,非中文浏览器为 Open in DeepSeek Harness)。说明写明:开关会写入当前用户注册表(HKCU),无需管理员权限;若移动了 DSH 安装位置,建议先关再开以按新路径重新注册。该行位于 code-workspace 行与版本行之间。打开开关写入注册表键,关闭则删除。非 Windows 主机上不渲染该行。

宿主路由与依赖

插件依赖 DSH Profile 提供与桌面应用相同的 webServer 与 workspaceRegistry 服务;缺一则保持 pending,不会半挂载。注册通过 POST /.dsh-open-project 调用 workspaceRegistry.create;默认桌面安装下持久化存储示例为 $DSH_HOME/storages/workspace.json(unit workspace,version 2)。

安装与启用

推荐在 DSH 桌面应用侧边栏 Plugins → Add plugin,输入下列之一(资料原文):

dsh-open-project
github:dongfangxy/dsh-open-project

插件管理器会安装并默认启用。若自行用 dsh CLI 为指定 Profile 安装,--profile 为必填:

dsh plugin --profile <profile> add dsh-open-project
dsh plugin --profile <profile> add github:dongfangxy/dsh-open-project

桌面应用使用保留 Profile,应从应用内 Plugins 页安装。若设置行未出现,可重启 DSH。

运行环境(README 要求):

  • Windows 10/11;
  • 系统自带 PowerShell 5.1 即可;若已装 PowerShell 7,插件会优先使用(启动约快三倍;成功通知在 5.1 下为 Toast,7 下为托盘气球);
  • wscript.exe(系统自带),用于隐藏控制台闪窗;
  • Node >= 24(见 package.json engines)。

典型用法

  1. 打开 DSH 设置 → 通用,打开「用 DeepSeek Harness 打开」开关,完成注册表写入。
  2. 在资源管理器中右键目标文件夹(或文件夹内空白处),选择 用 DeepSeek Harness 打开。
  3. 在 DSH 侧边栏打开对应项目并启动会话;会话工作目录即为该文件夹。
  4. 不再需要菜单项时,在同一开关处关闭;设置页每次加载会从注册表读回开关状态。

也可在插件目录下直接驱动注册表脚本(需已安装插件包内的 cli/context-menu.ps1):

powershell -NoProfile -ExecutionPolicy Bypass -File cli/context-menu.ps1 -Action status
powershell -NoProfile -ExecutionPolicy Bypass -File cli/context-menu.ps1 -Action enable
powershell -NoProfile -ExecutionPolicy Bypass -File cli/context-menu.ps1 -Action disable

-Title 'Open in DeepSeek Harness' 可改菜单文案;设置开关不传标题,始终使用默认中文标签。

适用场景与注意

适合: 主要在 Windows 上用 DSH 桌面版、频繁从磁盘目录切入不同仓库或插件工程的用户;希望用 Explorer 右键代替「复制路径 → 在 DSH 里添加项目」的流程。

注意:

  • 功能完全依赖 Explorer 与 HKCU 注册表,仅 Windows;Linux/macOS 上无右键菜单能力(设置行也不会显示)。
  • 插件以当前 DSH 进程及其 Profile 权限运行;安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认注册表写入与本地 HTTP 调用符合你的安全策略。
  • 社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态奉行「一切皆插件」,本插件是其中的客户端扩展之一。

结尾

dsh-open-project 把「选中文件夹 → 成为 DSH 项目 → 窗口到前台」收成资源管理器里的一次右键,并用设置里的单开关管理菜单是否出现。需要细节、截图与变更记录时,以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/dongfangxy/dsh-open-project
  • GitHub:https://github.com/dongfangxy/dsh-open-project
羽毛球分组比赛记分
小程序二维码

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

Xiaoye