dsh-auto-title:用一行短標題管理 Harness 會話

前言

在 DeepSeek Harness(DSH)裏開很多會話時,側欄和頁頭往往還留着首句用戶話當標題,長句不好掃一眼,也不方便區分「這是哪次任務」。Harness 自帶 sessionTitle 服務,內置 provider 多在首條 prompt 時起名;若希望每輪對話後標題仍跟得上上下文,又要控制長度、並在你手動改名後不再被覆蓋,就需要一個專門接在這套服務上的插件。下面介紹社區插件 dsh-auto-title(自動會話標題),維護者爲 SarahDeady,在 SkillHub 目錄中歸類爲「模型推理」。

這是什麼

dsh-auto-title 是 DSH 桌面端插件:把會話上下文提煉成一行標題,寬度不超過 12 個「漢字寬」(一個漢字計 1,其他字符計 0.5,按 UTF-8 列寬記賬,不是簡單字符個數)。英文產品名:Auto Session Title for DeepSeek Harness。

它註冊 Harness 的 sessionTitle provider(automatic: 'all-prompts'),每輪用戶發言後重新總結標題;你在側欄手動改過一次標題後,Harness 會鎖定用戶標題,插件不再自動覆蓋。會話「⋯」菜單裏增加 刷新標題,可強制重新提煉;未打開的冷會話也可通過讀會話日誌寫回標題。

核心功能

自動提煉與節流

每輪對話結束後,插件用當前會話上下文調用模型(ctx.llm.stream({ purpose: 'session-title' })),清洗成單行並限制寬度。同一會話 4 秒內不重複調模型(默認 minAutoIntervalMs: 4000)。子會話(子智能體)不調模型,使用確定性短標題。

用戶改名即停

側欄改名走 Harness 標題服務的 rename(),會追加 source: user 的事件並鎖定;此後服務不再爲用戶消息調度自動生成,插件無需額外邏輯。

刷新標題菜單

任意會話右鍵或點「⋯」:

狀態 顯示
空閒 刷新標題
提煉中 正在提煉標題…(禁用)
成功 菜單關閉,側欄與頁頭標題更新
失敗 刷新失敗,點擊重試(懸停可看原因)

客戶端請求 GET /auto-title/refresh?sessionId=…,Host 調用 ctx.sessionTitle.refresh(session),可繞過鎖定與節流。會話不在內存時,從 sessionPersistence 讀日誌、提煉後追加 session/title 並 flush();若側欄列表未變,可 Ctrl+R 刷新頁面。

與內置標題 provider 的關係

Harness 的 sessionTitle 只接受一個 provider。本插件在 cordis.patch.yml 中會停用內置 session-title-llm(first-prompt 生成器),把起名交給本插件。若要恢復內置:從 profile 移除本插件 bundle,並在 profile 的 cordis.patch.yml 裏去掉對 session-title-llm 的 disabled。

安裝與啓用

前提:已安裝 DeepSeek Harness 桌面端,且插件目錄已在本地(例如從 GitHub 倉庫 取得,當前 package 版本 1.0.2,需 Node >= 22)。

方式一:讓 DSH 安裝(推薦)

在 Harness 裏對 Agent 說明本地目錄路徑,使用 plugin_manager install_bundle 安裝該目錄。安裝成功會返回 "application": "applied"。重啓 Harness 使 Host 模塊生效。

示例(路徑按你的環境替換):

用 plugin_manager install_bundle 安裝 `C:\path\to\dsh-auto-title` 這個目錄

方式二:手動掛載 profile

在 profile 目錄(Windows 一般爲 C:\Users\<你>\.dsh\profiles\desktop):

  1. 在 package.json 依賴中加入 "dsh-auto-title": "link:C:/path/to/dsh-auto-title",執行 pnpm install;
  2. 在同一 package.json 的 dsh.profile.bundles 數組末尾加上 "dsh-auto-title";
  3. 重啓 Harness。

裝完後在會話「⋯」菜單確認出現 刷新標題。若無 webServer 服務,插件仍會加載,但菜單可能不可用,日誌會有 warn。

典型用法

  1. 安裝並重啓後,正常對話;標題會在每輪後自動更新(除非你已手動改名)。
  2. 需要立刻換標題時:打開會話「⋯」→ 刷新標題。
  3. 希望標題更短時,在 Host 半修改默認參數(改完重啓),例如將 maxTitleUnits 從 12 改爲 8。

默認調參項(Host 半 DEFAULTS):

鍵 默認 含義
maxTitleUnits 12 標題上限(漢字寬)
maxOutputTokens 512 單次模型輸出上限
maxMessageChars 600 每條用戶消息截斷長度
maxInputChars 4000 送入消息總字符預算
tailMessages 8 除首條外攜帶的最近消息條數
minAutoIntervalMs 4000 同會話兩次自動提煉最小間隔

適用場景與注意

適合:長期在 DSH 桌面端開多會話、希望側欄標題短且隨對話更新、又需要「我改過名就別再改」的開發者或日常用戶。

務必瞭解:

  • 面向 桌面端 Web profile;文檔寫明自動行爲主要針對 live(當前進程裏打開着的)會話,冷會話依賴日誌路徑與刷新菜單。
  • 模型無可用路由(會話尚未發請求或未配置 provider)時,退回確定性標題,不報錯。
  • 插件以當前 DSH 進程權限運行;安裝前應閱讀源碼與 MIT 許可證(© 2026 SarahDeady),自行判斷是否信任。
  • SkillHub 目錄(https://www.skillhub.cn/plugins/SarahDeady/dsh-auto-title)是社區插件索引,與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,本介紹事實以倉庫 README 爲準。

結尾

dsh-auto-title 把會話標題收成一行、跟對話走,並在你手動命名後尊重鎖定;需要時再一鍵刷新。目錄頁:https://www.skillhub.cn/plugins/SarahDeady/dsh-auto-title;源碼與完整說明:https://github.com/SarahDeady/dsh-auto-title。

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

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

小夜