前言¶
在 DeepSeek Harness(DSH)里,每个会话都要落在某个工作区。做正经项目时,按项目建目录很自然;日常里却有一类事——临时算个数、写段调试脚本、查资料做笔记、问一句就结束——不值得单独起名、选目录、再挂到某个项目上。新建工作区成本偏高;随手塞进当前项目目录,又容易把项目弄脏,过两天自己也分不清哪些是临时垃圾。
下面介绍插件 dsh-bundle-default-workspace(维护者 OraSkyC,社区分类:工作流)。它给这类「做完就走」的小事提供一个固定落脚点:自动创建并登记一个默认工作区,写入顶层规则文件 AGENTS.md,并注册智能体工具 default_workspace,在设置面板里可改路径与文案,改完即生效。
这是什么¶
dsh-bundle-default-workspace 是一个 DSH 插件(npm 包名同仓库名,当前版本 0.2.1,MIT 许可证)。定位可以概括为:一个默认工作区——杂七杂八、不必区分项目时用这里。
默认目录落在 <你的文档目录>/deepseek-harness/default-workspace(具体解析见下文「目录怎么定」),在 DSH 工作区列表里展示标题为「默认工作区」。插件用纯 JavaScript 实现,仅依赖 node: 内建模块,无额外构建步骤;要求 Node >= 22.19.0,Cordis 对等依赖为 @deepseek-ai/cordis(>=4.0.0 <5.0.0)。
- 目录页:https://www.skillhub.cn/plugins/OraSkyC/dsh-bundle-default-workspace
- 源码与说明:https://github.com/OraSkyC/dsh-bundle-default-workspace
社区目录站点 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装前建议自行查看源码与许可证。插件以当前 DSH 进程权限运行。
核心功能¶
默认工作区与 AGENTS.md¶
- 首次使用时可在配置允许下自动创建目录并登记到 DSH 工作区列表(
autoCreate默认为true)。 - 创建时可写入
AGENTS.md种子(seedAgentsMd默认为true),用中文说明:这里不是正式项目,不要搭src/、tests/、package.json、不要初始化 git;顶层目录不要直接堆文件,临时内容应放到_scratch/、notes/、scripts/等;并说明_trash/是回收站、不要动。已有AGENTS.md时默认不覆盖(overwriteSeed默认为false)。
智能体工具 default_workspace¶
会话里可让智能体查询或确保工作区就绪。工具名 default_workspace,主要 action:
| action | 行为 |
|---|---|
status(默认) |
目录、是否存在、是否已登记、标题与会话数、AGENTS.md 状态(只读) |
ensure |
创建目录、登记、写入 AGENTS.md(幂等) |
path |
返回目录路径与来源 |
describe |
返回用途说明(与面板配置一致) |
工具描述中明确:换目录应让用户在设置里改 parentDirectory,不在工具里擅自改;清空 / 重置仅能在面板操作,不提供工具入口。
可视化配置¶
在 设置 → 插件 中打开本插件配置卡,可改目录位置、展示标题、用途说明、AGENTS.md 种子文案等。用户覆盖保存在 %USERPROFILE%\.dsh\state\dsh-bundle-default-workspace\settings.json(Linux/macOS 下 $HOME 等价路径),改完立即生效,无需重启。面板默认约每 30 秒轮询状态(pollSeconds,范围 5–600)。
可恢复的清空与重置¶
面板「清理与重置」提供:
- 清空工作区:搬走顶层全部内容与字目录,保留
AGENTS.md与_trash/。 - 重置工作区:连
AGENTS.md一并搬走,再按当前设置重新生成种子,并确认工作区仍登记有效。
删除不是直接删:条目先 rename 到工作区内 _trash/<时间戳>/,可手动捞回。确认时需逐字输入工作区目录名(默认 default-workspace)。回收站保留批次数由 trashKeep 控制(默认 5,0 表示不自动清理旧批次)。
只读状态与目录回落¶
GET /api/dsh-bundle-default-workspace/state 严格无副作用,轮询不会偷偷建目录;创建须走 /ensure 或工具的 ensure。
目录解析顺序(最终路径 = 父目录 / directoryName):
parentDirectory非空 → 直接用该绝对路径- 否则
documentsDirectory非空 →<它>/deepseek-harness - 否则自动探测系统文档目录 →
<文档>/deepseek-harness - 都失败 →
~/.dsh/workspaces/deepseek-harness
面板上会显示当前使用的来源,便于确认「工作区建在哪」。
安装与启用¶
安装后需重启 DSH 才会加载(安装界面也会提示「下次启动后加载」)。
方式一:插件管理器(推荐)¶
- 打开 设置 → 插件
- 点 「添加插件」
- 在「包名或地址」填入:
https://github.com/OraSkyC/dsh-bundle-default-workspace
- 点「安装」,然后重启 DSH
输入框支持 npm 包名、GitHub 仓库地址、本地目录路径。用 GitHub 地址时,本机需能直接访问 github.com。
方式二:命令行¶
dsh plugin --profile desktop add https://github.com/OraSkyC/dsh-bundle-default-workspace
方式三:本地目录(开发)¶
dsh plugin --profile desktop add /path/to/dsh-bundle-default-workspace
升级:插件管理器目前不支持自动更新,需先卸载再按上述步骤安装新版并重启。
典型用法¶
在会话里问路径或确保目录存在¶
安装并重启后,在默认工作区相关的会话中,可以让智能体调用 default_workspace:
- 问「默认工作区在哪、建好了没」→ 通常对应
status或path - 需要先把目录建出来并登记 →
ensure(幂等,可重复调用)
人类侧改路径、标题、说明:打开 设置 → 插件 中本插件卡片即可,无需改工具参数。
配置项速查(用户覆盖层)¶
只列出常用键;完整表见仓库 README「配置」一节。
| 键 | 默认 | 说明 |
|---|---|---|
enabled |
true |
关闭后不创建、不登记、不提供工具 |
directoryName |
default-workspace |
叶子目录名 |
parentDirectory |
"" |
留空走自动解析;填绝对路径则固定父目录 |
title |
"" |
留空由目录名派生展示标题 |
autoCreate |
true |
首次使用自动创建并登记 |
seedAgentsMd |
true |
创建时写入 AGENTS.md |
instructions |
"" |
非空则整篇替换内置种子正文 |
点「恢复默认」是删除对应覆盖键,回落到包内 cordis.patch.yml 的部署默认值(改部署默认需重启 DSH)。
适用场景与注意¶
适合谁
- 经常用 DSH 处理短任务、草稿、一次性脚本,又不想为每次任务新建工作区的人。
- 希望智能体在固定「非项目」目录里遵守
AGENTS.md规则、少污染真实项目仓库的人。
使用时注意
- 插件与 DSH 同进程权限;清空/重置会搬空整个工作区顶层内容(回收站除外),操作前看清面板列出的条目与确认词。
- HTTP 接口仅对本机回环及
allowedHosts白名单开放;勿将allowedHosts随意扩大到不可信主机。 - 社区目录页星标等统计以站点展示为准;以 README 与
package.json为准核对版本与行为。
结尾¶
dsh-bundle-default-workspace 把「一次性小事」从「新建工作区」和「污染项目目录」两种坏选择里抽出来,用单一默认工作区、AGENTS.md 顶层约束和可恢复清理,让 DSH 会话有干净的默认落脚点。