dsh-session-handoff:DeepSeek Harness 的會話交接與上下文管理

前言

DeepSeek Harness (DSH) 的長會話容易觸達上下文窗口上限,導致自動壓縮卡頓或進度丟失。此插件通過結構化交接文檔和主動剪枝,解決會話中斷與上下文溢出問題。

安裝

dsh plugin --profile web add github:snow-The/dsh-session-handoff

安裝後需要重啓 dsh web。

核心模塊

會話交接

插件提供結構化的交接文檔導出與恢復能力,支持在斷點處無縫切換會話。
- 導出與恢復:handoff_export 將會話解析爲 Markdown 文檔,寫入 <workspace>/.dsh-handoff/handoff-<session>.md,並生成可複用的交接包(支持 OpenViking/archify 增強時)。handoff_resume 用於在新會話中加載文檔並繼續工作。
- 狀態查看:handoff_status 輸出會話概覽,包括回合數、消息、工具使用、檢查點及上下文壓力。

活躍上下文剪枝

使用官方壓縮 API,在上下文窗口填滿前主動壓縮已消耗的歷史,避免卡頓。
- 壓力監控:acp_status 檢查使用量、表面序列映射及限制(軟/硬壓力等級)。
- 手動壓縮:acp_compress {start} {end} {summary} 將指定範圍替換爲摘要。
- 配置調整:acp_set_limit 主動設置新的軟/硬限制,持久化至配置文件。默認軟/硬限制爲 60% / 70%。
- 輔助功能:acp_decompress(讀取隱藏文本)、acp_search(搜索壓縮歷史)。

會話管理

對會話進行回收站、恢復或永久清除,防止數據丟失。
- 操作工具:session_list 列出會話;session_trash 歸檔並移動會話至回收站(可恢復);session_restore 恢復回收站會話;session_purge 永久刪除會話及回收站條目。
- 垃圾箱持久化:回收站條目以 JSON 格式持久化在 $DSH_HOME/dsh-session-handoff-trash/ 下,保留最新的 10 個。

模型路由

支持跨供應商、跨計劃切換同一模型 ID,解決單一模型 ID 在多供應商間的管理問題。
- 路由查看:model_routes 列出所有註冊路由(供應商、baseURL、key family)。
- 路由切換:model_switch {route} 切換當前模型至指定路由。支持 --vision 選項使用視覺包裝器。

Web 界面

插件內置手寫 Web 客戶端(無構建步驟),提供圖形化管理。
- 模型路由面板:在設置頁新增“模型路由 / Model Routes”面板,支持拖拽排序、刪除、添加路由。
- 自動故障轉移:噹噹前路由出現錯誤時,自動切換至優先級列表中的下一個路由,工作不中斷。
- 交互控制:提供“交接導出”按鈕和壓縮閾值滑塊(軟/硬限制),支持一鍵填充默認值。

典型用法

在舊會話中:

handoff_export   # 導出交接文檔

在新會話中:

handoff_resume   # 加載交接文檔,繼續工作

在長會話中:

acp_status       # 檢查壓力
acp_compress {start} {end} {summary}   # 剪枝已消耗的範圍
acp_set_limit    # 主動調整軟/硬限制

切換供應商時:

model_routes                       # 查看路由
model_switch deepseek              # 使用 Ark 路線
model_switch deepseek-official     # 使用官方路線
model_switch deepseek --vision     # 使用視覺包裝器

注意事項

  • 插件核心零依賴;內存與圖表功能在檢測到對應增強(如 OpenViking、archify)時自動啓用。
  • 主機路由邏輯與代理工具共享,不會偏離。
  • Web 客戶端無構建步驟。
  • 垃圾箱條目作爲 JSON 持久化在 $DSH_HOME/dsh-session-handoff-trash/ 下(保留最新的 10 個)。

結語

該插件旨在解決 DSH 開發中的記憶與上下文管理難題,適合需要長週期、多會話協作的開發場景。

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

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

小夜