前言¶
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 推薦)¶
- 獲取倉庫目錄(README 提供 clone 或下載 zip 解壓)。
- 在 DSH「插件」頁選擇安裝本地插件(bundle),指向
dsh-cross-session-ref目錄。 - 重載插件或重啓 DSH,再
Ctrl+Shift+R硬刷新。
安裝成功後,側邊欄會出現「跨會話引用」圖標,點擊進入整頁面板。
典型用法¶
經過上面的安裝步驟,可按 README 中的流程操作:
- 點擊會話方塊展開該會話下的問答節點。
- 按住任意卡片拖到另一個會話的方塊或節點之間,鬆手完成引用(虛線框提示插入位置)。
- 切換到目標會話,再發一條正常提問;注入發生在下一步的第一步,模型應能利用被引卡片的問題、回答與附件。
- 若不再需要:右鍵該引用卡片 →「從本會話移除」;節點消失後,後續輪次不再注入(已注入過的歷史上下文不會自動撤回)。
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 驗收清單確認行爲是否符合預期。