AgentCrew 项目使用指南

AgentCrew 是一个先进的多智能体AI助手框架,旨在构建超越传统聊天机器人的复杂AI交互系统。它通过协调多个专业AI智能体协同工作,并支持丰富的工具集和多种大型语言模型(LLM)提供商。此外,AgentCrew 还可以作为A2A(Agent-to-Agent)服务器,向其他兼容系统(如MCP客户端)暴露其AI智能体的能力。

主要功能点

  • 多智能体架构: 配置和管理具备不同专业能力的AI智能体。
  • 丰富工具集成: 内置支持网页搜索、剪贴板操作、记忆存储、代码分析、代码生成、图像生成等工具。
  • 多LLM提供商支持: 兼容Claude, GPT, Groq, Gemini, DeepInfra等主流LLM模型,并支持自定义OpenAI兼容接口。
  • A2A服务器: 将配置好的AgentCrew智能体作为服务通过A2A协议(基于JSON-RPC)暴露,供其他系统调用。
  • 交互式界面: 提供功能丰富的终端命令行界面和图形用户界面(GUI)。
  • 会话持久化: 支持保存和加载完整的对话历史。

安装步骤

AgentCrew 需要 Python 3.12+ 环境。推荐使用 'uv' 包管理器进行安装。

  1. 安装 uv (如果尚未安装):

    pip install uv
  2. 克隆仓库:

    git clone https://github.com/saigontechnology/AgentCrew.git
    cd AgentCrew
  3. 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate  # Linux/macOS
    # .venv\Scripts\activate    # Windows (Command Prompt)
    # .venv\Scripts\Activate.ps1 # Windows (PowerShell)
  4. 安装 AgentCrew 及其依赖:

    uv pip install .

    如果需要可选依赖(例如 Mem0 记忆服务):

    uv pip install .[mem0ai]

服务器配置

AgentCrew 的A2A服务器功能依赖于其自身的智能体和LLM配置。主要配置文件位于用户主目录下的 '~/.AgentCrew/' 目录。

  1. API Keys 和全局设置 ('~/.AgentCrew/config.json'): 存储LLM提供商和服务的API密钥。可以通过GUI的 "Settings" -> "Global Settings" 界面进行管理,或直接编辑文件。API密钥也可以通过环境变量设置(优先级低于 'config.json')。 例如:

    {
      "api_keys": {
        "OPENAI_API_KEY": "your_openai_key",
        "ANTHROPIC_API_KEY": "your_anthropic_key",
        "GROQ_API_KEY": "your_groq_key",
        "TAVILY_API_KEY": "your_tavily_key"
        // ... 其他API密钥
      },
      "custom_llm_providers": [
        // ... 自定义LLM提供商配置
      ]
    }
  2. 智能体配置 ('~/.AgentCrew/agents.toml'): 定义了本地和远程AI智能体的名称、描述、系统提示、以及每个智能体可使用的工具列表。可以通过GUI的 "Settings" -> "Agents Configuration" 界面进行管理,或直接编辑TOML文件。 例如:

    [[agents]]
    name = "default"
    description = "默认助手智能体"
    system_prompt = """你是一个乐于助人的AI助手。请始终提供准确、有帮助和符合道德的回复。
    当前日期:{current_date}
    """
    tools = ["memory", "clipboard", "web_search"]
    
    [[agents]]
    name = "Coding"
    description = "专注于代码实现、调试和编程协助"
    tools = ["clipboard", "memory", "code_analysis", "aider"]
    system_prompt = """..."""
  3. MCP 服务器配置('~/.AgentCrew/mcp_server.json'): 注意: 此文件用于配置 AgentCrew 作为客户端 去连接 其他 MCP 服务器。如果仅打算将 AgentCrew 作为A2A服务器使用,此文件可能不需要配置,除非你的智能体需要调用外部的MCP服务。可以通过GUI的 "Settings" -> "MCP Servers Configuration" 进行管理。 例如 (配置 AgentCrew 连接到一个名为 'my_mcp_server' 的外部 MCP 服务器):

    {
      "my_mcp_server": {
        "name": "我的外部MCP服务器",
        "command": "/path/to/external/mcp/server/executable",
        "args": ["--some-arg", "value"],
        "env": {
          "EXTERNAL_ENV_VAR": "some_value"
        },
        "enabledForAgents": ["default", "Coding"] // 指定哪些 AgentCrew 智能体可以使用此外部服务
      }
    }

基本使用方法(A2A 服务器)

要将 AgentCrew 作为 A2A 服务器运行,使用 'a2a_server' 命令:

agentcrew a2a_server [OPTIONS]

常用的选项:

  • '--host TEXT': 服务器绑定的主机地址 (默认: '0.0.0.0')。
  • '--port INTEGER': 服务器绑定的端口 (默认: '41241')。
  • '--base-url TEXT': 服务器的公共基础 URL。如果未设置,默认为 'http://<host>:<port>'。
  • '--provider [claude|groq|openai|google|deepinfra]': 为服务器上的智能体指定默认的 LLM 提供商。如果未设置,将尝试自动检测环境变量。
  • '--agent-config PATH': 指定智能体配置文件的路径 (默认: '~/.AgentCrew/agents.toml')。
  • '--mcp-config PATH': 指定 MCP 服务器配置文件的路径 (默认: '~/.AgentCrew/mcp_server.json')。

示例:

启动 A2A 服务器监听所有接口,端口 41241,使用 OpenAI 模型作为默认LLM:

agentcrew a2a_server --host 0.0.0.0 --port 41241 --provider openai

启动 A2A 服务器并指定自定义的智能体配置文件:

agentcrew a2a_server --agent-config /path/to/my_custom_agents.toml

服务器启动后,其他兼容 A2A/MCP 协议的客户端或智能体即可通过 'http://<host>:<port>' 访问并与 AgentCrew 中配置的智能体进行交互。

注意: AgentCrew 实现的是 A2A 协议,它基于 JSON-RPC,并服务于类似 MCP 的目的(上下文和工具)。标准的 MCP 客户端可能需要对连接配置进行调整,以适应 A2A 协议的特定端点(例如 '.well-known/agent.json' 用于发现信息,'/' 用于 JSON-RPC 请求)。

此外,AgentCrew 也提供了交互式聊天界面 ('agentcrew chat'),用于直接与智能体进行对话。

信息

分类

AI与计算