Magentic-UI 是微软研究院开发的一款开源智能代理工具,旨在帮助用户通过协作完成复杂的网页任务。它基于 AutoGen 框架,结合多代理系统,提供透明、可控的用户体验。Magentic-UI 不仅能自动化浏览网页、执行代码,还能管理文件,适合需要深度网页导航或数据处理的任务。用户可以编辑任务计划,实时监控代理操作,确保结果符合预期。该工具在 GitHub 上以 MIT 许可证发布,欢迎开发者贡献代码或提出建议。
功能列表
- 网页自动化操作:支持填写表单、定制订单、过滤航班等复杂网页任务。
- 多代理协作:包括 WebSurfer(网页操作)、Coder(代码执行)、FileSurfer(文件管理)等代理。
- 任务计划编辑:用户可创建、修改、删除任务步骤,参与任务规划。
- 实时操作反馈:显示代理的每一步操作,如点击按钮或输入查询。
- 代码执行支持:通过 Docker 容器安全执行 Python 和 Shell 命令。
- 文件处理能力:查找、转换文件为 Markdown 格式,回答文件相关问题。
- 多模型支持:兼容 Claude 3.7 Sonnet、Qwen 2.5 VL 等多种语言模型。
- 计划学习功能:保存历史任务计划,优化未来任务执行效率。
使用帮助
安装流程
Magentic-UI 需通过 GitHub 仓库安装,推荐使用 Docker 确保完整功能。以下是详细安装步骤:
- 环境准备:
- 确保系统安装了 Git 和 Docker。如果使用 Windows,需启用 WSL2(Windows Subsystem for Linux)。
- 验证 Docker 是否正常运行,命令:
docker --version
- 若未安装 Docker,可参考官方文档(https://docs.docker.com/get-docker/)。
- 克隆仓库:
- 打开终端,运行以下命令克隆 Magentic-UI 仓库:
git clone https://github.com/microsoft/magentic-ui.git cd magentic-ui
- 打开终端,运行以下命令克隆 Magentic-UI 仓库:
- 安装依赖:
- 仓库包含
requirements.txt
文件,运行以下命令安装 Python 依赖:pip install -r requirements.txt
- 如果不使用 Docker,可运行有限版本(不支持代码执行),命令:
python main.py --no-docker
- 仓库包含
- 配置 Docker:
- 拉取所需 Docker 镜像,运行:
docker-compose up -d
- 确保 WebSurfer、Coder 和 FileSurfer 的容器正常启动。
- 拉取所需 Docker 镜像,运行:
- 启动 Magentic-UI:
- 在项目根目录运行:
python main.py
- 启动后,浏览器会打开 Magentic-UI 界面,默认地址为
http://localhost:8000
。
- 在项目根目录运行:
使用方式
Magentic-UI 的界面分为两部分:左侧是会话导航面板,右侧是浏览器操作窗口。以下是主要功能操作流程:
- 创建新任务:
- 在左侧面板点击“新建会话”,输入任务描述,如“订购披萨”或“查找航班”。
- 可上传图片辅助任务说明,例如网页截图。
- Magentic-UI 会生成初步的任务计划,列出步骤,如“打开网站”“填写表单”。
- 编辑任务计划:
- 查看生成的步骤,点击“编辑”按钮修改、添加或删除步骤。
- 确认计划后,点击“执行”按钮,代理开始操作。
- 用户可随时暂停,接管操作或调整计划。
- 网页自动化操作:
- WebSurfer 代理负责网页交互,支持点击按钮、输入文本、上传文件等。
- 实时显示操作详情,如“点击‘提交’按钮”或“输入搜索词‘航班’”。
- 用户可通过界面查看网页内容,确认代理操作是否正确。
- 代码执行:
- Coder 代理可编写并执行 Python 或 Shell 代码,适合数据处理任务。
- 示例:用户输入“从网页提取数据并生成图表”,Coder 会生成代码并在 Docker 容器中运行。
- 运行结果会显示在界面,供用户查看或下载。
- 文件管理:
- FileSurfer 代理可查找项目目录中的文件,转换为 Markdown 格式,或回答文件内容问题。
- 示例:输入“查找 README.md 内容”,FileSurfer 会返回文件摘要。
- 多模型支持:
- 默认支持 OpenAI 模型,可在
config.json
中配置其他模型(如 Claude 3.7 Sonnet)。 - 配置示例:
{ "model": "claude-3.7-sonnet", "api_key": "your-api-key" }
- 默认支持 OpenAI 模型,可在
- 实时监控与干预:
- 左侧面板显示任务状态:🔴(需用户输入)、✅(任务完成)、↺(任务进行中)。
- 用户可随时暂停代理,修改步骤或手动操作浏览器。
注意事项
- Docker 模式提供完整功能,非 Docker 模式不支持代码执行,适合简单网页任务。
- 遇到问题可查看
TROUBLESHOOTING.md
文件,或在 GitHub 提交 Issue。 - 确保网络稳定,避免代理操作中断。
应用场景
- 网页表单自动化
用户需要填写复杂在线表单,如签证申请或电商订单。Magentic-UI 可自动导航网页,输入信息,节省时间。 - 深度网页导航
查找未被搜索引擎索引的内容,如个人网站链接或特定航班信息。WebSurfer 代理能深入网站层级,精准定位。 - 数据处理与可视化
用户需从网页提取数据并生成图表。Coder 代理可抓取数据,编写代码生成可视化结果。 - 文件内容分析
开发者需快速查找项目文件内容。FileSurfer 代理能定位文件并回答相关问题。
QA
- Magentic-UI 需要 Docker 吗?
Docker 是推荐方式,支持代码执行和文件管理。非 Docker 模式可运行,但功能受限。 - 如何添加新代理?
在agents
目录添加新 MCP-代理代码,更新config.json
,重新启动服务。 - 支持哪些语言模型?
支持 OpenAI、Claude 3.7 Sonnet、Qwen 2.5 VL 等,需在配置文件中设置 API 密钥。 - 如何处理任务失败?
检查TROUBLESHOOTING.md
,确认网络和配置无误。若仍失败,可在 GitHub 提交 Issue。