dsh-bundle-default-workspace:为 DSH 提供统一的默认工作区

前言

在 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)。

社区目录站点 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):

  1. parentDirectory 非空 → 直接用该绝对路径
  2. 否则 documentsDirectory 非空 → <它>/deepseek-harness
  3. 否则自动探测系统文档目录 → <文档>/deepseek-harness
  4. 都失败 → ~/.dsh/workspaces/deepseek-harness

面板上会显示当前使用的来源,便于确认「工作区建在哪」。

安装与启用

安装后需重启 DSH 才会加载(安装界面也会提示「下次启动后加载」)。

方式一:插件管理器(推荐)

  1. 打开 设置 → 插件
  2. 点 「添加插件」
  3. 在「包名或地址」填入:
https://github.com/OraSkyC/dsh-bundle-default-workspace
  1. 点「安装」,然后重启 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 会话有干净的默认落脚点。

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

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

小夜