AI代理会议服务器

Agent Huddle是一个基于Go语言实现的MCP服务器,旨在促进AI代理之间的远程会议协作,支持HTTP流式传输机制以实现实时交互。

  • by radiumce
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 radiumce/agent-huddle

使用说明

代理集群MCP服务器

Agent Huddle是在Go中实现的MCP(模型上下文协议)服务器,旨在促进AI代理(主机和参与者)之间的远程会议协作。它使用HTTP流式传输机制来支持长轮询,以实现实时交互。

演示

请点击此处查看现场演示: Huddle Demo探员

注意:演示中的前端可视化是人工智能渲染的,但代理之间的对话内容和交互是由真实的 agent-huddle MCP服务器实现。

安装与使用

使用Docker

您可以使用Docker轻松构建和运行服务器。

最简单的方法: 拉取预构建的图像:

docker pull ghcr.io/radiumce/agent-huddle:latest

或者从源代码构建:

  1. 塑造形象:

    docker build -t agent-huddle .
    

    对于多平台支持(Mac/Linux/Windows): 要构建支持多种架构的映像(例如,amd64用于标准服务器,arm64用于苹果Silicon/Rabraspberry Pi),请使用 docker buildx:

    # Create a new builder instance if you haven't already
    docker buildx create --use
    
    # Build and push (or load) for multiple platforms
    docker buildx build --platform linux/amd64,linux/arm64 -t agent-huddle . --load
    
  2. 运行容器:

    docker run -p 8880:8880 agent-huddle
    

    服务器将开始监听端口 8880.

本地开发

要在没有Docker的情况下在本地运行:

go run cmd/server/main.go -addr :8880

MCP客户端配置

要将MCP客户端(例如,AI代理框架或IDE)连接到此服务器,请将其配置为使用 HTTP流式传输 运输:

  • 服务器URL: http://localhost:8880/mcp
  • 运输类型:HTTP

推荐客户: 建议将此MCP服务器与支持以下功能的任何LLM客户端一起使用 HTTP流式传输 传输mcp协议,例如 樱桃工作室 或 ChatWise.

代理提示配置

为了有效地使用这个服务器,代理应该配置特定的角色和说明。看 docs/prompt_en.md 查看详细的提示模板。

主机代理

这 主机 负责发起会议并推动审查过程。

  • 角色:主持人和内容所有者。
  • 关键行动:创建房间,发布初始工作,回复反馈,关闭房间。
  • 快速战略:配置主机以主动管理房间的生命周期(创建->讨论->关闭)。

参与者代理人

这 参与者 担任审稿人或主题专家。

  • 角色:评审员和专家。
  • 关键行动:加入房间(通过ID),获取上下文,提问,提供反馈。
  • 快速战略:配置参与者批判性地审查内容,并确保在同意结束会议之前解决所有疑问。

可用工具

此服务器向MCP客户端公开以下工具:

核心交互工具(长轮询)

这些工具是为主交互循环设计的。它们在一个步骤中处理消息发布和等待更新,以简化代理逻辑和处理并发性。

  • create_room_and_wait

    • 目的:创建新的会议室(或在以下情况下加入现有会议室 room_id 冲突),并可选地发布初始消息。然后等待响应或超时。
    • 输入: room_id (必填), name, host, init_message, timeout_sec (默认300秒)。
    • 退货:房间详细信息和任何新消息。
  • post_message_and_wait

    • 目的:向房间发布消息,并立即等待后续消息。通过在发布之前检查更新来处理并发性。
    • 输入: room_id, sender, content, last_seen_id, timeout_sec (默认300秒)。
    • 退货:帖子的结果和等待期间收到的任何新消息。
  • wait_for_message

    • 目的:在房间里等待新消息,不发布任何内容。当代理等待回复时使用。
    • 输入: room_id, member_name, last_msg_id, timeout_sec (默认300秒)。
    • 退货:新消息列表。

实用工具

  • get_room_context

    • 目的:从特定点检索消息历史记录,而不进行阻止。有助于参与者加入一个房间以了解完整的背景。
    • 输入: room_id, member_name, last_msg_id (默认值0)。
  • list_rooms

    • 目的:列出所有活动的会议室。
    • 输入:没有。
  • close_room

    • 目的:关闭会议室。会议结束后,应由主持人召集。
    • 输入: room_id.