本文于 2025-03-19 13:58 更新,部分内容具有时效性,如有失效,请留言
综合介绍
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/ 下载。
- 确保安装 Python 3.12。检查版本:
- 安装 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_key
- Tavily 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。