DeepSeek Harness 的設計理念是「一切皆插件」。在開發智能體或編排工作流時,經常需要在同一宿主進程內的不同會話之間傳遞消息。如果沒有便捷的本地通信機制,開發者往往需要繞過 DSH 的標準接口。DSH Bridge 作爲一個本地插件,直接解決了同一宿主進程內會話之間的發現與消息發送問題。
插件定位¶
DSH Bridge 是一個用於 DeepSeek Harness 的同進程會話間消息傳遞插件。它由用戶 baixianger 維護,採用 MIT 許可證。該插件不依賴 DSH Weave 或 DSH Chat 等跨宿主傳輸工具,專注於提供輕量級的本地消息路由能力。
核心功能¶
插件通過三個工具函數實現核心能力:
session_list:列出會話並顯示其當前狀態。session_send:通過精確的會話 ID 或人類可讀的標題發送消息。session_messages:讀取指定會話的近期消息日誌。
安裝與使用¶
安裝¶
在安裝前,請確保已正確配置 DeepSeek Harness 的插件環境。執行以下命令安裝插件:
dsh plugin --profile web add dsh-bridge@latest
dsh web
使用流程¶
安裝完成後,插件會直接向 DSH 注入上述工具函數,沒有獨立的設置頁面。典型的工作流如下:
- 詢問代理(Agent)調用
session_list,獲取會話列表及其狀態。 - 使用
session_send向目標會話發送消息。- 在
session_send中,設置mode: auto會先嚐試匹配精確的 ID,再匹配標題。 - 設置
mode: id或mode: name時,只使用對應的查找方式。 - 標題匹配不區分大小寫。如果名稱存在歧義,工具會返回候選 ID 而不自動選擇接收者。
- 在
配置與注意事項¶
消息投遞邏輯¶
插件對會話狀態的處理遵循以下規則:
- 狀態喚醒:空閒會話會被喚醒;運行中的會話接收隊列中的工作。
- 冷會話處理:持久化會話恢復時會應用記錄的預設和模型。併發請求訪問冷會話時,它們共享一次恢復操作。取消操作在冷會話恢復期間生效,即使共享負載完成,也不會產生後續消息。
- 歸檔限制:歸檔會話拒絕投遞,不會被喚醒。
- 確認含義:收到投遞確認僅代表會話接受了後續指令,不代表模型已處理或完成任務。
運行範圍與持久化¶
- 進程隔離:Bridge 僅在單一宿主進程內運行。它不提供跨進程通信能力。
- 內存存儲:插件維護的近期消息日誌和重複 ID 表僅駐留在內存中。當插件卸載或重載時,這些數據會重置,不具備持久化郵箱功能。
- 依賴關係:DSH Weave 提供跨宿主傳輸,DSH Chat 提供房間和 Web 視圖,但它們均不是本地消息傳遞的必要條件。
默認配置¶
插件提供以下配置項(無需單獨頁面配置,通常由宿主或插件加載邏輯管理):
| 配置項 | 默認值 | 說明 |
|---|---|---|
recentMessages |
1000 | 每個宿主保留的近期消息數 |
dedupeCapacity |
10000 | 記憶的外部消息 ID 容量 |
maxMessagesPerRead |
100 | 單次讀取操作返回的最大消息數 |
總結¶
DSH Bridge 爲本地智能體開發提供了基礎的會話通信層。它不需要跨宿主傳輸即可工作,適合需要精細控制本地會話交互的場景。
- 插件目錄:DSH Bridge - SkillHub
- 源代碼:DSH Bridge - GitHub