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' 包管理器进行安装。
-
安装 uv (如果尚未安装):
pip install uv -
克隆仓库:
git clone https://github.com/saigontechnology/AgentCrew.git cd AgentCrew -
创建并激活虚拟环境:
uv venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows (Command Prompt) # .venv\Scripts\Activate.ps1 # Windows (PowerShell) -
安装 AgentCrew 及其依赖:
uv pip install .如果需要可选依赖(例如 Mem0 记忆服务):
uv pip install .[mem0ai]
服务器配置
AgentCrew 的A2A服务器功能依赖于其自身的智能体和LLM配置。主要配置文件位于用户主目录下的 '~/.AgentCrew/' 目录。
-
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提供商配置 ] } -
智能体配置 ('~/.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 = """...""" -
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与计算