dsh-session-retitle:DeepSeek Harness 會話重命名插件

前言

DSH(DeepSeek Harness)的官方 session-title-first-prompt-llm 僅在會話的第一條消息時自動命名一次。如果後續對話偏離了初始主題,官方邏輯不會更新標題。dsh-session-retitle 插件填補了這個空檔:它在會話頭部添加了一個「重命名」按鈕,允許你手動觸發,讀取當前會話內容,利用模型生成中文短標題並寫回。

核心功能

  • 會話頭部重命名按鈕:在會話頭部右側添加操作入口。
  • 自動生成標題:讀取會話內容,用當前模型生成中文短標題。
  • 零運行時依賴:不 import 任何 @deepseek-ai/* 包,僅發兩條 HTTP 路由。
  • 官方服務集成:改名走官方 session-title 服務,包含併發保護與來源釘住。
  • 靈活的輸入方式:留空輸入框按內容自動起名;填寫名字直接使用(不消耗模型調用)。
  • 主題跟隨:界面顏色使用 DSH 的 --dsw-alias-* CSS 變量,明暗主題自動生效。
  • 路由回退與容錯:支持候選路由回退與同會話併發保護。

安裝與啓用

  1. 確保 pnpm 已安裝在 PATH 上。
  2. 執行安裝命令:
dsh plugin --profile web add github:BPTumbleweed/dsh-session-retitle
  1. 重啓 DSH 服務。重啓後,界面會有 35–45 秒的中斷,請耐心等待。加載完成後,請在瀏覽器中執行 Ctrl+Shift+R 硬刷新,以加載新的客戶端按鈕。

典型用法

  1. 打開任意一個 DSH 會話。
  2. 在會話頭部右側找到「重命名」按鈕並點擊。
  3. 在彈出的輸入框中:
    - 留空:點擊「自動起名」,插件會讀取會話內容調用模型生成標題。
    - 填寫內容:直接使用你輸入的名字,不消耗模型調用。
  4. 幾秒後,會話名會更新爲新的標題,側邊欄列表同步更新。

配置項

插件通過 profile 的 cordis.patch.yml 覆蓋進行配置:

鍵 默認 說明
routePrefix /dsh-session-retitle 路由前綴
maxTitleBytes 80 標題字節預算
maxDigestBytes 8000 送給模型的會話素材上限
maxDigestItems 16 最多取多少條消息(人類消息 + 助手回覆)
timeoutMs 45000 標題模型調用超時
maxOutputTokens 512 標題模型的最大輸出 token
provider / model deepseek-official / deepseek-flash 兜底路由配置

注意事項

  • 會話狀態限制:只有當前在內存裏活着(未歸檔)的會話能改名,歷史歸檔會話無法操作。
  • 無數據殘留:插件不改文件、不寫數據目錄,移除後不會留下垃圾。
  • 手動覆蓋保護:一旦手動改過名字,官方的自動命名不會再覆蓋(source.kind = user 會被釘住)。
  • 驗證接口:可以通過以下命令驗證插件狀態(需替換 <端口>):
curl -s http://127.0.0.1:<端口>/dsh-session-retitle/status | head -40

結語

該插件通過極簡的交互(一個按鈕)解決了 DSH 會話命名滯後的問題,同時保持了與官方服務的兼容性。所有素材僅取人類消息與助手回覆,工具結果被過濾,確保標題生成的準確性。

  • 倉庫:https://github.com/BPTumbleweed/dsh-session-retitle
  • 維護者:BPTumbleweed
  • 許可證:MIT
羽毛球分组比赛记分
小程序二维码

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

小夜