dsh-noworkplace:为 DSH 固定「无工作区」scratch 目录

前言

DeepSeek Harness(DSH)桌面版默认要先选定一个工作区(工作文件夹)才能开始对话;首次使用时,还会在系统文档目录自动创建默认工作区。对「随口问一句、改个临时文件、跑个一次性脚本」这类零散任务,每次都要选文件夹,步骤显得多余。

社区插件 dsh-noworkplace(npm 包名 dsh-noworkspace)在 DSH 用户数据层维护一个固定工作区,路径指向 ~/.dsh/scratch,侧栏里显示为「无工作区」。下面介绍它的定位、安装方式与使用时的行为边界。

这是什么

dsh-noworkplace 是 DSH 宿主插件(host plugin),维护者 wgl2zj。分类上属于客户端相关能力:不改变 DSH 核心程序目录,只在用户数据层注册一个官方形态的工作区。

它解决的核心问题很简单:零散、一次性的对话不必再手动挑项目文件夹,直接切到「无工作区」即可;scratch 目录会在需要时自动创建。

核心功能

经 README 与 package.json 核对,能力可归纳为以下几点。

  1. 固定 scratch 路径:工作区根目录为 ~/.dsh/scratch,激活时若不存在则创建。
  2. 走官方工作区模型:通过宿主的 workspaceRegistry 调用 WorkspaceRegistry.create(path, title) 注册;侧栏、工作区切换、「新会话」回退等界面行为与手动添加的工作区一致。
  3. 幂等注册:对同一规范化路径重复 create 会复用已有记录,不会覆盖你在界面上改过的标题。
  4. 与历史会话对齐:已有 cwd 为 ~/.dsh/scratch 的历史会话会按官方 cwd 匹配机制归入该工作区显示。
  5. 热加载:安装后即时生效,无需重启 DSH;插件装在用户数据层,应用更新不依赖插件目录是否在程序包内。

当前 package 版本为 1.0.0,许可证 MIT。

安装与启用

推荐用 npm 一键安装(命令来自仓库 README):

dsh plugin --profile desktop add dsh-noworkspace

也可从源码用 link 方式安装(需先自行取得仓库目录的绝对路径):

dsh plugin --profile desktop add link:<克隆目录绝对路径>

安装成功后,侧栏应出现名为「无工作区」的工作区。社区目录页:https://www.skillhub.cn/plugins/wgl2zj/dsh-noworkplace(SkillHub 为社区站点,与 DeepSeek / 幻方无官方从属关系)。

典型用法

没有单独的 CLI「子命令」:用法就是切换工作区后正常对话。

  1. 在 DSH 桌面版侧栏或工作区菜单中选择「无工作区」。
  2. 新建会话或继续会话;读写文件、跑脚本时,当前工作区 cwd 对应 ~/.dsh/scratch。
  3. 临时任务结束后,可像对待其他工作区一样改名、归档会话;不需要时可从界面删除该工作区(见下文注意)。

行为说明与适用场景

适合谁:经常用 DSH 处理与具体仓库无关的杂项——查资料、改单文件、试命令——又不想每次新建或切换大项目目录的用户。

与手动工作区同权:可改名、可删除、会话归档等均走官方逻辑。删除后,插件下次激活会再次注册并重建该工作区;若不希望自动回来,应禁用或移除本插件。

移除插件时:已产生的会话记录与 ~/.dsh/scratch 里的文件不会被插件卸载逻辑清掉(README 明示移除插件不影响二者)。

安全与权限:插件以当前 DSH 进程权限运行,安装前建议浏览 GitHub 源码 与 MIT 许可证,确认符合你的环境策略。

兼容性:README 记载在 DSH 桌面版 0.2.1-rc.5(Windows)实测通过;实现依赖 WorkspaceRegistry.create(path, title) 的接口签名,宿主若变更该 API,插件需另行适配。

结尾

dsh-noworkplace 用一条固定 scratch 工作区,把「无项目也要先选文件夹」这一步去掉,同时保留 DSH 原生工作区与 cwd 匹配行为。需要安装包名、行为细节或提 issue 时,可直接打开仓库:https://github.com/wgl2zj/dsh-noworkplace;分类与简介亦可从 SkillHub 目录页核对:https://www.skillhub.cn/plugins/wgl2zj/dsh-noworkplace。

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

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

小夜