dsh-conversation-branches:在主對話中開啓獨立問答分支

在 DeepSeek Harness(DSH)應用開發中,常遇到需要在當前對話上下文中針對特定片段進行深入分析的需求。直接在主對話中插入會打斷上下文,而新建會話又過於繁瑣。dsh-conversation-branches 插件通過選區提問的方式,在右側詳情列提供 IM 風格的獨立問答分支,解決了這一痛點。

插件簡介

該插件由 Caramel-Geass 維護,採用 MIT 許可證。它允許用戶選中主對話文本,隨即在詳情列開啓獨立的流式問答會話,且數據隨主會話持久化。

安裝與啓用

這是一個 dsh bundle 插件,通過 dsh.bundle 聲明,添加後無需手寫掛載配置,會自動成爲 profile 的 composition 層。

安裝命令如下:

dsh plugin --profile <name> add @deepseek-ai/dsh-conversation-branches

核心功能

  • 選區提問:選中主對話文本即彈出提問框,針對選中片段發起獨立問答,不打斷主對話。
  • IM 氣泡對話:分支以聊天氣泡呈現,支持流式輸出及同一分支內的多輪追問。
  • 隨會話持久化:分支數據作爲 fork/branch log-only 事件寫入會話日誌,重新加載時按順序重放。
  • 定位高亮:點擊分支卡片中的“選中片段”可定位回主對話並短暫高亮。
  • 摺疊 / 刪除:分支卡片可摺疊爲一行,支持刪除。

典型用法

  1. 在主對話正文中選中一段文本。
  2. 彈出提問框,輸入問題後回車(或點擊’提問’)。
  3. 右側詳情列出現分支面板,開始流式回答。
  4. 可繼續’追問’;點擊’選中片段’定位回主對話;摺疊或刪除分支。

技術細節

依賴項

  • 運行依賴:@deepseek-ai/dsh-session、@deepseek-ai/dsh-typert-protocol。
  • Peer 依賴:react、@deepseek-ai/dsh-client-connection。

命名空間解析

插件自掛載 conversationBranches Remote 命名空間。由於掛載者與本插件是兄弟 fiber,直接通過 ctx.remote.conversationBranches 的 fiber-store 鏈解析會導致死鎖。因此,統一通過 ctx.get('remote.conversationBranches') 走共享 reflect store 解析。

總結

dsh-conversation-branches 通過提供一種非侵入式的分支交互方式,增強了 DSH 會話的靈活性。開發者可參考 GitHub 倉庫 獲取更多源碼與開發細節。

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

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

小夜