dsh-context-guard: 会话交接与上下文压力监控

前言

在 DeepSeek Harness (DSH) 的开发流程中,长会话往往不会以“崩溃”告终,而是以“成本飙升”收场。平台会在约 80% 的上下文占用率时自动压缩会话,这通常发生在用户已经无法干预的时刻。dsh-context-guard 旨在解决这一问题:它在回合结束时介入,利用官方 dsh-token-meter 计算的 contextPressure 投影,在会话占用率达到阈值时提醒用户结束当前会话并开启新会话,并自动生成交接文档。

插件介绍

这是一个 DSH 工作流插件,由用户 2JumpSinA 维护。它通过读取官方 token-meter 的数据,在会话占用率过高时触发警告,并自动起草一份机器事实的交接块,写入会话的工作目录。其核心价值在于“零上下文税”——不向模型注册工具,不注入提示词,也不发送额外请求,完全在宿主进程中进行计算和读写。

核心能力

  • 消费官方投影:直接读取 dsh-token-meter 生成的 contextPressure 数据。
  • 自动交接起草:当会话占用率超过 warnRatio(默认 45%)时,插件会在会话工作目录中创建或重写 HANDOVER.md。之后每增加 5 个百分点,它会刷新该文档。
  • 零上下文税:不注册模型可见的工具,不注入提示词,不产生额外的 API 请求,不会增加模型端的 token 消耗。
  • 机器事实记录:交接文档包含会话 ID、标题、工作目录、占用率、调用次数、账单成本、本次会话写入的文件列表以及最近几轮提示词与回复的预览。
  • 双语支持:内置中英文运行时拷贝,根据上下文自动检测。

使用与配置

  • 默认触发:默认 handoverOnWarn 为 true,默认 warnRatio 为 0.45(即 45%)。
  • 交接路径:默认路径为 HANDOVER.md。
  • 推送配置:默认 pushChannel 为 'none',即不向外部推送消息。
  • 典型流程:当占用率跨过 45% 阈值时,插件会在回合结束时发出警告,并在当前目录生成 HANDOVER.md;之后每跨过 50%、55% 等节点,文件会被刷新。

权限与安全

  • 工作目录写入:插件会将交接文档写入会话的工作目录。该目录可能包含敏感信息(如文件路径、提示词片段),因此建议将 HANDOVER.md 加入 .gitignore,或将 handoverPath 指向仓库外。
  • 原子写入与权限:采用原子写入(临时文件 + 重命名)模式,文件权限严格限制为 0o600。
  • 边界检查:拒绝写入不存在的父目录、非文本文件(如 .json/.yml)以及指向其他位置的符号链接。
  • 错误处理:任何写入失败仅记录为状态,不会影响徽章显示或推送功能。

技术规格

  • 包名:@2jumpsina/dsh-context-guard
  • 版本:0.3.4
  • 运行环境:Node.js ^22.19.0 || >=24.0.0
  • 依赖:需要 @deepseek-ai/schemastery 作为 peer dependency。

生态链接

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

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

小夜