前言¶
在 DSH Web 裏,會話列表通常按工作區與時間堆在一起。對話一多,靠標題回憶「上次改配置、查接口、排錯」分別在哪一條,成本會明顯上升。原生列表沒有「按項目/主題分組」這一層,也不會在每輪結束後幫你判斷這條會話該歸到哪一類、標題是否還夠用。
下面介紹 CleverYyt 維護的客戶端插件 dsh-session-categories(倉庫 CleverYyt/dsh-session-categories)。它在側邊欄增加「分類」入口,把歷史會話劃入分類、在分類下直接開新會話,並在每輪對話正常結束後可選地調用模型給出分類與標題建議。Host 側在 index.js(無額外依賴),Client 側在 client.js(無構建步驟)。
這是什麼¶
一句話:DSH Web 插件,把聊天會話分組到分類裏,支持在分類下新建會話,並在每輪結束後向模型請求分類歸屬與更合適的標題。
- 維護者:CleverYyt
- 分類:客戶端(Web)
- 許可:MIT(README 徽章)
- 版本與兼容:當前 Release 爲 v0.2.0;
package.json要求 Node >= 20,DSH>=0.2.0-0 <0.3.0-0 - 社區目錄:SkillHub 插件頁(與 DeepSeek / 幻方無官方從屬;DSH 生態裏插件由社區索引與用戶自行安裝)
分類、歸屬與設置落在本地 $DSH_HOME/storages/dsh-session-categories/state.json,不寫會話日誌;刪掉該文件等於重置分類。
核心功能¶
1. 劃入分類與在分類下開新會話¶
- 劃入分類:在分類面板裏點會話行尾按鈕,或原生側邊欄會話行尾的「移動到分類」,從分類 chip 裏選一項即可。一個會話只屬於一個分類;README 說明未做拖拽(原生列表組件難以可靠接管落點)。
- 在分類下新增會話:分類標題右側的
+,用面板頂部當前選中的工作區創建空白會話,創建後自動打開並歸入該分類。
2. 分類面板與側邊欄篩選¶
- 側邊欄圖標列增加 分類 圖標,點開爲居中彈窗(Esc 或點遮罩關閉)。彈窗含搜索(按標題 / 會話 id / 工作區名 / 分類名)、分類跳轉條、按時間排序的分類卡片(分類內會話默認展示 10 條,可展開全部)。
- 歸檔:歸檔後的分類不在主列表;獨立「已歸檔」視圖可恢復。歸檔分類不參與新建會話與自動分類。
- 側邊欄按分類篩選:工作區分區上方有常駐漏斗按鈕,可篩「全部 / 各分類 / 未分類」;篩選仍用原生會話列表,僅隱藏不匹配行,並保留原生字號、時間、工作區分組等表現。
3. AI 自動分類與標題建議¶
- 自動分類:每輪對話結束(
turn/end且正常完成)時,若會話尚未分類且未被用戶「忽略」過,Host 可後臺判斷一次;設置裏可整體關閉「AI 自動分類」。無結論時不打擾;已有待處理建議的會話不重複判斷。一次判斷無結論時,至少隔 3 輪再問,連續空結果 5 次則停止,直至分類變更或手動再判。 - 標題:自動與手動兩條線。自動按「標題檢查頻率」(設置裏 0~20 輪)檢查標題是否同時寫清「對象」與「具體操作」;不合格時在輸入框工具行出現
標題建議 …chip。手動路徑:原生會話菜單 →「重新生成標題」。用戶確認改名後來源爲user,不再被自動覆蓋。 - 提示展示:輸入框工具行有
歸入 ● 分類名 ✕等 chip;面板右上角另有「待處理建議 N」(默認收起),避免會話未打開時找不到建議。點「忽略」則該會話永久退出自動分類(手動移入/移出分類會重置該標記)。
4. 花費與調用記錄¶
設置與頁腳可查看花費統計(當日 / 本週 / 本月)。通過頁腳金額或設置 → 花費統計 → 查看調用記錄,可打開調用記錄彈窗(最多保留 300 條,可清空;清空不影響總賬)。
安裝與啓用¶
安裝前請自行查看倉庫源碼與 MIT 許可證。插件在 DSH 進程權限下運行,會調用模型做分類/標題判斷,產生 API 花費。
Release 包(推薦,版本固定):
dsh plugin --profile <profile> add https://github.com/CleverYyt/dsh-session-categories/releases/download/v0.2.0/dsh-session-categories-0.2.0.tgz
跟隨 main 分支:
dsh plugin --profile <profile> add github:CleverYyt/dsh-session-categories
本地開發掛載:
dsh plugin --profile <profile> add link:$PWD
裝完後重載插件或刷新頁面,側邊欄應出現「分類」圖標。
從 Discover 索引安裝(需先在 Web 端啓用「自定義插件市場」):
- 側欄 插件 →「實驗性插件」旁 更多 → 啓用 自定義插件市場。
- 在 發現 裏添加索引源:
https://raw.githubusercontent.com/CleverYyt/dsh-session-categories/main/market/index.json
- 在索引裏安裝「會話分類」(安裝參數由索引中的 git commit 固定)。
README 提醒:npm 上的裸包名
dsh-session-categories並非本倉庫(已被他人佔用);本插件未發 npm 裸名,若將來發佈會使用 scope(如@cleveryyt/dsh-session-categories)。
部分配置項在 cordis.patch.yml 的 config 下,改完需重載插件;界面設置寫入同一 state.json。常用 UI 設置包括:AI 自動分類、會話行分類色條、篩選清單排序、花費統計檔位、對話輪次(1~20 或全部)、標題檢查頻率(0 關閉)、最低置信度等(詳見 README 設置表)。
典型用法¶
- 裝插件並重載,確認側邊欄有「分類」圖標。
- 新建分類:打開分類彈窗 → 右上角「新建分類」,按需選工作區。
- 整理舊會話:在面板或原生列表行尾把會話移入分類;或用漏斗在側邊欄只看某一類。
- 在新主題下開聊:進入目標分類 → 標題右側
+,在新會話裏對話;若開啓自動分類,未分類會話會在輪次結束後收到 chip 或「待處理建議」。 - 處理 AI 建議:在輸入框 chip 或「待處理建議」裏採納分類/標題,或點忽略;不想花錢時可調大「標題檢查頻率」、關閉自動分類,或提高「最低置信度」。
- 歸檔不再用的分類:彈窗右上角歸檔入口進入歸檔視圖;恢復後回到主列表。
適用場景與注意¶
適合:長期用 DSH Web、會話數量多、希望按主題/項目瀏覽側邊欄,並願意用模型輔助歸類與改標題的開發者。
注意:
- 自動分類與標題檢查會調用模型,有費用;可在設置中關閉或降頻。
- 插件依賴 DSH 0.2.x 與若干
@deepseek-ai/dsh-client-*peer 包,升級 DSH 大版本前先看package.json的engines與peerDependencies。 - 數據僅在
state.json;升級 DSH 或換模型一般不會動該文件,但不應把未審計的插件裝在生產敏感環境而不讀 Host 代碼。 - 實現細節、存儲結構與邊界見倉庫 ARCHITECTURE.md。
結尾¶
dsh-session-categories 在不動 DSH 核心會話存儲的前提下,補了一層分類視圖、側邊欄篩選,以及可配置的 AI 歸類與標題建議;歸屬與設置本地化,適合把 Web 側邊欄當「工作臺索引」來用。