网站首页 > 技术文章 正文
大家好,我是每日给大家推荐优秀开源项目的小G。
今天要给大家介绍的这个项目,可能会彻底改变你使用浏览器的方式。想象一下,当你需要在复杂的网站上填写表单、筛选航班信息、定制食物订单,或者从各种网站收集数据生成图表时,不用再一步步手动操作,而是直接告诉AI"帮我完成这个任务",然后AI就能像真人一样操作浏览器,完成所有复杂的网页交互。
这就是今天要介绍的Magentic-UI——一个由微软开源的革命性人机协作浏览器代理系统!
项目介绍
Magentic-UI是微软推出的一个研究原型,它提供了一个以人为中心的界面,背后由多智能体系统驱动,能够自动浏览和执行网页操作、生成和执行代码,以及生成和分析文件。
项目核心特色
与其他浏览器自动化工具不同,Magentic-UI最大的亮点在于其透明且可控的交互界面,让用户能够高效地参与到人机协作循环中。
核心功能详解
协作规划(Co-Planning)
通过聊天和计划编辑器协作创建和批准分步计划,让你和AI共同制定任务执行策略。
协作执行(Co-Tasking)
在任务执行过程中,你可以随时通过浏览器或聊天打断并引导执行过程。Magentic-UI也会在需要时主动寻求澄清和帮助。
操作防护(Action Guards)
对于敏感操作,系统会要求用户明确批准后才执行,确保安全性。
计划学习与检索
从以往的运行中学习,改进未来的任务自动化,并将成功的计划保存在计划库中。可以自动或手动检索保存的计划用于未来类似任务。
并行任务执行
支持同时运行多个任务,通过会话状态指示器让你知道什么时候需要输入或任务已完成。
系统架构
Magentic-UI的底层系统由一个专业化的智能体团队组成,改编自AutoGen的Magentic-One系统:
协调者(Orchestrator)
- 由大语言模型驱动的主导智能体
- 负责与用户协作规划
- 决定何时寻求用户反馈
- 将子任务委派给其他智能体
网页浏览者(WebSurfer)
- 配备可控制网页浏览器的LLM智能体
- 能够点击、输入、滚动、访问页面
- 支持标签管理、选择选项、文件上传、多模态查询
编码者(Coder)
- 配备Docker代码执行容器的LLM智能体
- 可以编写和执行Python和shell命令
文件处理者(FileSurfer)
- 配备Docker代码执行容器和文件转换工具
- 可以定位文件、转换文件为markdown格式、回答文件相关问题
用户代理(UserProxy)
- 代表与Magentic-UI交互的用户
- 协调者可以将工作委派给用户而不是其他智能体
快速开始
环境要求
- 1Docker:Magentic-UI正常运行需要Docker。Windows或Mac用户可以使用Docker Desktop
- WSL2(Windows用户):Windows运行需要WSL2环境
- OpenAI API密钥:通过设置环境变量OPENAI_API_KEY提供
- Python 3.10+:至少需要Python 3.10
PyPI安装
推荐使用虚拟环境避免包冲突:
python3 -m venv .venv
source .venv/bin/activate
pip install magentic-ui
# export OPENAI_API_KEY=<YOUR API KEY>
magentic ui --port 8081
如果使用uv进行依赖管理:
uv venv --python=3.12 .venv
. .venv/bin/activate
uv pip install magentic-ui
运行Magentic-UI
确保Docker正在运行,然后执行:
magentic ui --port 8081
注意:首次运行会需要较长时间构建Docker镜像,后续运行会快很多。
启动后,访问 http://localhost:8081 即可使用界面。
支持其他模型
如需使用Azure模型或Ollama:
# Azure支持
pip install 'magentic-ui[azure]'
# Ollama支持
pip install 'magentic-ui[ollama]'
自定义客户端配置
你可以通过UI设置(右上角图标)配置不同的模型,或创建config.yaml文件:
OpenAI配置示例:
# config.yaml
model_config:&client
provider:autogen_ext.models.openai.OpenAIChatCompletionClient
config:
model:gpt-4o
api_key:<YOURAPIKEY>
max_retries:10
orchestrator_client:*client
coder_client:*client
web_surfer_client:*client
file_surfer_client:*client
action_guard_client: *client
Azure OpenAI配置示例:
# config.yaml
model_config:&client
provider:AzureOpenAIChatCompletionClient
config:
model:gpt-4o
azure_endpoint:"<YOUR ENDPOINT>"
azure_deployment:"<YOUR DEPLOYMENT>"
api_version:"2024-10-21"
azure_ad_token_provider:
provider:autogen_ext.auth.azure.AzureTokenProvider
config:
provider_kind:DefaultAzureCredential
scopes:
-https://cognitiveservices.azure.com/.default
max_retries:10
orchestrator_client:*client
coder_client:*client
web_surfer_client:*client
file_surfer_client:*client
action_guard_client: *client
从源码构建
如果你想从源码构建或参与开发:
1. 克隆仓库:
git clone https://github.com/microsoft/magentic-ui.git
cd magentic-ui
2. 安装依赖:
uv venv --python=3.12 .venv
uv sync --all-extras
source .venv/bin/activate
3. 构建前端:
# 安装Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install node
# 构建前端
cd frontend
npm install -g gatsby-cli
npm install --global yarn
yarn install
yarn build
4. 运行:
magentic ui --port 8081
使用场景
特别适合以下任务:
- 需要在网页上执行操作的任务(填写表单、定制订单等)
- 需要深度导航未被搜索引擎索引的网站(筛选航班、从个人网站找链接等)
- 需要网页导航和代码执行的任务(从在线数据生成图表等)
更多免费AI功能 云片AI:https://y-p.cc/?f=tt
本文完,记得随手点个赞、收藏和转发三连,大家感兴趣的可以关注下,后续我再研究点新东西分享给大家~
关注后私信发送:DeepSeek,即可领取完整版资料
猜你喜欢
- 2025-06-13 Linux 上利用Nginx代理uWSGI处理Flask web应用
- 2025-06-13 如何隐藏代理器服务地址?企业级IP匿名化与反追踪技术
- 2025-06-13 宝塔面板使用Nginx反向代理解决跨域问题
- 2025-06-13 海尔集团武汉中心总经理孙梁君——以智慧家电 升级品质生活
- 2025-06-13 给小白的 Nginx 10分钟入门指南(nginx入门教程)
- 2025-06-13 反向代理以及其使用场景(反向代理啥意思)
- 2025-06-13 Vue炼金术:解锁前端开发的进阶之道
- 2025-06-13 93.8k Star 的内网穿透神器 frp:DIY开发者必备的反向代理
- 2025-06-13 Nginx正向代理、反向代理、负载均衡及性能优化
- 2025-06-13 深入理解跨域及常见误区揭秘(深入理解跨域及常见误区揭秘论文)
你 发表评论:
欢迎- 518℃Oracle分析函数之Lag和Lead()使用
- 518℃几个Oracle空值处理函数 oracle处理null值的函数
- 514℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 503℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 500℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 490℃【数据统计分析】详解Oracle分组函数之CUBE
- 470℃Oracle有哪些常见的函数? oracle中常用的函数
- 469℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端排序 (47)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)