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。

生態鏈接

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

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

小夜