會話智能標題:自動總結與更新會話標題

前言

DeepSeek Harness (DSH) 的默認會話標題通常僅取首條消息,隨着對話深入,標題往往與當前主題脫節,導致檢索與記憶上下文變得困難。手動維護這些標題不僅耗時,且容易遺漏。針對這一痛點,dsh-smart-title 插件利用大模型對完整對話上下文進行總結與改寫,實現會話標題的自動化、智能化管理。

是什麼

dsh-smart-title 是一個記憶類 DSH 插件,由維護者 weibaohui 開發,遵循 MIT 許可證。它通過 LLM 總結改寫會話標題,在每輪對話結束後自動更新標題,旨在讓側邊欄的會話標題反映會話的真實意圖與進度。

核心功能

  1. 全對話總結:對“用戶消息 + 助手回答”的完整轉寫進行一輪總結,標題反映會話真正在做的事,而非複述第一句話。
  2. 首條消息即時出題:會話第一條消息到達即出 LLM 標題,接管官方 first-prompt 節奏。
  3. 刷新節流:設定最小刷新間隔(默認 2 分鐘),避免長會話每輪對話都消耗 LLM,同時消掉首題與回合結束的重複刷新。
  4. 長會話凍結:當用戶消息超過閾值(默認 100)後停止自動刷新,降低主題漂移概率(啓動回填路徑除外)。
  5. 同題靜默跳過:新生成標題與現標題相同時,靜默返回現值,不產生寫入操作與側欄閃爍。
  6. 失敗自動重試:對官方內置標題提供方的失敗進行兜底重試,防止回退標題永久殘留。
  7. 手動改名保護:用戶在界面上手動改過的標題(釘住)絕不會被自動覆蓋。
  8. 範圍可控:可自動跳過子代理會話與 fork 子會話,並可配置是否包含助手回答。
  9. 啓動回填(可選):對標題仍是回退文案的活躍會話進行逐個重寫(默認關閉)。
  10. 模型可指定:默認跟隨會話當前模型,也可爲標題生成單獨指定路由。

安裝與啓用

執行以下命令安裝插件:

dsh plugin --profile web add @weibaohui/dsh-smart-title -w

安裝完成後重啓 dsh web 即可生效。安裝過程中會自動禁用 DSH 內置的 first-prompt 標題提供方(session-title 服務只允許一個提供方共存,卸載本插件後內置提供方會自動恢復)。

典型用法

  1. 正常使用:安裝並重啓後,正常聊天即可。側邊欄會話標題會在第一輪對話後自動變成總結式標題。
  2. 可視化配置:進入 設置 → 會話智能標題,可調整總開關、標題長度、刷新節流間隔、長會話凍結閾值、標題模型路由、範圍排除及啓動回填等參數。保存後配置立即生效。
  3. 存量會話修復:打開「啓動回填」選項,重啓一次 DSH 實例。插件會對標題仍是回退文案的活躍會話逐個重寫(用戶手動改過的不受影響)。
  4. 直接編輯配置:也可直接編輯 ~/.dsh/settings.yaml 中的 dsh-smart-title: 節,保存後約 2 秒熱生效。

工作原理

插件通過 DSH 官方的 sessionTitle 服務日誌事件機制(session/title)進行標題寫入,與內建提供方共用同一通道,客戶端側邊欄無感知自動刷新。

  1. 觸發機制:插件註冊唯一提供方接管 first-prompt 自動節奏,並訂閱 session/event 的 turn/end(completed)事件觸發顯式刷新。
  2. 上下文構建:每次刷新時,插件讀取完整會話日誌構建轉寫。用戶消息按 seq 歸屬,助手回答按預算裁剪,生成摘要。
  3. 獨立請求:通過 ctx.llm 以 purpose: session-title 發起獨立輔助請求,不影響主對話上下文與 KV Cache。
  4. 過濾與節流:在 turn/end 刷新前,會檢查兩個條件:refreshMinIntervalMs(距上次生成的最小間隔,覆蓋首題在內的所有路徑)與 refreshMaxTurns(長會話凍結,回填路徑豁免)。
  5. 去重:若生成結果與現標題同題(忽略大小寫與空白差異),則靜默返回現值,不寫入與告警。

適用場景與注意

此插件適合需要長期維護會話上下文、依賴側邊欄快速檢索會話主題的 DSH 用戶。

插件以當前 DSH 進程的權限運行。在使用前,建議檢查插件源碼與許可證(MIT)以確認安全性。

總結

dsh-smart-title 提供了一套從安裝到配置再到回填的完整方案,解決了默認標題不相關與手動維護繁瑣的問題。對於追求會話管理效率的開發者,它是一個值得納入工具箱的插件。

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

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

小夜