dsh-call-session:DeepSeek Harness 跨會話通信與共享黑板插件

前言

DeepSeek Harness (DSH) 的會話默認是隔離的,子任務在完成後通常會退出。當需要在長期運行的會話之間傳遞指令、共享上下文或協調任務時,這種隔離性會帶來阻礙。dsh-call-session 插件爲 DSH 增加了進程內跨會話通信和工作區共享黑板的能力,使得多會話協作成爲可能。

插件定位

  • 名稱:dsh-call-session
  • 定位:工作流插件
  • 維護者:popu2do
  • 核心價值:在同一個 DSH 進程中實現跨會話的點對點通信(unicast)與共享狀態存儲(blackboard),支持可視化的會話拓撲觀察。
  • 開源協議:MIT

核心能力

該插件主要提供以下能力:

  1. 會話間單播通信:通過 session_call 工具,向指定的會話發送指令或移交任務。
  2. 共享黑板:通過 board_post 發佈數據,通過 board_list 檢索數據,通過 board_clear 清理數據,避免上下文窗口膨脹。
  3. 可視化畫布:在 DSH Web UI 的 Canvas 標籤頁中,以拓撲圖形式展示會話狀態、黑板條目及調用軌跡。
  4. 會話創建:通過 session_create 工具在當前工作區創建新的對等會話。

安裝與啓用

該插件默認以內置配置運行,無需複雜配置即可啓用。添加到目標 Profile 的命令如下:

dsh plugin --profile web add dsh-call-session

安裝後,可以通過 dsh plugin --profile web list 查看已安裝插件,或使用 remove 命令卸載。

典型用法

插件通過工具調用實現功能,以下是三種典型場景:

場景一:任務移交

用戶在當前會話中發出指令,要求將任務摘要傳遞給名爲 “audit-session” 的會話。
* 動作:Agent 調用 session_call。
* 結果:如果目標會話正在運行,執行會被引導;如果處於空閒狀態,會話會被喚醒。

場景二:結果發佈

用戶要求將審查結論發佈到黑板上,並通知相關會話獲取。
* 動作:Agent 調用 board_post 存儲詳細報告並獲取 postId。
* 結果:其他會話可通過 board_list 按需獲取內容,避免將大量歷史數據塞入當前對話上下文。

場景三:創建會話

用戶需要創建一個新的長期運行會話來處理特定角色。
* 動作:Agent 調用 session_create。
* 結果:在當前工作區生成一個新的對等會話,自動繼承模型規格和預設。

配置

插件開箱即用,但也支持通過配置文件進行微調。

配置文件位置:~/.dsh/profiles/web/cordis.patch.yml

- id: dsh-call-session
  config:
    debounceMs: 500
    maxCapacity: 500

主要配置項包括:
* debounceMs:原子磁盤寫入防抖延遲,默認 300。
* maxCapacity:黑板最大條目數,默認 200。
* telemetryCapacity:畫布數據緩衝區保留的最大調用軌跡數,默認 200。
* locale:交互語言偏好,支持 'auto', 'zh', 'en',默認 'auto'。

適用場景與注意

  • 適用場景:適用於多個獨立頂層會話之間需要直接協調、傳遞指令或同步狀態;或需要在不增加上下文窗口負擔的情況下共享大型輸出結果(如報告、代碼庫狀態)。
  • 對比內置工具:對於隔離的、一次性任務(如代碼搜索、腳本執行),建議優先使用 DSH 內置的 subagent;僅在需要多會話長期協作時使用本插件。
  • 注意:
    • Web UI 中的 Canvas 僅提供觀察功能,不具備控制輸入;所有狀態變更均由 Agent 觸發。
    • 插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。

生態背景

DeepSeek Harness 的設計理念是“一切皆插件”。社區目錄(如 SkillHub)提供了插件索引,但請注意,該目錄與 DeepSeek 或幻方官方無從屬關係。插件開發者需自行維護代碼質量與安全性。

鏈接

  • GitHub 倉庫:https://github.com/popu2do/dsh-call-session
  • 社區目錄:https://www.skillhub.cn/plugins/popu2do/dsh-call-session
羽毛球分组比赛记分
小程序二维码

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

小夜