前言¶
DeepSeek Harness(DSH)桌面版默认要先选定一个工作区(工作文件夹)才能开始对话;首次使用时,还会在系统文档目录自动创建默认工作区。对「随口问一句、改个临时文件、跑个一次性脚本」这类零散任务,每次都要选文件夹,步骤显得多余。
社区插件 dsh-noworkplace(npm 包名 dsh-noworkspace)在 DSH 用户数据层维护一个固定工作区,路径指向 ~/.dsh/scratch,侧栏里显示为「无工作区」。下面介绍它的定位、安装方式与使用时的行为边界。
这是什么¶
dsh-noworkplace 是 DSH 宿主插件(host plugin),维护者 wgl2zj。分类上属于客户端相关能力:不改变 DSH 核心程序目录,只在用户数据层注册一个官方形态的工作区。
它解决的核心问题很简单:零散、一次性的对话不必再手动挑项目文件夹,直接切到「无工作区」即可;scratch 目录会在需要时自动创建。
核心功能¶
经 README 与 package.json 核对,能力可归纳为以下几点。
- 固定 scratch 路径:工作区根目录为
~/.dsh/scratch,激活时若不存在则创建。 - 走官方工作区模型:通过宿主的
workspaceRegistry调用WorkspaceRegistry.create(path, title)注册;侧栏、工作区切换、「新会话」回退等界面行为与手动添加的工作区一致。 - 幂等注册:对同一规范化路径重复
create会复用已有记录,不会覆盖你在界面上改过的标题。 - 与历史会话对齐:已有
cwd为~/.dsh/scratch的历史会话会按官方 cwd 匹配机制归入该工作区显示。 - 热加载:安装后即时生效,无需重启 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「子命令」:用法就是切换工作区后正常对话。
- 在 DSH 桌面版侧栏或工作区菜单中选择「无工作区」。
- 新建会话或继续会话;读写文件、跑脚本时,当前工作区 cwd 对应
~/.dsh/scratch。 - 临时任务结束后,可像对待其他工作区一样改名、归档会话;不需要时可从界面删除该工作区(见下文注意)。
行为说明与适用场景¶
适合谁:经常用 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。