前言¶
DeepSeek Harness(DSH)的会话是只追加的日志,无法在原地「清空」对话;要重新开始,只能新建会话,旧记录仍留在侧边栏。桌面端 Composer 里自带 /compact,但没有与侧边栏「新会话」或 Cmd+N 等价的斜杠命令。若手动新建会话,权限预设往往会回到 Profile 默认值,和当前会话里你选好的 read-only、ask、auto 等不一致,容易在新会话里无意放宽或收紧 Agent 行为。
下面介绍的 dsh-slash-new 是维护者 deqingLv 发布的客户端类 DSH 插件(MIT,当前 package 版本 1.0.0),只增加一条斜杠命令 /new:在当前工作区开启空白会话,并把旧会话的权限预设与代理预设(agent preset)带到新会话,避免「开新页却丢配置」。
这是什么¶
- 定位:小型 DSH 插件,Host 侧注册命令,Client 侧(Web 平台)监听执行并切换会话。
- 维护者:deqingLv;源码与说明见 GitHub 仓库,社区目录页:SkillHub 插件页(独立社区目录,与 DeepSeek / 幻方无官方从属关系)。
- 解决的问题:在 Composer 里用
/new完成与「新会话」相同的动作,且权限与代理预设与离开前的会话一致(在可用预设表达的范围内)。
核心功能:/new 做了什么¶
执行 /new 时,插件按 README 描述的顺序工作:
| 步骤 | 行为 |
|---|---|
| 1 | 读取当前会话的 permissions 投影(read-only / ask / never / danger-full-access / auto)及其 agentPreset |
| 2 | 在同一工作区创建或复用空白会话,创建时传入 agent preset |
| 3 | 在主面板打开该会话 |
| 4 | 在新会话中重放权限预设:执行宿主自带的 /permission <preset>(与 Composer 里权限芯片的调用方式相同) |
旧会话的日志仍保留在侧边栏,不会被删除。
限制(资料原文):若当前会话使用的是自定义(custom)权限组合、无法对应到上述某一预设,新会话会回落到宿主默认,并在客户端控制台输出警告。
插件由 host 半(lib/index.js:在 ctx.commands 注册命令)与 client 半(client/client.js:监听 command/executed)组成;Client bundle 在应用启动时编译,改插件或 bundle 配置后需重启桌面 App。
安装与启用¶
安装前请自行查看仓库源码与 MIT 许可证;插件在当前 DSH 进程权限下运行,仅安装你信任的来源。
当前 README 给出的安装方式如下(尚未发布到 npm 时以本地 link 为例;发布后 README 写明可用 dsh plugin --profile desktop add dsh-slash-new,但 bundle 条目仍必填):
# 1. 让 desktop profile 指向本包(路径改为你机器上的绝对路径)
dsh plugin --profile desktop add link:/absolute/path/to/dsh-slash-new
# 2. 在 ~/.dsh/profiles/desktop/package.json 的 dsh.bundle.bundles 中加入 "dsh-slash-new"
# 3. 退出并重启桌面 App(Cmd+Q 后重新打开)
客户端 bundle 在启动时编译,安装或修改 plugin 与 bundle 任一半之后都要重启 App。
卸载:
dsh plugin --profile desktop remove dsh-slash-new
然后从 dsh.bundle.bundles 中移除 "dsh-slash-new" 并再次重启。
典型用法¶
在 DSH 桌面端、当前工作区的 Composer 中输入:
/new
效果等同于侧边栏「新会话」或 Cmd+N:新空白会话在当前工作区打开,且尽量继承离开前会话的权限预设与 agent preset。
开发者在 disposable 实例里做端到端验证(不碰真实 Profile)时,README 示例为:
DSH_HOME=/tmp/dshhome dsh --profile scratch --no-open --port 63002
在该实例中执行 /new 即可检查行为。
适用场景与注意事项¶
适合谁:经常在 DSH 桌面端「换一页对话」但希望权限芯片与代理预设不变的开发者;需要与 /compact 区分——/compact 压缩当前日志,而 /new 是新建空白会话。
兼容性(资料原文):在 DSH desktop 0.2.1-rc.3(Web renderer)下测试。Client 半依赖 sessions、workspaces、uiWorkspace(空白会话创建、会话切换)以及宿主的 /permission 命令。
冲突:不要与同样注册 /new 的插件并存(例如 README 提到的 deepseek-harness-ultra-slash)。两者都会监听 command/executed,一次 /new 可能导致切换会话两次。
生态背景:DSH 采用「一切皆插件」的扩展方式;本插件属于客户端类扩展,只增加 Composer 斜杠能力,不替代宿主内置的会话存储模型。
结尾¶
dsh-slash-new 用一条 /new 补齐桌面 Composer 里「新会话」的斜杠入口,并在开新会话时继承权限预设与 agent preset,减少因手动新建会话而回到 Profile 默认权限的情况。安装涉及 profile 插件命令、dsh.bundle.bundles 与重启三步,自定义权限无法预设表达时会回退默认并打控制台告警,安装前请阅读源码并注意勿与同名斜杠插件叠装。