前言¶
在 DeepSeek Harness(DSH)裏開很多會話、掛多個工作區時,側欄標題往往是默認名或隨手起的詞,事後很難從列表裏認出「哪一條在改哪個問題」。手動改名可以,但要自己概括內容,重複勞動多。社區插件 dsh-smart-namer(維護者 Blueteemo)走另一條路:只讀會話或工作區已有的標題、項目信息、少量用戶發言等文本,讓模型給出最多 3 個候選短名,選中其一即可改名;另提供 /rename 命令和 Agent 工具 rename_target。插件只使用 DSH 公開接口,不修改宿主安裝目錄,屬於客戶端類插件。
這是什麼¶
dsh-smart-namer 在 DSH 側欄增加「智能命名」入口:模型根據對象自身內容生成候選名,用戶點選或走命令完成重命名。npm 包當前版本爲 1.1.0(MIT),可通過 npm、GitHub、本地路徑或 release 包安裝。目錄頁:skillhub.cn/plugins/Blueteemo/dsh-smart-namer;源碼:github.com/Blueteemo/dsh-smart-namer。
核心功能¶
側欄:會話與工作區¶
- 會話:在側欄會話行「…」菜單中選「智能重命名」。彈窗先顯示「正在想…」,隨後最多 3 個名字;選中即改名並 toast「已改爲 X」。Esc 或點遮罩關閉,不改名。
- 工作區:在側欄面板列表「更多」中選「智能重命名工作區」。彈窗頂部有工作區下拉(默認當前會話所在工作區,其餘按最近活動排序);切換下拉會重新拉候選,後續與會話相同。
/rename 命令¶
在輸入框輸入 /rename,從命令菜單選擇 rename:
- 無參數:調用模型,取第一個候選改名,並回復「已改爲「X」。備選:A、B」;失敗時按原因說明(響應太慢 / 模型服務異常 / 沒想出更好的),不改名。
- 帶偏好,例如
/rename 突出工具鏈:後面文字作爲偏好提示傳給模型,仍生成 3 個候選。
命令執行沿用 20 秒超時,不啓動 Agent 輪次。
命名素材與模型¶
插件不讀工具輸出、文件內容和完整日誌。發給模型的素材如下:
| 對象 | 素材 |
|---|---|
| 會話 | 現有標題、所屬項目、項目代號、按階段均勻採樣的 5 條用戶發言 |
| 工作區 | 解碼後的文件夾名、代號、最近 5 個會話的標題、最近一條用戶發言 |
會話命名默認跟隨該會話最近一次實際運行的模型;工作區沒有獨立模型,用 profile 默認。兩者均可在插件配置頁修改。一次調用超時 20 秒,不向用戶流式輸出。
自定義提示詞¶
設置 → 插件 → dsh-smart-namer → Configure 中有「會話命名提示詞」「工作區命名提示詞」。留空則用內置模板(佔位符即模板本身);保存後立即生效,寫入當前 profile 目錄的 dsh-smart-namer.prompts.json。
佔位符:
| 對象 | 佔位符 |
|---|---|
| 會話 | {project} {codes} {title} {user_samples} {last_assistant_text} |
| 工作區 | {folder} {codes} {workspace_path} {titles} {first_user_message} |
Agent 工具 rename_target¶
直接改名,不調用模型:
{ "kind": "session", "id": "session-...", "title": "新名字" }
kind 爲 session 或 workspace。會話走 sessionController.rename(必要時先恢復會話);工作區走 workspaceController.rename(校驗非空和重名)。
安裝與啓用¶
推薦從 npm 安裝(預構建,免構建授權):
dsh plugin --profile desktop add dsh-smart-namer
也可從 GitHub 最新源碼:
dsh plugin --profile desktop add github:Blueteemo/dsh-smart-namer
本地開發:
dsh plugin --profile desktop add file:/absolute/path/to/dsh-smart-namer
或使用 release 預構建包:
dsh plugin --profile desktop add https://github.com/Blueteemo/dsh-smart-namer/releases/latest/download/dsh-smart-namer.tgz
安裝後若側欄沒有入口,需完全退出 App(Cmd+Q)再打開。客戶端 bundle 有 immutable 緩存和宿主內存 memoize,僅刷新頁面(含硬刷新)不會重新加載客戶端代碼。
典型用法小結¶
- 日常整理側欄:對單個會話用菜單「智能重命名」,對工作區用「智能重命名工作區」並在下拉里切換目標。
- 在對話裏快速改名:輸入
/rename或/rename+ 偏好說明,由命令直接取第一個候選。 - 在 Agent 流程裏確定性改名:調用
rename_target,傳入kind、id、title。
調試命名效果時,可只改 Configure 裏的提示詞,對同一會話反覆試,無需改插件代碼。
適用場景與注意¶
適合長期在 DSH 中維護多會話、多工作區、希望標題能反映內容摘要的開發者。命名質量取決於所選模型與提示詞;超時或上游異常時會明確失敗原因,不會 silent 改掉原名。
DSH 生態理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。插件以當前 dsh 進程權限運行,安裝前建議自行查看 GitHub 倉庫 源碼與 MIT 許可證。
結尾¶
dsh-smart-namer 把「讀已有元數據 → 模型出 3 個短名 → 一點或一條命令改名」接到 DSH 側欄與命令體系裏,並留出提示詞與 rename_target 供定製和自動化。需要安裝說明與截圖時可查閱倉庫 README;插件索引見 SkillHub 目錄頁,源碼與 issue 見 GitHub。