dsh-session-plus

前言

在使用 DeepSeek Harness(DSH)開發或調試會話時,切換模型通常需要滾動菜單或依賴工具提示,查看當前生效的模型提供商並不直觀。此外,從消息區複製文本並希望在輸入框中直接以代碼塊形式引用,往往需要手動格式化。dsh-session-plus 是一款針對這兩項操作優化的客戶端插件。

功能說明

1. 模型選擇菜單增強

在模型選擇菜單頂部增加一行實時顯示的說明,解決切換模型時忘記當前提供商的問題。
* 實時展示:菜單打開期間訂閱會話模型目錄,切換模型或提供商後,頭部說明行即時更新。
* 顯示名優先:優先顯示模型目錄中的提供商顯示名;若目錄缺失,則回退顯示原始 provider id;未加載時顯示佔位符「—」。
* 只讀無干擾:純展示內容,不改變菜單的滾動、導航或交互行爲。

2. 選中文本快速插入

在聊天頁或側邊欄選中文本後,通過懸浮按鈕將其轉換爲代碼塊並插入輸入框。
* 觸發位置:僅在聊天頁消息區以及 better-sidebar 右側邊欄生效。輸入框、側欄其他區域或設置頁不觸發。
* 懸浮交互:選區上方居中彈出「添加至對話」按鈕。若頂部空間不足,按鈕會自動翻轉到下方。
* 插入邏輯:點擊後,文本被包裹在 Markdown 代碼塊(三個反引號)中插入輸入框開頭。原有草稿保留在代碼塊後,且插入結果末尾會自動保留一個空行,便於後續直接續寫。
* 隱藏機制:點擊外部、按下 Escape、選區摺疊、滾動消息區或滾動停止且選區重新入屏時,按鈕會自動隱藏。

安裝與啓用

本插件以本地鏈接方式安裝,安裝後需重啓 dsh web 進程。

# 進入插件目錄並安裝依賴
cd <absolute-path-to-plugin> && pnpm install

# 使用本地鏈接安裝插件
dsh plugin --profile web add dsh-session-plus@link:<absolute-path-to-plugin>

# 重啓 DSH Web 客戶端使配置生效
npm exec @deepseek-ai/dsh web

使用場景與注意

  • 適用範圍:插件主要服務於需要頻繁切換模型以對比不同提供商效果的場景,以及需要快速將上下文文本轉化爲代碼塊進行分析的場景。
  • 版本變更:自 v0.4.0 起,本插件移除了「打開工作區」功能。DSH 0.1.5-rc.1 已內置更完善的 Open In… 按鈕(會話頁頭部右上角),本插件不再重複提供該能力。
  • 渲染限制:代碼塊圍欄固定爲三個反引號。若選中的文本本身包含三個反引號,可能會影響 Markdown 的正常渲染。
  • 交互限制:按鈕爲純展示組件,不可交互、不可聚焦,不會阻擋鼠標事件。

結語

dsh-session-plus 通過在模型菜單增加狀態展示和在選區增加快速插入功能,簡化了 DSH 中的常規操作流。對於需要精細控制模型調用和上下文輸入的用戶,該插件提供了直接的輔助。項目源碼與更新日誌可參考 GitHub 倉庫。

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

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

小夜