这个AI浏览器代理太强了!让AI帮你自动完成复杂网页操作,微软开源新神器


 大家好,我是每日给大家推荐优秀开源项目的小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交互的用户
  • • 协调者可以将工作委派给用户而不是其他智能体

🔧 快速开始

环境要求

  1. 1. Docker:Magentic-UI正常运行需要Docker。Windows或Mac用户可以使用Docker Desktop
  2. 2. WSL2(Windows用户):Windows运行需要WSL2环境
  3. 3. OpenAI API密钥:通过设置环境变量OPENAI_API_KEY提供
  4. 4. 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

🎯 使用场景

特别适合以下任务:

  • • 📝 需要在网页上执行操作的任务(填写表单、定制订单等)
  • • 🔍 需要深度导航未被搜索引擎索引的网站(筛选航班、从个人网站找链接等)
  • • 📊 需要网页导航和代码执行的任务(从在线数据生成图表等)

 





扫码加入技术交流群,备注「开发语言-城市-昵称

(文:GitHubStore)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往