dsh-plugin-anti-rot
在终端中运行以下命令:
dsh plugin install orangelightening/dsh-plugin-anti-rot
将以下提示词粘贴到 DeepSeek Harness 对话框中:
打开终端执行 dsh plugin install orangelightening/dsh-plugin-anti-rot 即可安装,插件源码位于 https://github.com/orangelightening/dsh-plugin-anti-rot 。
插件介绍
在长时间运行的代理会话中,每次工具调用失败都会向上下文窗口注入一段原始堆栈转储,动辄数十行噪声信息。当会话持续数小时、失败反复发生时,这些冗余文本会逐步挤占模型可用的上下文预算,形成所谓的上下文退化——模型开始遗忘早期指令、输出质量下滑。dsh-plugin-anti-rot 正是为此而生。
该插件钩入 tools/post-execute 事件流,精确定位两类失败信号:基础设施层面的 isError 结果(如进程启动失败、中止),以及 shell 工具共享渲染契约中的非零 [exit code: N] 标记。命中后,将错误文本压缩为前 maxLines 行消息,丢弃中间堆栈帧,并以一个省略标记注明被移除的内容。压缩后的文本始终保持 exit code 标记作为末行,确保模型和终端 UI 仍能正确解析。
如果你的工作流涉及长时间代理运行、频繁调用 shell 命令且偶发失败,这个插件能在不丢失关键错误信息的前提下显著降低上下文消耗,让模型把宝贵的窗口空间留给真正有用的推理内容。
使用场景
- 长会话中工具反复失败,原始堆栈不断挤占上下文窗口
- Shell 命令报错时数十行噪声日志累积,模型开始遗忘早期指令
- 需要压缩错误文本同时保留 exit code 标记以便终端 UI 解析
适合人员
- 运行数小时代理工作流、频繁触发工具失败的开发者
- 依赖 shell 命令并关注上下文预算的自动化流程作者
- 希望在不丢失关键错误信息的前提下优化推理窗口的团队