dsh-session-handoff:將長會話交接給新會話

前言

在 DeepSeek Harness(DSH)的使用過程中,隨着會話變長,上下文窗口逐漸被填滿,模型處理速度會變慢,且容易丟失關鍵信息。手動複製粘貼歷史記錄到新會話既繁瑣,又容易破壞工作流。dsh-session-handoff 插件旨在解決這個問題:它通過一條命令,將當前會話的內容總結並移交到一個全新的會話中,同時保持原會話不變。

插件介紹

dsh-session-handoff 是一個 DSH 插件,用於將長會話平滑交接給一個新的會話。

  • 維護者:WeiYe6
  • 許可證:MIT
  • 核心價值:在同一個 workspace 中創建一個乾淨的新 session + agent,通過 LLM 生成結構化摘要,並自動打開新會話。

核心功能

該插件主要提供以下能力:

  1. 單命令操作:輸入 /handoff 即可觸發,支持指定摘要的消息數量或使用 all 獲取全部歷史。
  2. 乾淨的交接:新會話繼承原 workspace、模型路由和 agent preset(包含 system prompt、tools、skills),但不復制舊的歷史上下文,避免上下文膨脹。
  3. 結構化摘要:生成的交接文檔包含明確的分類,包括任務目標、當前進度、關鍵決策、涉及文件、下一步和遺留問題。
  4. 自動打開:客戶端會等待新會話就緒並自動導航過去。每個子會話只會自動打開一次,不會重複跳轉。
  5. 魯棒性設計:摘要默認關閉思考(fast/cheap),超大輸入截取最新消息而非報錯,並將結束原因轉換爲可操作的錯誤信息。
  6. 零核心改動:僅需一行 dsh.bundle.patch,僅依賴公開服務。

安裝與啓用

安裝需要先獲取包文件,然後通過 DSH 命令行安裝。

  1. 獲取插件包(例如 dsh-session-handoff-0.2.1.tgz)。
  2. 使用 DSH 命令將其添加到 web profile:
dsh plugin --profile web add ./dsh-session-handoff-0.2.1.tgz
  1. 重啓 DSH 並驗證。在 web 模式下查看配置,應能看到 dsh-session-handoff 相關的掛載項。

使用示例

在任意會話的輸入框中輸入以下命令:

  • /handoff:默認總結最近 8 條用戶消息。
  • /handoff 20:總結最近 20 條用戶消息。
  • /handoff all:總結所有用戶消息。

執行後,界面會顯示“summarizing…”,隨後新會話會自動打開,第一條消息即爲生成的結構化交接文檔。

配置說明

可以在配置文件中調整摘要的行爲。默認配置如下:

- id: handoff
  name: dsh-session-handoff
  config:
    turns: 8            # 抽取的用戶消息輪數 (1-50)
    maxInputChars: 24000  # 摘要輸入的字節上限(超出則丟棄舊消息)
    maxTokens: 2000     # 摘要輸出的 token 預算
    reasoningEffort: off  # 思考模式:off (默認,快速/便宜) | high | max | inherit
    timeoutMs: 120000   # 摘要調用超時時間
    # provider: deepseek-official   # 可選:固定模型路由
    # model: deepseek-v4-flash      # 必須與 provider 配對

如果不配置 provider 和 model,系統將使用當前會話的模型路由。

注意事項

  1. 隱私:爲了生成摘要,最近會話的文本(包括用戶和助手消息)會被髮送到配置的模型進行處理。
  2. 版本兼容性:支持 DSH 0.1.0-rc.5 到 rc.8 以及 0.1.1-rc.2。DSH 0.1.2-alpha.1 因架構變更被排除,不支持。
  3. 存儲位置:交接文檔僅存在於會話內存中,不會寫入磁盤(HANDOFF.md 是未來的增強功能)。

結語

dsh-session-handoff 解決了 DSH 開發中上下文管理的痛點。通過自動化會話交接,開發者可以保持會話的整潔與高效。更多細節與源碼,可參考社區目錄或GitHub 倉庫。

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

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

小夜