JohnXu22786/context-pruner
JohnXu22786★ 0TypeScriptLast synced: 2026-08-16
Session context triage plugin for DeepSeek Harness (dsh): prunes stale, repeated, failed and oversized context to save token budget.
README excerpt
dsh-context-triage 会话上下文分诊插件,为 DeepSeek Harness(dsh)自动管理长会话的上下文体积:识别并处理过期、重复、失败、超大与低价值的消息内容,节约 token 预算,缓解上下文膨胀。 特性 - 确定性、零模型依赖 :全部判定与改写由启发式规则完成,不调用 LLM、不需要额外服务,行为可预测、可离线测试。 - 五种筛查器(Screeners) ,各自独立可开关: 筛查器 判定规则 处理动作 过期输出 staleOutput 距最近用户消息超过 N 轮、且结果仍完整的工具调用对 调用块改写为归档摘要,结果块移除 重复调用 repeatedCall 同工具、同参数(JSON 键序无关)的调用对 仅保留最近一次,旧调用对被切除 失败调用 failedCall 过期的错误结果( isError ) 输入参数替换为失败桩(防泄露/省体积),错误文本保留并裁剪 超长块 oversizedBlock 工具结果文本超过字符上限 头尾裁剪,中间标注省略量 过期思考 staleReasoning 超过保留轮次的 reasoning 块;保留的块超出长度上限 移除;或裁剪(保留区内只剪不删) - 保留区(reserve) :最近 N 个用户轮次内的内容一概不动,避免破坏模型正在使用的上下文。 - 豁免清单(exempt) :工具名与文件路径 glob 双维度豁免(默认保护 task / skill / todowrite / todoread / write / edit / batch 等有状态工具)。 - "值得"检查 :任何归档/桩化动作都要求改写后严格小于原文,杜绝越改越贵;调用对级别的动作(归档 = 改写 + 切除)以原子组方式整体生效或整体放弃。 - 审计报告 :每次分诊输出结构化统计——按原因汇总的条数与节省量、逐条明细、建议压缩区间;通过工具、命令与 CLI 三处可见。 - 原生接入 dsh 压缩接缝 :实现 ctx.compaction ( CompactionEngine ),自动压力、上下文溢出、手动与强制区间压缩四条路径全部走 harness 官方机制,替换型摘要消息使用 checkpoint 来源,任何后端无关的消费者都能识别。 安装与挂载 插件以 bundle 形态分发: package.json 的 dsh.bundle.patch 指向 cordis.patch.yml (补丁内容为插入插件行,配置项可整行覆盖)。 方式一(本地目录挂载,推荐): 方式二(手动补丁):把 cordis.patch.yml 中的条目合并进 profile 的 cordis.patch.yml ,或直接作为 overlay 启动: 方式三(git 源): 挂载后可用 dsh --profile web --dump-config …
View full README on GitHub →