DeepSeek Harness 跨會話呼叫中心:dsh-agents-in-the-loop

前言

DeepSeek Harness (DSH) 採用插件化架構,智能體通常在會話中運行。在多智能體協作場景下,需要一種機制讓不同會話中的智能體進行通信或傳遞指令。現有的做法往往依賴原始會話 ID 進行硬編碼,缺乏管理性和穩定性。

dsh-agents-in-the-loop 插件解決了這個問題。它爲 DSH 智能體提供了一個跨會話的“呼叫中心”功能,通過會話間消息傳遞和一個基於名稱的聯繫人目錄,實現了智能體間的標準化通信。

插件定位

  • 名稱:dsh-agents-in-the-loop
  • 類型:工作流
  • 所有者:markelayan
  • 許可證:MIT
  • 核心價值:跨會話消息投遞與命名聯繫人目錄管理。

核心功能

該插件提供了三個主要功能模塊:

  1. session_message 工具:用於列出當前活躍的會話,並向已註冊的聯繫人名稱發送消息。
  2. contacts 工具:維護一個基於會話 ID 的命名聯繫人目錄。支持運行時添加、更新、重命名和刪除聯繫人,無需重啓 DSH。
  3. HTTP API:提供僅限迴環的 HTTP 接口,允許外部代理(如 Claude Code)向已註冊聯繫人發送消息,同時也支持客戶端面板讀取聯繫人目錄。

安裝與啓用

通過 npm 安裝:

npm i dsh-agents-in-the-loop

安裝後,需要在 DSH 的 cordis.patch.yml 配置文件中添加插件行,並重啓 dsh web。配置示例:

- insert:
    - id: dsh-agents-in-the-loop
      name: dsh-agents-in-the-loop
      config:
        enabled: true
        sessionMessage:
          enabled: true      # 開啓 session_message 工具
        contacts:
          enabled: true      # 開啓 contacts 工具

典型用法

1. 使用工具發送消息

在 DSH 智能體中,可以使用以下指令:

  • 列出活躍會話:
    session_message { action: "list" }
  • 發送消息:
    session_message { action: "send", target: "dev-lead", message: "task done", wake: true, resumeIfDead: false }
*   `target`:必須使用已註冊的聯繫人名稱(自 v1.4.2 起,原始會話 ID 被拒絕)。
*   `wake`:默認爲 true,喚醒空閒會話。
*   `resumeIfDead`:默認爲 false,嘗試復活已死會話。

2. 管理聯繫人目錄

  • 添加聯繫人(僅名稱即可自注冊):
    contacts { action: "add", name: "dev-lead" }
*   注:自注冊不需要提供 sessionId。
  • 更新聯繫人信息:
    contacts { action: "update", name: "dev-lead", label: "Backend Lead", tags: ["senior", "python"] }

3. 外部 HTTP API 調用

外部腳本或 Claude Code 等非 DSH 環境的代理可以通過迴環接口發送消息:

curl -s http://127.0.0.1:9001/api/agents-in-the-loop/message \
  -H 'Content-Type: application/json' \
  -d '{"from":"claude-code","contact":"dev-lead","message":"task done"}'
  • 注意:API 僅支持迴環訪問(127.0.0.1),非迴環請求會返回 403。
  • 注意:外部 API 僅支持“發送”操作,不支持註冊或接收消息。

注意事項

  1. 版本變更歷史:該插件前身是 taskboard-flow。在 v1.0 版本中移除了看板引擎,v1.3 版本移除了 Web UI,當前版本專注於消息傳遞核心功能。
  2. 目標鎖定規則(v1.4.2):session_message send 和 contacts call 只接受已註冊的聯繫人名稱作爲目標。如果嘗試使用原始會話 ID,會返回錯誤並提示使用 list 操作。
  3. 上下文衛生(v1.6.0):爲了防止上下文膨脹,消息長度被限制在 8000 字符以內。如果發送長報告,建議通過文件路徑發送。
  4. 配置與隱私:聯繫人存儲基於文件(默認路徑 ~/.dsh/taskboard-flow-contacts.json),所有操作均爲本地化,無遙測數據收集。

結語

dsh-agents-in-the-loop 爲 DSH 插件生態提供了一個實用的跨會話通信層。它通過引入“聯繫人”概念替代了原始會話 ID,使得多智能體協作更加規範和可控。適合需要構建複雜工作流或多智能體系統的開發者使用。

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

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

小夜