前言¶
DeepSeek Harness(DSH)在默认工作区里运行时,所有会话的输出文件混在一起,归档后清理也不方便。这个插件让每个真正执行的会话在默认工作区里获得一个独立的时间戳目录,归档时自动清理,退出应用不删。
插件定位¶
这是给 DeepSeek Harness 用的 Host 插件,由维护者 yangstarkone 提供。它解决的是默认工作区会话文件管理混乱的问题:每个会话的产物自成一格,用完归档即清,不在工作区根目录留垃圾。
核心功能¶
会话目录自动创建¶
在默认工作区里,只有真正开始执行的会话(agent/pre-step 触发时)才会创建目录。目录名格式为 年-月-日-时-分,例如 2026-10-24-11-09。只是打开或浏览会话不会创建目录。
目录复用与嵌套¶
同一会话重启应用后再打开,会复用原目录。子代理或团队会话的目录嵌套在父会话目录的 subagents\<id>\ 下,随父会话一起删除。
自动清理机制¶
会话归档或删除时,目录会被删除。删除前先将目录原子重命名到 ~/.dsh/session-trash,再删除副本;残留在 session-trash 里的内容会在下次应用启动时清空。
目录标记与冲突处理¶
每个目录内有一个 .dsh-session-dir.json 标记文件,包含 sessionId、工作区路径和创建时间。只有带该标记的目录才会被删除。同名目录冲突时会自动追加 -2、-3 等后缀。
安装与启用¶
NPM 包安装(Web / TUI profile,一条命令):
dsh plugin --profile web add dsh-default-workspace-session-dir
GitHub 源码安装(未发布 npm 时可用):
dsh plugin --profile web add github:yangstarkone/dsh-default-workspace-session-dir
DeepSeek Harness Desktop:在「设置 → 插件市场」搜索安装,或用「自定义安装」填入 npm 包名 / GitHub 仓库 / 本地目录。
配置(可选)¶
在 profile 的 cordis.patch.yml 中覆盖目标工作区(默认从 workspace 注册表读取 defaultWorkspaceId 的路径):
- id: default-workspace-session-dir
config:
workspacePath: 'D:\my-default-workspace'
行为说明¶
| 场景 | 行为 |
|---|---|
会话在默认工作区里第一次真正执行(agent/pre-step) |
创建 <默认工作区>\2026-10-24-11-09\,并把路径注入会话上下文 |
| 只是打开/浏览会话 | 不创建目录 |
| 同一会话重启应用后再打开 | 复用原目录 |
| 归档 / 删除会话 | 删除该目录(先原子重命名到 ~/.dsh/session-trash,再删副本;残留下次启动清) |
| 退出应用 | 不删除,目录保留 |
| 子代理 / 团队会话 | 目录嵌套在父会话目录 subagents\<id>\ 下,随父会话一起删 |
| 其他工作区 | 完全不受影响 |
提示注入内容:本会话输出目录 = 实际路径;所有新生成文件写入该目录;只有用户明确要求时才删除。
兼容与依赖¶
- 已在 DeepSeek Harness Desktop(2026-10 开发预览版)验证;Web profile 使用同一套 Host 事件,理论同样可用(未逐版本验证,欢迎反馈)。
- Node.js >= 22.6。
- 依赖 DSH 的
agent/pre-step、workspace/session-stop、domain/changed事件与 workspace 注册表(~/.dsh/storages/workspace.json);读不到注册表时退回workingDirectory.defaultDirectory。 - 插件按 profile 安装,只对安装它的 profile 生效。
权限与风险¶
- 插件运行在 DSH Host 进程内,只读写它自己创建的会话目录。
- 归档即真删:目录内容(含生成的文件)会被删除;要保留的产物请先拷贝出去。
- 删除放在
~/.dsh/session-trash的副本会在下次应用启动时清空。 - 日志:
~/.dsh/logs/default-workspace-session-dir.log(只记录创建/复用/删除/拒绝原因,不记录文件内容)。 - 在 Windows 上,如果删除时某个程序正打开着该目录,系统可能短暂保留一个打不开的“删除挂起”目录名;本插件先用重命名移出工作区,避免这种情况出现在工作区里。
卸载¶
- Desktop:插件管理器/插件市场中卸载
- CLI:
dsh plugin --profile web remove dsh-default-workspace-session-dir
卸载不会删除任何已存在的会话目录。
适用场景¶
适合把默认工作区当临时会话区的人:每个会话的产物自成一格,用完归档即清,不在工作区根目录留垃圾。
结尾¶
这个插件通过时间戳目录和自动清理机制,让默认工作区的会话文件管理更加有序。归档即删,退出不删,目录标记确保只清理自己创建的内容。
目录页:https://www.skillhub.cn/plugins/yangstarkone/dsh-default-workspace-session-dir
GitHub:https://github.com/yangstarkone/dsh-default-workspace-session-dir