LangManus:支持多智能体协作的开源AI自动化框架,部署指南
LangManus 是一个开源的 AI 自动化框架,托管在 GitHub 上。它由一群前同事在业余时间开发,属于学术驱动项目,目标是结合语言模型和专用工具,完成网页搜索、数据爬取和代码执行等任务。框架采用多代理系统,包括协调者、规划者、监督者等角色,协作处理复杂工作。LangManus 强调开源精神,依赖社区的优秀成果,同时欢迎代码贡献和问题反馈。它使用 uv
管理依赖,支持快速搭建环境。目前项目仍在开发中,适合对 AI 自动化和多代理技术感兴趣的开发者参与。
功能列表
多代理协作: 系统包含协调者、规划者、监督者等,分工处理任务路由、策略制定和执行管理。
任务自动化: 支持语言模型结合工具完成网页搜索、数据爬取、Python 代码生成等操作。
语言模型集成: 支持开源模型(如 Qwen)和 OpenAI 兼容接口,提供多层 LLM 系统处理不同任务。
搜索与检索: 通过 Tavily API 实现网页搜索,使用 Jina 进行神经搜索和内容提取。
开发支持: 内置 Python REPL 和代码执行环境,使用
uv
管理依赖。工作流管理: 提供任务分配、监控和流程可视化功能。
文件管理: 支持文件操作,生成格式化的 Markdown 文件。
使用帮助
LangManus 是一个本地运行的框架,面向有编程经验的用户。以下是详细的安装和使用说明。
安装流程
要在本地使用 LangManus,需要安装 Python、uv
和其他工具。步骤如下:
准备环境
确保安装 Python 3.12。检查版本:
复制复制复制复制复制复制复制复制复制复制复制复制复制复制复制复制
复制
python --version
如果版本不符,从 https://www.python.org/downloads/ 下载安装。
安装 Git,用于克隆仓库。从 https://git-scm.com/ 下载。
安装 uv
uv
是依赖管理工具。运行:
复制复制复制复制复制复制复制复制复制复制复制复制复制复制复制
复制
pip install uv
检查安装:
复制复制复制复制复制复制复制复制复制复制复制复制复制复制
复制
uv --version
克隆仓库
在终端运行:
复制复制复制复制复制复制复制复制复制复制复制复制复制
复制
git clone https://github.com/langmanus/langmanus.git
cd langmanus
设置虚拟环境
使用uv
创建环境:
复制复制复制复制复制复制复制复制复制复制复制复制
复制
uv python install 3.12
uv venv --python 3.12
source .venv/bin/activate # Windows: .venv\Scripts\activate
安装依赖
运行:
复制复制复制复制复制复制复制复制复制复制复制
复制
uv sync
这会安装所有依赖包。
安装浏览器支持
LangManus 使用 Playwright 控制浏览器。运行:
复制复制复制复制复制复制复制复制复制复制
复制
uv run playwright install
配置环境变量
复制示例文件:
复制复制复制复制复制复制复制复制复制
复制
cp .env.example .env
编辑
.env
,添加 API 密钥。例如:复制复制复制复制复制复制复制复制
复制
TAVILY_API_KEY=your_tavily_api_key
REASONING_MODEL=your_model
REASONING_API_KEY=your_api_keyTavily API 密钥从 https://app.tavily.com/ 获取。
运行项目
输入:
复制复制复制复制复制复制复制
复制
uv run main.py
使用方法
安装后,LangManus 可通过命令行或 API 运行。
基本运行
在虚拟环境中运行:
复制复制复制复制复制复制
复制
uv run main.py
当前版本无默认任务示例,需查看
README.md
或等待官方更新。
API 服务
启动 API 服务器:
复制复制复制复制复制
复制
make serve
或:
复制复制复制复制
复制
uv run server.py
调用接口,例如:
复制复制复制
复制
curl -X POST "http://localhost:8000/api/chat/stream" -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"搜索最新AI论文"}],"debug":false}'
返回实时流式响应。
任务示例
假设要计算 HuggingFace 上 DeepSeek R1 的影响指数:
编辑任务输入(如通过 API 或代码)。
系统会分配给研究员代理搜索数据,编码器代理生成计算代码。
结果由报告者代理输出。
LangManus 默认 Web 用户界面:https://github.com/langmanus/langmanus-web
特色功能操作
多代理协作
输入任务后,协调者分析并路由给规划者,规划者制定策略,监督者分配给研究员或编码器执行。例如,输入“搜索最新 AI 论文”,研究员会调用 Tavily API 获取结果。语言模型集成
支持多种模型。配置.env
中不同任务的模型:复杂任务用
REASONING_MODEL
。简单任务用
BASIC_MODEL
。图像任务用
VL_MODEL
。搜索与检索
使用 Tavily API(默认返回 5 条结果)或 Jina 提取网页内容。配置 API 密钥后,浏览器代理可导航并抓取页面。代码执行
编码器代理支持 Python 和 Bash 脚本。例如,生成代码:
复制复制
复制
print("Hello, LangManus!")
直接在内置 REPL 中运行。
开发与贡献
自定义代理
修改src/prompts/
下的 Markdown 文件,调整代理行为。例如,增强研究员的搜索能力。提交贡献
Fork 仓库,修改代码。
提交 pull request 到 GitHub。
目前文档有限,建议关注官方更新。
应用场景
学术研究
研究人员用 LangManus 收集论文数据,生成分析报告,参与 GAIA 排行榜。自动化开发
开发者输入需求,框架生成 Python 代码,加速项目开发。技术学习
学生通过修改代理提示词,学习多代理系统设计。
QA
LangManus 是商用项目吗?
不是。它是一个学术驱动的开源项目,专注研究和社区协作。需要哪些 API 密钥?
至少需要 Tavily API 密钥用于搜索,其他模型密钥根据需求配置。如何处理运行错误?
检查.env
配置是否正确,或在 GitHub 提交 issue。