十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JiuwenSwarm 架构深度剖析:从 Gateway 到 AgentServer 的多智能体系统通信设计全景

JiuwenSwarm 架构深度剖析:从 Gateway 到 AgentServer 的多智能体系统通信设计全景 JiuwenSwarm 架构深度剖析从 Gateway 到 AgentServer 的多智能体系统通信设计全景【免费下载链接】jiuwenswarmJiuwenSwarm is an intelligent AI Agent built on openJiuwen. It extends the powerful capabilities of large language models directly to your fingertips through various communication apps you use daily.项目地址: https://gitcode.com/gh_mirrors/ji/jiuwenswarmJiuwenSwarm 是构建在 openJiuwen 之上的开源 AI Agent 框架其核心架构采用Gateway网关与 AgentServer智能体服务双进程拆分设计通过 WebSocket 与统一 E2A 协议完成多智能体系统通信。本文带你完整看懂这套多智能体系统的通信设计全景。总览一套框架两个进程JiuwenSwarm 启动入口 jiuwenswarm/app.py 只做一件事用一条命令拉起两个独立进程——进程入口职责AgentServerjiuwenswarm/server/app_agentserver.py智能体运行时JiuWenSwarm AgentWebSocketServerGatewayjiuwenswarm/gateway/app_gateway.py消息处理、频道管理、Web 通道、心跳、定时任务调度两个进程共享同一个用户工作区~/.jiuwenswarm但职责完全解耦AgentServer 专注思考运行 agent、会话、技能、工具对外只暴露一个 WebSocket 服务端jiuwenswarm/server/agent_ws_server.pyGateway 专注连接对接网页、TUI、飞书/钉钉/Telegram 等各类 IM 频道把消息统一转发给 AgentServer。 这种拆分带来了三个好处独立扩缩容AgentServer 可远程部署、故障隔离渠道掉线不影响智能体运行、多实例隔离通过--dotenv参数支持单机多实例。Gateway多频道消息的流量网关Gateway 内部由四个核心组件协作源码位于 jiuwenswarm/gateway/1. ChannelManager频道生命周期管家jiuwenswarm/gateway/channel_manager/channel_manager.py 负责所有 Channel 的注册、注销与查找并提供统一的出队派发循环把 AgentServer 的响应投递回对应的频道。每个频道由ChannelKey频道类型 用户 ID唯一标识新增一个 IM 平台只需实现一个 Channel 并注册进来。2. MessageHandler消息路由与预处理jiuwenswarm/gateway/message_handler/message_handler.py 是所有入站消息的中枢解析斜杠命令、提及意图、会话归属并把消息封装后交给 AgentServer 客户端。3. AgentServerClientWebSocket 长连接客户端jiuwenswarm/gateway/routing/agent_client.py 是 Gateway 侧的 WebSocket 客户端负责断线重连与连接诊断ws_diagnostics流式响应分片接收与非流式请求超时控制消息体大小限制保护AGENT_WS_MAX_MESSAGE_BYTES4. 定时任务与心跳从被动到主动Cron 调度器jiuwenswarm/gateway/cron/解析 cron 表达式、持久化任务到点后通过 WebSocket 远程触发 AgentServer执行——即使你不在聊天窗口里智能体也会按时干活心跳代理jiuwenswarm/gateway/heartbeat/proxy.py维持周期性唤醒让智能体具备主动问候/提醒能力。AgentServer智能体运行时与 WebSocket 服务端AgentServer 进程只做两件事启动JiuWenSwarm 智能体运行时以及AgentWebSocketServer。后者jiuwenswarm/server/agent_ws_server.py是整套通信设计的关键接收 Gateway 封装好的请求路由到对应会话session map与 agent通过流式 chunk把模型输出、工具调用、计划变更等实时推回 Gateway内置热池agent_warm_pool、会话历史管理、断点恢复等运行时能力通过 hook 机制AgentServerHookEvents向扩展开放生命周期事件。所有运行时能力模块集中在 jiuwenswarm/server/runtime/包括 agent_adapter、session、skill、mcp、debug_trace 等子目录职责边界清晰。E2A 协议Gateway 与 AgentServer 的通用语言两个进程之间传输的不是裸 JSON而是统一的E2AEverything to Agent信封协议模型定义在 jiuwenswarm/common/e2a/models.pyE2AEnvelope请求信封携带身份来源用户/系统/智能体、鉴权信息、文件引用等E2AProvenance记录消息出处——ACP、A2A 等外部协议进入后都会归一化为 E2A并记录转换器与转换时间流式编码jiuwenswarm/common/e2a/wire_codec.py 定义了响应分片与完整响应的序列化格式。这个设计的精髓在于**协议归一**无论你是从网页、IM 频道还是通过 ACP/A2A 协议接入的第三方智能体发起请求AgentServer 看到的都是同一种 E2A 信封。完整协议约定可参考官方文档 docs/zh/E2A-protocol.md。Swarm 多智能体团队声明式装配的通信骨干JiuwenSwarm 的多智能体能力集中在 jiuwenswarm/agents/swarm/其设计文档 jiuwenswarm/agents/swarm/DESIGN.md 描述了完整的通信装配链路请求 (mode, role, channel, session, config) │ ▼ enrich_team_spec_for_swarm() ← assembly.py注册 provider、构建上下文 │ ▼ TeamAgentSpec ├─ agents[leader] : DeepAgentSpec └─ agents[teammate] : DeepAgentSpec ├─ rails / tools / subagents │ ▼ provider 工厂 build_xxx(params, ctx) ← providers/*.py │ ▼ 运行对象 (Rail / Tool / SubAgentConfig)三个关键设计原则纯声明式装配团队成员leader / teammate的能力全部由RailSpec/BuiltinToolSpec/SubAgentSpec声明配置即能力成员共享配置源创建团队无需先构建单智能体leader 与队友直接共享同一份配置源跨进程靠 seed 重建成员 spawn、分布式部署、热恢复时通过build_context_seed序列化种子 本地工厂重建运行上下文——这正是分布式 Team能跨机器通信的基础。AutoHarness 双层架构能力如何被注入智能体的骨架能力由 AutoHarness 提供双层架构底层是可复用的 rail/tool/sub-agent 工厂上层是面向场景的装配层整体结构见下图详见 docs/zh/AutoHarness.md开放生态ACP / A2A 接入第三方智能体JiuwenSwarm 的 Gateway 不只是消息网关还是智能体互联的中枢ACP 通道jiuwenswarm/gateway/channel_manager/protocol/acp/通过 stdio 协议桥接外部编码智能体如 IDE 内智能体你日常使用的智能体也能被纳入 Swarm 协同A2A 代理jiuwenswarm/gateway/routing/third_agent.py 与 jiuwenswarm/extensions/agent_client/把外部 Agent 注册为团队成员统一经 E2A 信封与内部团队通信。小结这套架构解决了什么问题设计决策解决的问题Gateway / AgentServer 双进程拆分渠道故障隔离、独立部署与扩展WebSocket E2A 信封流式实时通信 协议归一化ChannelManager ChannelKey任意 IM 频道即插即用Swarm 声明式装配 seed 重建多智能体跨进程、跨机器协同Cron / Heartbeat 远程触发智能体从被动应答到主动服务如果你想动手实践可以从 docs/zh/Quickstart.md 开始安装体验再对照 jiuwenswarm/app.py 的双进程启动逻辑你会发现多智能体系统通信并没有想象中那么神秘——拆分进程、统一协议、声明式装配就是 JiuwenSwarm 给出的简洁答案。【免费下载链接】jiuwenswarmJiuwenSwarm is an intelligent AI Agent built on openJiuwen. It extends the powerful capabilities of large language models directly to your fingertips through various communication apps you use daily.项目地址: https://gitcode.com/gh_mirrors/ji/jiuwenswarm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表