dsh-context-date-pruner:按日期筛选并移出已结束轮次的模型上下文

前言

在 DeepSeek Harness(DSH)里长时间跑同一会话时,模型每次请求都会带上越来越长的上下文。常见做法是开新会话或手动删消息,但前者会丢掉当前会话的连续状态,后者又容易动到你不该删的内容。DSH 的会话日志是 append-only 的,聊天记录界面也会完整保留历史;真正需要控制的,往往是「后续请求里模型还能看到哪些轮次」。

下面介绍社区插件 dsh-context-date-pruner:在不删日志、不改聊天记录的前提下,按时间段挑选已经结束的对话轮次,把它们从模型可见上下文中移走。

这是什么

dsh-context-date-pruner 是维护者 yue7ye 发布的 DSH Host + 浏览器 UI 插件(MIT,当前 package 版本 1.2.0)。它解决的是:逐轮浏览当前 live 会话里已结束的 turn,按日期或时间范围筛选,再选择性从 deriveMessages() 推导结果里去掉这些轮次,从而压缩后续请求的 token,同时保留完整 session log 与界面 transcript。

核心功能

插件在输入框下方增加「上下文编辑」入口,能力均来自官方 README,要点如下。

轮次列表与展开明细

  • 按本地时区(默认 Asia/Shanghai)列出当前打开会话中已结束的轮次;每条显示开始时间、预览、节点数、粗略 token 估算。
  • 每轮右侧「展开聊天记录」:按发生顺序展示该轮完整内容——用户消息、助手回复、思考过程、工具调用与结果、系统注入;已被移出上下文的内容会标记「已移出上下文」,可再「收起聊天记录」。

时间与批量选择

  • 「从 / 到」时间输入,或快捷 chip:今天、近 3 天、近 7 天、全部时间。
  • 可逐条勾选要删除的轮次,也可按天全选或「全选当前列表」(仅作用于当前筛选结果里可删项)。

预演与确认删除

  1. 先点「预演」,确认将影响的轮次数、节点数、大约 token。
  2. 再点「删除」,并二次确认。

语义边界(必读)

  • 只改模型后续请求看到的上下文:向日志追加带 surfaceOp: replace 的占位事件(空 developer 消息),使选中 surface 节点从推导消息中消失;不删除、不改写已有事件,事后仍可从日志恢复推导逻辑上的信息。
  • 系统提示(surface 第 0 节点)永远保留;进行中的 turn 不会出现在列表中,也不能删。
  • 不可撤销:插件不提供 undo,被移出的内容不会再进入后续模型请求。
  • 仅对正在运行的 live 会话生效;会话关闭后无法编辑。

安装与启用

DSH 要求 >= 0.2.0-rc.2(README 注明已在桌面版 0.2.1-rc.2 上验证)。纯 Host + Web UI 插件,无额外运行时依赖。

从社区目录安装:在 DSH 中打开 插件 → 发现,搜索 dsh-context-date-pruner 并安装。目录页:https://www.skillhub.cn/plugins/yue7ye/dsh-context-date-pruner(SkillHub 为独立社区站点,与 DeepSeek / 幻方无官方从属关系)。

或在指定 profile 下直接添加:

dsh plugin --profile <your-profile> add dsh-context-date-pruner

安装前建议自行查看 GitHub 源码与 MIT 许可证;插件以当前 DSH 进程权限运行,与所有 DSH 插件一样,应确认来源可信。

典型用法

  1. 打开一个正在运行的会话(插件不对已关闭会话生效)。
  2. 点击输入框下方的「上下文编辑」。
  3. 需要核对某轮内容时,点该轮「展开聊天记录」查看明细及「已移出上下文」标记。
  4. 设定时间范围,勾选要移出的轮次 →「预演」→「删除」→ 再次确认。
  5. 若筛选结果较多,可用「全选当前列表」一次处理列表内全部可删轮次。

适用场景与注意

适合:长会话里早期探索、试错或已过时的多轮工具调用仍占大量 context,但你希望保留完整日志与聊天界面以便审计或回溯。

注意:

  • 移出上下文不等于删消息;界面上原文仍在,只是模型不再看到。
  • 无撤销;重要轮次移出前务必用预演和展开明细核对。
  • 只能编辑当前打开的 live 会话。

开发者本地跑逻辑测试(无需检出 DSH):

npm test

logic.js 不 import Harness 包,仅依赖传入的 session 对象,便于离线测试。

结尾

dsh-context-date-pruner 把「按日期管理 context」做成可预览、可逐轮核对的操作:日志与 transcript 不动,只收窄模型视野。需要安装或源码时,见社区目录页与 GitHub 仓库:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye