MinionWorks – Modular browser agents that work for bananas 🍌

MinionWorks – Modular browser agents that work for bananas 🍌

minionworks

浏览器自动化
访问服务器

README

<!-- Light/Dark Mode Banner Hack --> <p align="center"> <img src="static/minion-works-cover-light.png#gh-light-mode-only" alt="Minion Works" width="100%" /> <img src="static/minion-works-cover-dark.png#gh-dark-mode-only" alt="Minion Works" width="100%" /> </p>

<h1 align="center"> MinionWorks – 模块化浏览器代理,为你卖力工作 🍌</h1>

<p align="center"> <em>模块化。可扩展。为现代 Web 自动化而生的 AI 原生浏览器代理。</em> </p>


🚀 概述

Minion Works 是一个模块化的 AI 代理框架,可以连接到你的浏览器并自主执行复杂的任务。专为开发者、研究人员和充满好奇心的构建者而设计。

✨ 特性

  • 🌐 执行 Google 搜索并抓取内容
  • 🤖 使用 LLM(如 GPT-4)来规划行动
  • 🔗 模块化架构,适用于即插即用的用例
  • 🔎 DOM 交互和内容提取
  • 🔄 通过 Python 或 UI 运行工作流

🛠️ 安装

  1. 安装包

    pip install minion-agent
    
  2. 设置环境变量

    cp .env.example .env
    # 编辑你的 .env 文件,填入 OpenAI 或其他 API 密钥
    

🧪 快速开始

这是一个使用 MinionAgentlangchain-openai 的完整示例:

from langchain_openai import ChatOpenAI
from minion_agent.browser import MinionAgent
import asyncio
from dotenv import load_dotenv

# 从 .env 文件加载环境变量
load_dotenv()

async def main():
    # 示例 1:使用环境变量进行 OpenAI 配置
    agent1 = MinionAgent(
        task="比较 GPT-4 和 DeepSeek-V3 的价格",
        llm=ChatOpenAI(model="gpt-4o"),
        headless=True
    )
    result1 = await agent1.run()
    print("Result 1:", result1)

    # 示例 2:提供自定义 LLM 和配置
    agent2 = MinionAgent(
        task="搜索关于 AI 的最新新闻",
        llm=ChatOpenAI(model="gpt-4o"),
        headless=False  # 显示浏览器窗口
    )
    result2 = await agent2.run()
    print("Result 2:", result2)

if __name__ == "__main__":
    asyncio.run(main())

🧠 示例用例

agent = MinionAgent(
    task="查找 2025 年排名前 3 的 ML 会议,并总结每个会议。",
    llm=ChatOpenAI(model="gpt-4")
)
await agent.run()

🧪 测试

pytest --maxfail=1 --disable-warnings -q

确保你在 tests/ 所在的根文件夹中。


🤝 贡献

我们欢迎 PR、反馈和创意!

  1. Fork → Branch → Commit
  2. 添加测试
  3. 提交 Pull Request
  4. 告诉你的朋友 🚀

📖 引用

@software{minion_works2025,
  author = {Sairaam, Aman, Cheena},
  title = {Minion Works: 让 AI 掌管你的浏览器。},
  year = {2025},
  publisher = {GitHub},
  url = {https://github.com/minionworks/minions}
}

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
@kazuph/mcp-fetch

@kazuph/mcp-fetch

用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。

精选
本地
JavaScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
Tavily MCP Server

Tavily MCP Server

使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。

精选
Python
mcp-pinterest

mcp-pinterest

用于图像搜索和信息检索的 Pinterest 模型上下文协议 (MCP) 服务器

精选
TypeScript
Crawlab MCP Server

Crawlab MCP Server

官方
Python