
AgentScope 浏览器智能体完整指南15 行代码让大模型自己操作浏览器完成网页任务【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope写网页自动化脚本很头疼选择器一改就坏页面一变化脚本就崩。AgentScope 用不到 15 行代码就能搭一个浏览器智能体Browser Agent通过 MCP 协议把浏览器工具接给大模型让模型自己看页面、做操作自动完成网页任务。一句话理解AgentScope 的浏览器智能体 一个带 ReAct 循环的Agent 一个通过 MCP 接入的浏览器工具包如 Playwright MCP。模型每想一步就调一个浏览器工具导航、点击、读快照把结果喂回上下文继续想直到任务完成。它适合需要真浏览器的自动化填表单、抓动态页面、跑端到端流程而不是只会发 HTTP 请求的场景。你可以把它理解成一个会自己看网页的实习生你下指令它动手做完汇报。工作原理一个想一步、做一步的循环 分步看注册工具MCPClient启动一个 Playwright MCP 子进程npx playwright/mcpToolkit把它的浏览器工具全部挂到智能体上。推理模型结合你的指令和上一次工具返回的页面信息决定下一步是再调个工具还是直接回答。行动通过 MCP 协议调用浏览器工具结果页面快照、报错等追加进上下文。循环与收口如此往复若 token 超过上下文阈值默认 80%旧历史被自动压成结构化摘要任务继续而不爆上下文。这套循环由统一智能体类 Agent 内置浏览器智能体不需要任何自定义 Agent 子类差别只在 toolkit 里挂了什么工具。快速上手15 行代码跑通先安装依赖pip install agentscope浏览器工具本身由 Playwright MCP 提供首次运行会自动通过 npx 拉取。import os from agentscope.agent import Agent from agentscope.model import DashScopeChatModel from agentscope.tool import Toolkit from agentscope.mcp import MCPClient, StdioMCPConfig browser MCPClient(namebrowser, is_statefulTrue, mcp_configStdioMCPConfig(commandnpx, args[playwright/mcplatest])) await browser.connect() # 有状态连接先 connect用完后 close agent Agent( nameWebWorker, system_prompt基于实时页面内容完成浏览器任务用中文简洁汇报结果。, modelDashScopeChatModel(api_keyos.environ[DASHSCOPE_API_KEY], model_nameqwen-max), toolkitToolkit(mcps[browser]), # 浏览器工具全部来自 MCP ) msg await agent.reply(打开 Hacker News 首页总结排名前 5 的热帖)三个关键点is_statefulTrue表示连接保活、必须显式connect()/close()StdioMCPConfig里换command/args就能接任意 stdio 型 MCP 服务模型可换成 model 模块 里任意支持的厂商。完整服务化示例见 examples/agent_service/main.py。三个值得了解的机制1. MCP 标准接入浏览器工具即插即用解决什么每个浏览器自动化工具的调用方式都不同直接绑死某一家就没法换。怎么做MCPClient 统一封装了 stdio 和 HTTP 两种 MCP 传输list_tools()拉到的工具自动注册进 Toolkitenable_tools/disable_tools可按名字白名单/黑名单过滤工具。效果Playwright 换成任何 MCP 浏览器服务只改一个 config不需要的工具提前裁掉既省 token 又减少模型误调用。2. 上下文自动压缩长任务不爆内存解决什么浏览器任务每轮都往上下文塞页面快照几十轮后 token 就爆了。怎么做ContextConfig 里trigger_ratio0.8表示上下文用到 80% 就触发压缩模型按固定模板任务概述/当前状态/关键发现/下一步/需保留的上下文生成摘要替换旧历史reserve_ratio控制压缩后保留多少近期内容。效果记忆像工作笔记——满了就压成摘要长任务跨几十轮仍能保持目标不跑偏。3. 中间件钩子不改源码定制行为解决什么想在推理前抓页面快照行动后过滤冗余输出压缩前做后处理等时机插逻辑不想 fork 智能体代码。怎么做继承 MiddlewareBase按需实现on_reply/on_reasoning/on_acting/on_compress_context/on_system_prompt等钩子传入Agent(middlewares[...])即可框架自动检测你实现了哪些。效果快照捕获、日志、权限拦截、输出清洗全部以插件形式叠加智能体核心保持干净。落地场景场景 1每日晨报抓取—— 每天定时打开几个站点汇总要点。只需改指令这一行await agent.reply(依次打开 Hacker News、GitHub Trending各提取前 5 条生成晨报 Markdown)场景 2商品状态监控—— 盯住某个商品页的价格与库存变化。收窄工具面 结构化输出browser MCPClient(namebrowser, is_statefulTrue, enable_tools[browser_navigate, browser_snapshot], # 只留导航和快照 mcp_configStdioMCPConfig(commandnpx, args[playwright/mcplatest]))配合 prompt提取页面中的价格、库存、发货地输出 JSON找不到字段就填 null。场景 3表单自动化测试—— 回归测试注册/登录流程。用 HTTP 型 MCP 连远程浏览器服务并让模型自证结果mcp_configHttpMCPConfig(urlhttp://browser-mcp-server:8080/mcp) # 换成 HTTP 传输prompt 写成按步骤填写表单并提交跳过验证码字段汇报每一步的成败与最终页面提示。踩坑与调优建议症状处理动作首次运行很慢npx 现拉 playwright-mcpargs里钉死版本号或预装缓存避免每次下载某个浏览器操作卡死拖住整轮推理给MCPClient设execution_timeout秒超时即返回错误而非悬挂模型在几十个浏览器工具里挑花眼、乱点用enable_tools白名单只留任务必需的工具长任务后期失忆、偏离目标调低ContextConfig(trigger_ratio...)如 0.6让压缩提前发生摘要里保留 URL 和已完成步骤推理-行动无限循环不收敛通过react_config限制最大轮数超轮后强制收口汇报进程异常导致 MCP 连接残留有状态连接务必connect()/close()配对好消息是单个 MCP 不可达不会连累整轮回复Toolkit 会跳过并记录日志另外浏览器动作属于高风险操作AgentScope 的权限系统PermissionMode可以要求关键工具调用先经确认生产环境建议别全程 bypass。写在最后AgentScope 的浏览器智能体 ReAct 智能体 MCP 浏览器工具 自动压缩上下文三件套拼起来就是能独立干完网页活的数字员工。下一步clone 仓库后跑一遍 examples/agent_service/main.py把default_mcps里的 Playwright 配置换成你自己的任务试试。【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考