在 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 發佈候選版本,建議在測試環境驗證後再升級。