smart-session-title:DeepSeek Harness 智能會話標題插件

在 DeepSeek Harness (DSH) 中,會話標題是快速定位上下文的重要索引。DSH 自帶的 session-title-llm 提供商在處理超長提示詞或弱提示詞(如僅包含 “繼續寫”)時,往往存在直接拒絕生成或無法反映真實任務的問題。smart-session-title 插件旨在解決這些痛點,通過壓縮提示詞、等待有意義任務以及提供更靈活的控制,爲 DSH 提供更智能的自動標題能力。

該插件由開發者 y2zyyr 維護,版本爲 0.5.0-rc.18(發佈候選,對應 npm 的 next 標籤)。它替換了內置的 session-title-llm 提供商,直接使用對話中實際使用的 Provider 和 Model 來生成標題。

核心功能

  • 任務摘要與壓縮:自動總結第一條有意義任務爲短標題。對於超長或代碼密集的提示詞,插件會進行壓縮處理而非拒絕。
  • 智能等待:當對話以問候語開始時,插件會等待直到出現有意義任務,避免過早生成標題。
  • 手動保護與防漂移:保護手動設置的標題,防止自動生成導致的標題漂移。
  • 顯式重新生成:支持通過 /retitle 命令或界面頭部按鈕進行顯式標題重新生成。顯式請求會覆蓋弱提示詞過濾器,即使消息僅爲短命令也能重新生成。
  • 高度可配置:
    • 標題形狀與內容:設置字符上限(含日期)、日期前綴/後綴、標題風格(如 action-object 或 short-name)、語言(中文/英文)。
    • 排除詞與鎖定:支持設置 titleExclusions(排除客戶名或內部代碼)和 lockedSessionIds(鎖定特定會話 ID,禁止自動重寫)。
  • 批量優化:提供批量優化已存儲會話標題的功能,支持進度跟蹤、搜索和對比。
  • 隱私與診斷:提供原生設置界面,並在頁面底部顯示插件版本號。插件使用本地診斷,無遙測服務。

安裝與啓用

環境要求

  • DSH Core:0.1.5-rc.1 或 0.2.0-rc.1
  • Node.js:>= 22.15.0

安裝步驟

在 DSH 的 profile 目錄下執行:

npm install smart-session-title@next --legacy-peer-deps

配置 Bundle

安裝完成後,需在 dsh.profile.bundles 中添加該 Bundle。Bundle 的順序必須位於 @deepseek-ai/dsh-base 和 @deepseek-ai/dsh-web-app 之後,否則可能無法正常工作。

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "smart-session-title"
      ]
    }
  }
}

重啓 DSH 後,日誌應顯示 smart-session-title provider registered ... automatic=all-prompts。

設置說明

插件提供詳細的設置項,配置後點擊頁面底部的 “Save settings” 即可生效。

字段 默認值 說明
enabled true 總開關,控制是否啓用智能標題。
mode Follow the session¹ 模式:current-session(當前會話)、configured(使用配置的 Provider/Model)或 disabled(禁用)。
provider Unset 使用的 Provider ID。
model Unset 使用的 Model ID。
timeoutMs 15000 單次嘗試超時時間,UI 範圍 1000–120000 ms。
maxAttempts 2 最大嘗試次數,範圍 1–3。
maxTitleCharacters Unset (80 bytes) 整個標題(含日期)的字數上限,Unicode 碼點,範圍 8–120。
titleDatePosition Unset 日期位置:prefix(前綴)或 suffix(後綴)。
titleDateFormat ymd 日期格式:ymd (2026-09-13) 或 md (09-13)。
titleStyle Unset 標題風格:action-object 或 short-name。
titleLanguage Unset 語言強制:zh 或 en。
titleExclusions Unset 排除詞列表(最多 50 個,每個最多 64 字符),生成的標題中不能包含這些詞。
lockedSessionIds Unset 鎖定會話 ID 列表(最多 500 個),鎖定後自動生成、重新生成和批量列表均會跳過。

¹ 對於舊版本部署,bundle 行中的顯式 Provider/Model Pin 仍有效,直到用戶選擇模式。

典型用法

  • 強制重新生成:如果自動標題不理想,使用 /retitle 命令或界面頂部的按鈕進行顯式重新生成。
  • 批量優化歷史記錄:在設置界面切換到 “Batch optimize” 頁籤,選擇要優化的會話,查看並應用新的標題。
  • 排除敏感詞:在 titleExclusions 中添加客戶名稱或內部代碼,防止它們出現在標題中。
  • 保護重要會話:在會話標題旁點擊鎖定按鈕,防止批量優化或自動生成覆蓋該標題。

注意事項

  • 數據持久化差異:Core 0.1 將設置持久化在 $DSH_HOME/settings.yaml 的 smart-session-title 命名空間下;Core 0.2 使用插件自身的 volatile Config。DSH 保留 Fallback 標題、持久化、投影、取消和陳舊結果保護,此插件僅替換標題生成邏輯。
  • 卸載與恢復:卸載插件時,需同時移除 Bundle 配置並重啓,然後刪除 npm 包。僅禁用插件行而保留 Patch 不會恢復內置的 session-title-llm 提供商。
  • 版本狀態:當前安裝的是 0.5.0-rc.18 發佈候選版本,建議在測試環境驗證後再升級。
羽毛球分组比赛记分
小程序二维码

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

小夜