🤖 浏览器自动化代理
一个强大的浏览器自动化工具,由MCP(模型控制程序)构建,将网络抓取功能与LLM驱动的智能相结合。该代理可以搜索谷歌,导航到网页,并智能地从各种网站(包括GitHub、Stack Overflow和文档网站)抓取内容。
🚀 特性
- 🔍 谷歌搜索集成:查找和检索任何查询的顶级搜索结果
- 🕸️ 智能网页抓取:针对不同网站类型量身定制的抓取策略:
- 📂 GitHub 仓库 - 💬 Stack Overflow问答 - 📚 文档页面 - 🌐 通用网站
- 🧠 人工智能驱动的处理:使用Mistral AI来理解和处理抓取的内容
- 🥷 隐身模式:实施浏览器指纹保护以避免检测
- 💾 内容保存:自动保存抓取页面的屏幕截图和文本内容
🏗️ 建筑
该项目使用由MCP支持的客户端-服务器架构:
- 🖥️ 服务器:处理浏览器自动化和网络抓取任务
- 👤 客户端:使用Mistral AI和LangGraph提供AI界面
- 📡 沟通:使用stdio进行客户端-服务器通信
⚙️ 需求
- 🐍 Python 3.8+
- 🎭 剧作家
- 🧩 MCP(模型控制程序)
- 🔑 Mistral AI API密钥
📥 安装
- 克隆存储库:
git clone https://github.com/yourusername/browser-automation-agent.git
cd browser-automation-agent- 安装依赖项:
pip install -r requirements.txt- 安装Playwright浏览器:
playwright install- 创建一个
.env文件在项目根目录中,并添加您的Mistral AI API密钥:
MISTRAL_API_KEY=your_api_key_here📋 用法
运行服务器
python main.py运行客户端
python client.py示例交互
服务器和客户端都运行后:
- 出现提示时输入您的查询
- 代理人将:
- 🔍 在谷歌上搜索相关结果 - 🧭 导航到顶部结果 - 📊 根据网站类型删除内容 - 📸 将屏幕截图和内容保存到文件 - 📤 返回已处理的信息
🛠️ 工具功能
get_top_google_url
🔍 搜索Google并返回给定查询的顶部结果URL。
browse_and_scrape
🌐 导航到URL并根据网站类型抓取内容。
scrape_github
📂 专注于从GitHub存储库中提取README内容和代码块。
scrape_stackoverflow
💬 从Stack Overflow页面中提取问题、答案、注释和代码块。
scrape_documentation
📚 针对提取文档内容和代码示例进行了优化。
scrape_generic
🌐 从通用网站中提取段落文本和代码块。
📁 文件结构
browser-automation-agent/
├── main.py # MCP server implementation
├── client.py # Mistral AI client implementation
├── requirements.txt # Project dependencies
├── .env # Environment variables (API keys)
└── README.md # Project documentation📤 输出文件
代理生成两种类型的带有时间戳的输出文件:
- 📸
final_page_YYYYMMDD_HHMMSS.png:最终页面状态的屏幕截图 - 📄
scraped_content_YYYYMMDD_HHMMSS.txt:从页面中提取的文本内容
⚙️ 定制
您可以在代码中修改以下参数:
- 🖥️ 浏览器窗口大小:调整
width和height在……里面browse_and_scrape - 👻 无头模式:设置
headless=True用于不可见的浏览器操作 - 🔢 谷歌搜索结果数量:变化
num_results在……里面get_top_google_url
❓ 故障排除
- 🔌 连接问题:确保服务器和客户端在单独的终端中运行
- 🎭 剧作家错误:确保浏览器已安装
playwright install - 🔑 API密钥错误:验证您的Mistral API密钥在
.env文件 - 🛣️ 路径错误:更新路径至
main.py在……里面client.py如有需要
📜 许可证
🤝 贡献
欢迎投稿!请随时提交拉取请求。
______________________________________________________________________
内置于🧩 MCP,🎭 剧作家,以及🧠 米斯特拉尔AI
