dsh-cross-session-ref:跨會話拖拽問答卡片並注入 Prompt

前言

DeepSeek Harness(DSH)裏,每個會話默認只能看見自己的上下文。當你已經在 A 會話裏把某段問題問清楚、模型也給過結論,卻要在 B 會話裏接着用這段結論時,常見做法是複製問題與回答,附件還要再傳一遍。內容一多,既容易漏附件,也容易把聊天記錄攪亂。

下面介紹社區插件 dsh-cross-session-ref(維護者 kanmanJO,分類:記憶)。它把「把 A 會話裏某張問答卡片拿到 B 會話繼續用」做成拖拽操作:引用關係保存在本機,下一輪在目標會話正常提問時,被引用的卡片(問題原文、當時的回答、附件)會動態拼進 Prompt,供模型使用,但不會在聊天主體裏僞造一條用戶氣泡。

這是什麼

dsh-cross-session-ref 是 DSH 的持久化 UI 插件:在側邊欄打開「跨會話引用」整頁面板,把任意會話裏的問答卡片拖到另一個會話;拖入的是「引用」,源會話卡片不變。目標會話下一次提問時,Host 在 agent/pre-step 階段把這些引用注入爲「本會話更早的對話記錄」,只注入一次,用完可通過右鍵從本會話移除引用。

插件以 MIT 許可證發佈,當前 npm 包版本 0.2.1,要求 DSH Desktop 0.2.x(README 註明在 0.2.1-rc.3 上測試)。目錄頁:https://www.skillhub.cn/plugins/kanmanJO/dsh-cross-session-ref;源碼與說明:https://github.com/kanmanJO/dsh-cross-session-ref。

核心功能

面板與實時同步

Host 監聽 session/created、session/event、session/title、session/disposed 等事件,經 SSE 推送到面板,新建會話、新問答、改標題、刪除會話都會即時更新,無需輪詢快照。

左側爲等高會話方塊(210 × 80),顯示 DSH 的 AI 總結標題(session/title);運行中的會話在方塊右側有綠點。右側爲問答節點(寬 200px,摘要默認前兩行約 20 字,有附件時顯示 📎 與數量)。12 個色槽由 Host 寫入 colors.json 並持久化:同一會話卡片同色,不同會話異色;跨會話拖入的卡片保留來源會話顏色,便於辨認出處。

拖拽與非破壞性引用

卡片任意位置按住即可拖(6px 防誤觸),拖到目標會話方塊或節點之間鬆手完成引用。懸停可看完整【問】【答】與附件名。源會話內容不受影響;同一張卡可同時引用到多個會話。右鍵引用卡片可選「從本會話移除」。

動態注入 Prompt

被引用的內容不會出現在聊天主體裏冒充用戶消息。下一輪提問的第一步(step === 1),Host 讀取源會話日誌,把引用摺疊成上下文,構造 source.kind === 'cross-session-ref' 的消息,插在本輪用戶消息之前。聊天記錄裏表現爲灰色「上下文行」,不是用戶氣泡。已注入過的卡片不會重複注入;純文本總預算 60000 字符,單條問答截斷到 20000 字符。附件以 file / image 塊原樣攜帶。

本機數據與接口

插件不改寫 DSH 會話日誌格式,本地新增:

路徑 內容
<DSH_HOME>/cross-session-ref/links.json 引用關係
<DSH_HOME>/cross-session-ref/colors.json 會話顏色分配

DSH_HOME 依次取環境變量 DSH_HOME → DSH_PROFILE_DIR 的父目錄 → ~/.dsh。Host 在同源 HTTP 下提供 /cross-session-ref/state、/cross-session-ref/stream(SSE)、/cross-session-ref/link、/cross-session-ref/unlink 等路由,不額外開端口。README 說明插件不發起外部網絡請求,數據僅留在本機該目錄。

安裝與啓用

安裝前請確認已有可用 profile,並瞭解插件與 DSH 進程同權限運行;安裝前可查閱倉庫源碼與 MIT 許可證。

方式一:npm 或 GitHub(web profile)

CLI 會把 dsh plugin 轉發給對應 profile 的 pnpm;不能直接對 Desktop 的 desktop profile 用此方式,桌面用戶見方式二。

# 從 npm(已發佈 0.2.1)
dsh plugin --profile web add dsh-cross-session-ref
# 或直接從 GitHub 倉庫
dsh plugin --profile web add github:kanmanJO/dsh-cross-session-ref

dsh web --profile web

也可在 DSH 插件市場搜索「跨會話引用」安裝。

方式二:本地 bundle(Desktop 推薦)

  1. 獲取倉庫目錄(README 提供 clone 或下載 zip 解壓)。
  2. 在 DSH「插件」頁選擇安裝本地插件(bundle),指向 dsh-cross-session-ref 目錄。
  3. 重載插件或重啓 DSH,再 Ctrl+Shift+R 硬刷新。

安裝成功後,側邊欄會出現「跨會話引用」圖標,點擊進入整頁面板。

典型用法

經過上面的安裝步驟,可按 README 中的流程操作:

  1. 點擊會話方塊展開該會話下的問答節點。
  2. 按住任意卡片拖到另一個會話的方塊或節點之間,鬆手完成引用(虛線框提示插入位置)。
  3. 切換到目標會話,再發一條正常提問;注入發生在下一步的第一步,模型應能利用被引卡片的問題、回答與附件。
  4. 若不再需要:右鍵該引用卡片 →「從本會話移除」;節點消失後,後續輪次不再注入(已注入過的歷史上下文不會自動撤回)。

README 還提供「5 分鐘驗收清單」,涵蓋雙窗口實時增卡、彈性展開、拖拽幽靈與邊緣滾動、來源色保留、灰色上下文行、右鍵移除等項,可按清單自測。

適用場景與注意

適合:多會話並行時,把已在某會話驗證過的 Q&A 與附件「掛」到另一個會話,避免重複粘貼;需要模型在目標會話裏把拖入內容當作已有上下文繼續推理,而不是重新回答拖入裏的舊問題。

邊界與兼容(均來自 README):

  • 依賴 DSH 內部 webServer、sessionQuery、workspaceRegistry 等;大版本升級後可能需要插件適配。
  • 面板只展示當前工作區會話,排除 subagent 子會話、已歸檔會話等。
  • 12 色槽用完後循環複用,會話極多時顏色可能不再唯一。
  • 刪除源會話後,引用約 6 秒內對賬清理;卸載插件後還可手動刪除 <DSH_HOME>/cross-session-ref/。
  • 只對「繼續提問」生效,不會改寫歷史消息。

社區插件目錄(如 SkillHub)與 DeepSeek / 幻方無官方從屬關係;選用前請自行評估源碼與權限範圍。

結尾

dsh-cross-session-ref 用拖拽建立跨會話引用,用 pre-step 一次性、非破壞性地把問答與附件注入 Prompt,並在本機 links.json / colors.json 持久化關係與配色。若你經常在 DSH 裏開多個會話協作,可以按上文安裝命令啓用,並用 README 驗收清單確認行爲是否符合預期。

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

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

小夜