dsh-s2s — DeepSeek Harness 同宿主會話互聯插件

前言

在 DeepSeek Harness (DSH) 的開發實踐中,我們通常會在同一臺宿主上運行多個獨立的 Agent 會話。當這些會話需要協同工作,例如“產品”會話向“開發”會話派發任務,或者不同角色會話之間進行多輪對話時,直接的網絡通信往往會帶來不必要的複雜性。

dsh-s2s 是一個用於解決這一問題的插件。它不依賴跨主機的網絡層,而是採用同宿主/單進程路徑,通過進程內的 Broker 實現會話之間的直接投遞。

核心定位

這是一個 DeepSeek Harness 插件,用於在同一臺機器上連接 AI Agent 會話。它由 ashuai 維護,專注於解決同一進程內多會話的協作問題,支持會話生命週期管理、靜止會話拉起以及防止迴環的預算機制。

設計思路

本插件的設計思路受 a2a 啓發,但並非其 fork。

  • 拓撲結構:a2a 依賴 Hub 和 WebSocket,構建跨進程/跨機的 Mesh 網絡;s2s 則採用同宿主單進程路徑。
  • 傳輸方式:s2s 使用進程內 Broker 進行直接投遞,具備零端口、零 WebSocket、零重連的特性。
  • 實現機制:借鑑了 a2a 的注入習語(空閒調用 followup,忙碌調用 inject),但移除了所有網絡依賴,僅保留內存通信能力。

核心功能

  1. 進程內投遞:利用 S2sBroker 在內存中直接傳遞消息,跳過序列化和網絡 IO。
  2. Name 主尋址:通過會話標題進行點名。標題讀取自宿主的零 I/O 投影緩存。
  3. 拉起靜止會話:支持喚醒已結束的會話,且拉起的會話保留 live-idle 狀態(不自動歸眠)。
  4. 6 個模型工具:
    • s2s_peers:列出當前活躍的 peers。
    • s2s_sessions:列出會話列表(可設置 all=true 獲取全量)。
    • s2s_message:向指定會話發送消息或喚醒會話。
    • s2s_resume:顯式拉起指定會話。
    • s2s_history:獲取進程作用域的歷史記錄。
    • s2s_schedule:支持會話內的定時注入。
  5. 持久信箱:消息持久化存儲在 ~/.dsh/s2s/mailboxes/<sessionId>/* 目錄下,支持原子寫入和損壞自愈。
  6. 防迴環與限流:通過配置 budget 限制消息跳數(maxHops)和發送速率(ratePerMinute)。

安裝與啓用

安裝新插件必須使用 - insert: 形式,name 指向可解析的 ESM 入口。以下配置啓用了 autoResume(允許自動拉起靜止會話)和基本的預算限制:

- insert:
    - id: dsh-s2s
      name: ./dsh-s2s/lib/index.js
      config:
        lifecycle:
          autoResume: allow       # 允許通過 s2s_resume 點名拉起
        budget:
          maxHops: 6              # 限制消息最大跳數
          ratePerMinute: 10       # 限制每分鐘發送次數

典型用法

在代碼或工具調用中,使用 name 參數進行尋址:

// 顯式喚醒名爲“開發”的會話
s2s_resume(name: "開發", ...)

// 向名爲“產品”的會話發送消息
s2s_message(name: "產品", ...)

// 查看所有 peers
s2s_peers

// 查看所有會話(包含靜止)
s2s_sessions(all=true)

注意事項

  • 改名生效時機:由於標題讀取自宿主緩存,修改會話標題不會在操作瞬間生效,需等待下一個標題檢查點。
  • 同名消歧:若遇到同名會話,系統會提示 ambiguous,需使用 session_id 進行消歧。若查無會話,會顯示 not-found 並列出候選。
  • 配置掛載:若 YAML 中缺失 lifecycle 或 budget 配置塊,相關功能將不掛載(即不啓用)。
  • 持久化路徑:持久信箱路徑爲 ~/.dsh/s2s/mailboxes。

結語

dsh-s2s 提供了一套輕量級的同宿主會話協作方案。對於不需要跨機通信的場景,它比引入 a2a 更爲輕便,且消除了網絡層的複雜性。

  • GitHub: https://github.com/ashuai/dsh-s2s
  • 目錄: https://www.skillhub.cn/plugins/ashuai/dsh-s2s
羽毛球分组比赛记分
小程序二维码

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

小夜