dsh-calm
Manifest valid★ 5DeepSeek Harness Plugin: Emotional Checkpoint & Repair — Soothe, Fold & Archive the Argument Section, Inject Conclusion, and Continue the Task from a Clean Context | Emotional checkpoint & repair for DSH
dsh-calm
DeepSeek Harness 插件:情绪检查点与修复(Emotional Checkpoint & Repair)。 用户骂街时不硬抗、也不装没事——进入安抚模式修复关系;用户愿意继续时, 把争吵段落折叠封存、注入结论总结,回到干净上下文继续任务。
适配 DSH
>=0.2.0-rc.1(开发者预览期,破坏性变更会跟进适配)。
工作流
- 触发判定 ——
agent/pre-step(请求派发前)拿到"尚未落库"的用户消息,做确定性分类:abuse(辱骂)/noise(无实质噪音)/mixed(骂中带任务)/substantive(任务/继续信号)/distress(求助信号,安全例外)。 - 安抚模式 —— 同轮向消息批次注入一条 calm 注记(承接情绪、不辩解、确认真实意图);
同时
tools.guard机械拦下写类/命令类工具(只读工具放行)。 - 恢复(剪 + 总结) —— 用户给出实质指令后:
- 追加一条带
surfaceOp: replace的总结消息(元数据记入source.calm,含折叠范围与轮数),把争吵段从模型可见面剪掉; - 会话日志一行不删(封存 = 日志保留 + 可见面遮蔽,和 compaction 同源机制)。
- 追加一条带
- 终止(滚动窗口) —— 安抚中连续 N 轮(默认 5,可配)无实质内容:
折叠封存 +
pre-step返回{kind:'reject'}机械结束本次会话;用户新开会话可继续,文件与进度不受影响。 - 访问策略 —— 模型可用
open_sealed工具带理由调阅封存记录: 默认脱敏版(掩掉辱骂内容、保留事实);原文需allowRawSealedRead: true; 每次调阅留痕(subtype: read)。模型也可用end_conversation主动结束会话。 - 跨重启 —— 进行中的安抚状态由日志(
subtype: soothe的 calm 消息)自动重建,进程重启不失忆。
安装
GitHub 直装(推荐,国内网络可直连,无需 npm 账号):
dsh plugin --profile web add 'https://codeload.github.com/wobenshiwomu/dsh-calm/tar.gz/v0.1.0'
或在图形界面:侧栏「插件」→ 添加插件 → 填上面这条 URL。装完重启 DSH 生效。
URL 末段的 v0.1.0 是版本标签;升级时换成本仓库的新版本标签重装即可。
npm 渠道(尚未上架):上架后即可 dsh plugin --profile web add dsh-calm。
本地源码挂载(开发用,改代码即热重载):
在 profile 的用户层 ~/.dsh/profiles/<名>/cordis.patch.yml 里按绝对路径挂载插件入口:
- insert:
- id: dsh-calm
name: '/绝对路径/到/dsh-calm/src/index.mjs'
config: { window: 5, enableTermination: true, allowRawSealedRead: false }
保存后重启 DSH 生效;也可把这段 YAML 存为独立文件,用 dsh web --patch ./该文件.yml 启动测试实例。
配置
| 键 | 默认 | 说明 |
|---|---|---|
window | 5 | 滚动窗口:安抚中连续多少轮无实质内容后结束会话 |
enableTermination | true | 是否启用"救不动就结束" |
denyPattern | bash|shell|pwsh|write|edit|... | 安抚模式下被临时拦下的工具名正则 |
allowRawSealedRead | false | 是否允许模型直接读取封存原文 |
审计记录(都在会话日志里,导出即可复盘)
审计元数据存放在 calm 消息的 source.calm 字段。不引入自定义事件类型的原因:DSH 读取器只接受已知事件类型或带 ignorable 标记的记录,而当前版本 session.append() 未向插件开放该标记,自定义类型会让会话日志变得不可读;user/message.source 是浅校验、原样保留的天然审计位。
subtype: soothe—— 进入安抚模式(checkpoint、时间、是否含求助信号)subtype: sealed—— 折叠封存(模式 resolved、折叠范围 shadowedSeqs、轮数)subtype: terminated—— 会话终止(原因、未被采纳的结尾文本)subtype: read—— 模型调阅封存记录(id、理由、是否请求原文)subtype: reminder—— 结束后的低频提醒
已知边界
- 总结目前是启发式摘录(回收争吵段里非辱骂的用户陈述 + 状态说明);接 LLM 总结是预留的升级点。
- 折叠区间遵守 dsh-session 的"受保护头"契约(不会覆盖系统提示首节点);折叠若被拒绝会退化为普通追加(审计记录优先落库,避免状态重建把会话锁进安抚模式)。
- 会话"无前情"(一开口就是骂)时恢复,总结会如实说明没有可回收的任务上下文,模型不会凭空假设旧任务。
- KV/前缀缓存:依赖框架与供应商的前缀缓存自动命中,插件不需要也不应该手动管理 KV;回退后仅被剪段失效。
- 不负责文件状态回滚:建议搭配
dsh-rewind(用户手动后悔药)使用。 - 判定为规则分类器(确定性裁判);升级小模型分类器时只需替换
classify()。
测试
npm install # 首次:安装测试所需的宿主依赖(@deepseek-ai/dsh-llm 等)
npm test # 仿真测试:分类/安抚/滚动窗口/剪+总结/闸门/封存策略/跨重启(53 项断言)
Comments
Loading…
Similar plugins
by Anionex
deepseek harness对话和代码状态回退插件 | DSH — rewind conversation and workspace state, powered by a persistent Change Ledger
★ 131
BSD-3-Clause
JavaScript
Oct 1, 2026
dsh plugin --profile web add @anionex/dsh-turn-rewindby MutaLucem
DeepSeek Harness (DSH) 插件整合中心:动态发现、打标分类、重叠/兼容检测、一键启停与失效检测
★ 10
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-plugin-integrationby tianyaojiudi-prog
DSH(DeepSeek Harness) 插件:把一段可在设置页随时改写的文字,作为全局系统提示词段注入到所有会话,含子代理与工作流内部子代理;文本与开关即时生效,无需重启。
★ 8
MIT
JavaScript
Oct 4, 2026
dsh plugin --profile web add dsh-djy-xttscby c-ling
DeepSeek Harness 桌面电子宠物插件:跟随 agent 状态变换心情的内置/自定义/Codex 精灵图伙伴。
★ 4
↓ 32/wk
MIT
JavaScript
Aug 22, 2026
dsh plugin --profile web add dsh-plugin-petby liujianqiao701
DSH(DeepSeek Harness)插件兼容性体检:预警下次启动会被拒绝加载的插件,并在页面上按键一键隔离/卸载修掉它(改前自动备份、失败自动回滚)。Plugin compatibility vet for DeepSeek Harness.
★ 0
MIT
JavaScript
Sep 30, 2026
dsh plugin --profile web add dsh-compat-vetby callmesoul
DSH (DeepSeek Harness) 任务看板插件:主机状态机 + git 调度 + 浏览器看板 UI,agent 自动执行任务、审核后自动合并回基础分支
★ 4
Vue
Sep 4, 2026
dsh plugin --profile web add @deepseek-kanban/plugin