在 DeepSeek Harness (DSH) 中,新建會話通常由第一條消息自動生成標題。如果第一條消息不完整或噪音較多,生成的標題可能不符合預期。dsh-session-namer 修改了這一流程,在創建會話前增加一步手動命名,確保標題由用戶直接定義。
這是一個 DSH 客戶端插件,由 CHIP-PHILO-GH 維護。它攔截了新建會話的操作,通過對話框讓用戶輸入名稱,從而替代默認的自動標題邏輯。項目採用 MIT 許可證。
核心功能¶
- 新建會話時先彈命名對話框:點擊側欄的「新會話」時,不再直接創建會話,而是先彈出對話框。
- 填入名字後永久釘住會話名:確認後,會話建立即使用該名字,不會被後續消息的自動標題覆蓋。
- 留空則按第一條消息自動命名:在對話框中留空或直接回車,保持 DSH 原有的自動命名行爲。
- 取消操作不創建會話:按 Esc 或點擊取消按鈕,不會創建任何會話。
- 實時預覽與會話名:在對話框中輸入時,實時顯示會話列表中的顯示效果。
- 按宿主上限截斷提醒:自動檢測並按宿主 80 字節上限進行截斷提示。
- 自動適配主題:自動跟隨 DSH 的亮/暗主題與皮膚。
安裝與啓用¶
這是一個純客戶端插件,未發佈到 npm,需使用本地 link: 方式安裝。
- 克隆或解壓到本地目錄,即
<包所在目錄>。 - 編輯 profile 的
package.json(路徑爲$env:DSH_HOME\profiles\<profile>\package.json):- 在
dsh.profile.bundles中添加一行"dsh-session-namer"。 - 在
dependencies中添加一行"dsh-session-namer": "link:<包所在目錄>"。
- 在
- 建立符號鏈接:
New-Item -ItemType Junction `
-Path "$env:DSH_HOME\profiles\<profile>\node_modules\dsh-session-namer" `
-Target "<包所在目錄>"
- 重啓
dsh web生效。客戶端插件代碼在頁面里加載,刷新頁面無法生效。
典型用法¶
- 點擊側欄的「新會話」按鈕。
- 在彈出的對話框中填入名字並確認,會話將以該名字建立。
- 留空或直接回車,則按第一條消息自動命名。
- 按 Esc 或點擊取消按鈕,不創建會話。
注意事項¶
- 依賴聲明:插件需聲明注入服務
locale,slots,sessions,uiWorkspace。如果缺少聲明,插件可能因服務缺失而靜默失效。 - 權限:插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
- 平臺:純客戶端插件,運行在 web 平臺。
- 截斷限制:會話名按宿主 80 字節上限截斷。
結語¶
通過這一插件,開發者可以更精確地控制會話的初始命名,提升會話管理的效率。更多技術細節與源碼,可參考 GitHub 倉庫。