前言¶
DeepSeek Harness 插件 dsh-calm 提供情绪检查点与修复功能。在 Agent 交互中遇到用户辱骂或情绪激动的场景时,它不直接硬抗或忽略,而是进入安抚模式修复关系;待用户愿意继续时,将争吵段落折叠封存、注入结论总结,让模型从干净的上下文中继续执行任务。
该插件由 wobenshiwomu 维护,开源协议为 MIT。
核心功能¶
插件在 agent/pre-step 阶段对用户消息进行确定性分类,支持 abuse(辱骂)、noise(无实质噪音)、mixed(骂中带任务)、substantive(任务/继续信号)、distress(求助信号)五种状态。根据分类结果执行以下操作:
- 安抚模式
向消息批次注入 calm 注记,确认真实意图但不辩解,同时机械拦下写类/命令类工具调用(只读工具放行)。 - 恢复(剪 + 总结)
用户给出实质指令后,使用surfaceOp: replace总结争吵段,将其从模型可见面剪掉,但保留在日志中。审计元数据记入消息的source.calm字段。 - 终止(滚动窗口)
安抚过程中,若连续 N 轮(默认 5)无实质内容,插件会折叠封存当前会话并机械结束,新会话可继续,不影响文件与进度。 - 访问策略
模型可通过open_sealed工具调阅封存记录。默认返回脱敏版(掩掉辱骂内容),需配置allowRawSealedRead: true才能读取原文。每次调阅均留痕。 - 跨重启
插件利用日志中的 calm 消息自动重建安抚状态,进程重启后不会丢失当前状态。
安装与启用¶
安装前请确保 DeepSeek Harness 版本 >=0.2.0-rc.1,且运行环境为 Node.js ^22.19.0 || >=24.0.0。
使用官方命令直接安装:
dsh plugin --profile web add 'https://codeload.github.com/wobenshiwomu/dsh-calm/tar.gz/v0.1.0'
安装完成后重启 DSH 使配置生效。插件支持本地源码挂载进行热重载开发。
配置¶
插件支持以下配置项(默认值):
window: 滚动窗口,安抚中连续多少轮无实质内容后结束会话(默认 5)。enableTermination: 是否启用自动终止功能(默认 true)。denyPattern: 安抚模式下被临时拦下的工具名正则(如bash\|shell\|pwsh\|write\|edit)。allowRawSealedRead: 是否允许模型直接读取封存原文(默认 false)。
典型用法¶
在本地进行仿真测试,验证分类、安抚、滚动窗口、剪裁、封存策略及跨重启逻辑:
npm install
npm test
注意事项¶
- 总结机制: 目前的总结功能是启发式摘录,预留了接入 LLM 总结的升级点。
- 折叠机制: 折叠区间受 dsh-session 的“受保护头”契约约束,若被拒绝会退化为普通追加,避免锁死会话状态。
- 文件回滚: 插件不负责文件状态回滚,建议搭配
dsh-rewind使用。 - 无前情处理: 会话开头即遇到骂街时,恢复总结会如实说明无可回收的任务上下文。
目录与源码¶
- GitHub 源码:https://github.com/wobenshiwomu/dsh-calm
- 生态目录:https://www.skillhub.cn/plugins/wobenshiwomu/dsh-calm