前言¶
在 DeepSeek Harness (DSH) 的开发中,随着对话轮次增加,上下文窗口会被历史记录和工具输出填满,导致推理成本上升且注意力分散。手动清理历史不仅耗时,还容易丢失关键信息。dsh-clear-mind 旨在解决这一问题,它赋予模型自主管理上下文的能力,让模型在合适的时机将冗余的历史记录压缩为可审计的检查点。
插件介绍¶
dsh-clear-mind 是一个由 john-walks-slow 维护的插件(类别:记忆),核心功能是“模型可调用上下文压缩”。
它通过提供 mind_map 和 clear_mind 两个工具,允许模型(特别是根代理)审视当前上下文表面,并自主将指定区间替换为模型生成的检查点。同时,插件提供主动阈值提醒,在上下文过长时提示模型进行清理。所有操作都会在 GUI 中生成可展开的“墓碑”记录,且不依赖任何外部网络服务。
核心功能¶
该插件提供以下能力:
- 模型可调用上下文压缩:
mind_map:让模型俯瞰上下文表面,展示消息的序列(seq)、角色、token 重量及边界标记(▸、◂、◆),帮助模型判断清理范围。clear_mind(start, end, notes):将[start..end]区间的历史记录替换为模型自写的检查点,走平台原生的压缩事务流程。
- 主动阈值提醒:当上下文 token 占比达到设定阈值(如 70%)或单轮步数过多时,插件会在下个 step 边界注入
<system-reminder>,引导模型清理。 - 可审计的 GUI 墓碑:每次清理操作都会在 GUI 中折叠为一行墓碑,保留 notes 内容,支持展开查看,确保操作可回溯。
- 零网络与零外部依赖:插件完全本地运行,不发起网络请求,不依赖外部服务。
- 平台事务集成:利用平台原生的 compaction transaction,确保 token meter 和后续自动压缩逻辑正确识别这些操作。
- 对子代理零影响:子代理保持平台自动压缩机制,不开放手动修改历史的工具。
安装与启用¶
在安装前,请确保环境满足要求:Node.js 版本不低于 22.5,且 DSH 版本与 dsh-tools 0.1.2-rc.1 对齐。
执行以下命令安装插件:
dsh plugin --profile web add dsh-clear-mind
安装后,插件会自动挂载 cordis.patch.yml,重启 DSH 后,模型即可获得 mind_map 和 clear_mind 工具。所有参数均内置合理默认值,无需手动配置即可使用。
典型用法¶
1. 调用 clear_mind 进行压缩¶
模型在确认当前阶段已结束或路径明确后,可以调用 clear_mind。参数包括起始序列、结束序列和笔记内容:
clear_mind(start, end, notes)
例如,清理一段已解决的报错排查历史:
clear_mind(1, 8, "已解决构建报错。问题出在 include 目录漏了 scripts。后续测试通过。")
2. 调用 mind_map 审视上下文¶
在清理前,使用 mind_map 查看上下文表面:
mind_map()
这将返回当前 surface 的节点数、token 占用以及每条消息的预览,帮助模型识别清理区间。
3. 配置提醒阈值¶
在设置页面(或配置文件)中,可以设置上下文占模型窗口的比例阈值,默认为 0.70(即 70%):
reminderThresholdRatio: 0.70
注意事项¶
在使用该插件时,请注意以下行为规则与限制:
- 仅根代理可用:
mind_map和clear_mind仅注册给根代理(root agent),子代理上下文由平台自动管理,不开放手动修改历史的工具。 seq是身份标识:seq是上下文表面的顺序 ID,而非数值。在执行清理操作后,表面顺序可能不再单调,提交时请使用seq作为身份而非区间长度。- 自动折叠:已提交的
clear_mind调用与返回结果,会在下一个 step 边界自动折叠为一行墓碑,避免冗余显示。 - 日志不可变:人类侧的会话记录是追加式日志,不会因为清理操作而被修改,保证事实源不变。
- Headless 模式兼容:如果 Web 设置服务不可用(如 Headless profile),插件会自动降级为读取配置文件生效。
- 版本兼容性:请确保使用
dsh-tools 0.1.2-rc.1版本,以确保与 DSH 平台契约完全兼容。
总结¶
dsh-clear-mind 为 DSH 提供了一套可控的上下文管理机制。通过让模型自主决策何时压缩历史,并辅以可视化的审计日志,它有效缓解了长对话带来的 token 窗口压力,同时保持了会话的可追溯性。对于需要处理复杂任务或多轮迭代的 DSH 用户而言,这是一个实用的工具。