综合介绍
Cooragent 是清华大学 LeapLab 开发的开源 AI 代理协作框架,托管于 GitHub。它允许用户通过一句话描述创建智能 AI 代理,并支持多个代理协作完成复杂任务。框架提供两种模式:Agent Factory 自动生成定制化代理,Agent Workflow 通过任务规划实现多代理协作。Cooragent 深度兼容 Langchain 工具链,支持 MCP 协议,确保代理间高效通信。开发者可通过 CLI 工具或 API 快速构建、编辑和管理代理。
功能列表
- Agent Factory 模式 :用户输入任务描述,系统自动分析需求,生成定制化 AI 代理,无需复杂 Prompt 设计。
- Agent Workflow 模式 :支持多代理协作,自动分解任务、分配角色,完成复杂目标。
- 深度兼容 Langchain :支持 Langchain 的 Prompt、Chain、Memory、Document Loaders 等组件,简化开发。
- MCP 协议支持 :标准化代理间信息交换,支持多轮交互和高效上下文管理。
- CLI 工具 :提供命令行界面,快速创建、编辑、删除和列出代理。
- API 支持 :通过 API 实现代理创建、任务提交和状态监控的自动化管理。
- 工具调用 :支持网页爬虫、代码执行、文件操作等功能,扩展代理能力。
- 社区共享 :用户可发布代理到社区,供其他开发者使用或优化。
- 可观察性 :提供代理运行状态和性能日志,便于监控和调试。
- 本地部署 :支持本地运行,保护数据隐私。
使用帮助
安装流程
Cooragent 支持 Python 3.12+ 环境,提供 conda 和 venv 两种安装方式。以下是详细步骤:
使用 conda 安装
- 克隆仓库
在终端运行以下命令,下载 Cooragent 代码:git clone https://github.com/LeapLabTHU/cooragent.git cd cooragent
- 创建虚拟环境
创建并激活 Python 3.12 环境:conda create -n cooragent python=3.12 conda activate cooragent
- 安装依赖
安装项目依赖:pip install -e .
- 可选:安装浏览器工具
若需使用网页爬虫等功能,安装 Playwright:playwright install
- 配置环境变量
复制示例配置文件并编辑:cp .env.example .env
使用文本编辑器打开
.env
文件,填入 API 密钥(如 OpenAI 或其他模型)。若需启用 MCP 协议,设置MCP_AGENT=True
。若需启用浏览器工具,设置USE_BROWSER=True
。 - 验证安装
运行 CLI 工具,检查安装是否成功:python cli.py
使用 venv 安装
- 克隆仓库
同 conda 方式,运行:git clone https://github.com/LeapLabTHU/cooragent.git cd cooragent
- 创建虚拟环境
使用 uv 工具安装 Python 3.12 并创建虚拟环境:uv python install 3.12 uv venv --python 3.12 source .venv/bin/activate # Windows: .venv\Scripts\activate
- 安装依赖
同步依赖:uv sync
- 可选:安装浏览器工具
同 conda 方式,运行:playwright install
- 配置环境变量
同 conda 方式,复制并编辑.env
文件。 - 运行项目
使用 uv 运行 CLI 工具:uv run cli.py
Windows 安装注意事项
Windows 用户需额外安装特定依赖,详见官方文档 Windows Platform Support。确保正确配置环境变量并安装所有依赖。
使用方法
Cooragent 提供 Agent Factory 和 Agent Workflow 两种模式,结合 CLI 工具和 API,操作简单高效。
Agent Factory 模式
此模式通过一句话描述快速生成 AI 代理。例如,创建一个股票分析代理:
python cli.py run -t agent_factory -u test -m 'Create a stock analysis expert agent to analyze the Xiaomi stock trend, today is 22 April, 2025, look over the past month, analyze the big news about Xiaomi, then predict the stock price trend for the next trading day, and provide buy or sell recommendations.'
- 操作步骤 :
- 运行命令,指定任务类型为
agent_factory
。 - 参数
-u
设置用户 ID(如test
),-m
输入任务描述。 - 系统通过记忆和扩展分析需求,选择工具,自动优化 Prompt,生成代理。
- 代理运行并输出结果(如股票分析报告)。
- 可通过
edit-agent -n <agent_name> -i
编辑代理,优化行为。
- 运行命令,指定任务类型为
- 特色功能 :无需复杂 Prompt 设计,系统自动理解需求,生成高效代理。
Agent Workflow 模式
此模式支持多代理协作,适合复杂任务。例如,规划 2025 年五一云南旅行:
python cli.py run -t agent_workflow -u test -m 'Use the task planning agent, web crawler agent, code execution agent, browser operation agent, report writing agent, and file operation agent to plan a trip to Yunnan for the May Day holiday in 2025. First, run the web crawler agent to fetch information about Yunnan tourist attractions, use the browser operation agent to browse the attraction information and select the top 10 most worthwhile attractions. Then, plan a 5-day itinerary, use the report writing agent to generate a travel report, and finally use the file operation agent to save the report as a PDF file.'
- 操作步骤 :
- 运行命令,指定任务类型为
agent_workflow
。 - 输入任务描述,列出所需代理。
- 系统 Planner 分析任务,分解步骤,分配给适合的代理。
- 代理通过 MCP 协议协作,完成任务(如生成旅行报告)。
- 输出结果(如 PDF 文件)。
- 运行命令,指定任务类型为
- 特色功能 :Planner 自动优化任务分配,MCP 协议确保高效通信,支持复杂任务。
CLI 工具使用
常用 CLI 命令包括:
- 创建代理 :
python cli.py create -n <agent_name>
- 编辑代理 :
python cli.py edit-agent -n <agent_name> -i
- 列出代理 :
python cli.py list-agents -u <user-id> -m <regex>
- 删除代理 :
python cli.py remove-agent -n <agent_name> -u <user-id>
- 查看状态 :
python cli.py status
API 使用
API 支持自动化管理代理。例如,提交任务:
import requests
url = "http://localhost:8000/task"
payload = {"task": "Analyze stock trend", "user_id": "test"}
response = requests.post(url, json=payload)
print(response.json())
- 功能 :支持代理创建、任务提交、结果获取和状态监控。
- 用途 :集成到脚本或应用,构建自定义界面。
MCP 协议使用
MCP 协议支持代理间高效通信。例如,创建 Excel 操作代理:
server_params = StdioServerParameters(
command="python",
args=[str(get_project_root()) + "/src/mcp/excel_mcp/server.py"]
)
async def excel_agent():
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await load_mcp_tools(session)
agent = create_react_agent(model, tools)
return agent
agent = asyncio.run(excel_agent())
agent_obj = Agent(user_id="share",
agent_name="mcp_excel_agent",
nick_name="mcp_excel_agent",
description="The agent is good at manipulating excel files, which includes creating, reading, writing, and analyzing excel files",
llm_type=LLMType.BASIC,
selected_tools=[],
prompt="")
MCPManager.register_agent("mcp_excel_agent", agent, agent_obj)
- 启用 MCP :在
.env
文件中设置MCP_AGENT=True
。 - 用途 :支持多代理协作和跨平台交互。
注意事项
- 确保
.env
文件配置正确,API 密钥有效。 - 浏览器工具默认禁用,需设置
USE_BROWSER=True
启用。 - Windows 用户需参考 Windows Platform Support 安装额外依赖。
- 定期更新代码:
git pull origin main
。
应用场景
- 任务自动化
Cooragent 可自动化重复性任务。例如,企业员工使用 Agent Workflow 收集市场数据、生成报告,节省时间。 - 项目管理
开发者通过 Agent Factory 创建项目管理代理,自动分配任务、跟踪进度,适合团队协作。 - 数据分析
研究人员使用 Cooragent 分析股票或新闻数据,生成趋势预测或行业报告。 - 教育与学习
学生创建学习助手代理,整理课程资料、解答问题,提升效率。 - 文件处理
使用 MCP 协议创建 Excel 代理,自动处理表格数据,适合财务或数据分析场景。
QA
- Cooragent 支持哪些语言模型?
支持多种语言模型(如 OpenAI、其他开源模型),具体由 Langchain 兼容性决定,需配置 API 密钥。 - 如何共享代理?
运行python cli.py publish -n <agent_name>
,将代理发布到社区,供其他开发者使用。 - 任务失败怎么办?
检查.env
文件的 API 密钥和网络连接,查看日志(logs/
目录)。可在 GitHub 提交 issue 寻求帮助。 - 是否支持本地部署?
是的,Cooragent 支持本地部署,保护数据隐私,适合企业使用。 - 如何贡献代码?
参考 贡献指南,提交修复、文档改进或新功能。