[{"data":1,"prerenderedAt":3344},["ShallowReactive",2],{"header-counts":3,"footer-counts":6,"review-pageagent-deep-review":8,"review-related-pageagent-deep-review":903},{"tools":4,"reviews":5},79,27,{"tools":4,"reviews":5,"playbooks":7,"news":5},22,{"id":9,"title":10,"body":11,"cover":878,"description":879,"extension":880,"lastVerified":881,"meta":882,"navigation":883,"path":884,"published":885,"relatedTools":886,"seo":890,"seoTitle":891,"stem":892,"tags":893,"updated":885,"verdict":901,"__hash__":902},"review\u002Freview\u002Fpageagent-deep-review.md","PageAgent 深度评测：阿里巴巴开源纯前端 GUI Agent，一行代码让 AI 操控你的网页",{"type":12,"value":13,"toc":849},"minimark",[14,18,26,33,36,39,45,51,57,159,163,170,175,178,200,204,211,214,225,228,234,245,248,251,257,263,273,374,378,381,387,390,424,427,434,438,442,447,450,453,457,462,465,468,472,476,479,482,486,490,493,496,499,503,506,509,519,523,526,532,613,618,622,625,628,631,634,640,646,652,658,665,668,674,680,686,692,695,698,704,707,725,728,745,748,769,772,845],[15,16,17],"h2",{"id":17},"一句话结论",[19,20,21,25],"p",{},[22,23,24],"strong",{},"PageAgent 是 2026 年最值得关注的纯前端 GUI Agent 方案之一。"," 阿里巴巴开源、MIT 协议、一行代码嵌入、纯文本 DOM 分析——这些特性加在一起，让它成为为 Web 应用添加 AI 操作能力的最轻量选择。",[19,27,28,29,32],{},"但它的应用场景有明确的边界：",[22,30,31],{},"适合嵌进你的 Web 应用里用，不适合从外部控制别人的网站。"," 理解这个边界，比评价它的功能更重要。",[15,34,35],{"id":35},"浏览器自动化的第三次范式转移",[19,37,38],{},"在评估 PageAgent 之前，先看一个更大的背景：浏览器自动化正在经历第三次范式转移。",[19,40,41,44],{},[22,42,43],{},"第一代：脚本驱动（2010s）。"," Selenium、Playwright、Puppeteer 为代表。开发者编写确定性的选择器和操作步骤，浏览器机械执行。优势是稳定、可预测、成熟。劣势是页面结构一变就断，无法理解语义。",[19,46,47,50],{},[22,48,49],{},"第二代：视觉驱动（2024-2025）。"," browser-use、Stagehand 为代表。AI Agent 通过截图 + 多模态模型理解页面，再执行操作。优势是能适应页面变化，不需要固定的选择器。劣势是需要多模态模型（贵）、需要无头浏览器（复杂）、推理速度慢（2-5s\u002F步）。",[19,52,53,56],{},[22,54,55],{},"第三代：DOM 内嵌（2025-2026）。"," PageAgent 为代表。AI Agent 直接作为 JavaScript 运行在页面内部，通过文本化 DOM 理解页面结构。优势是零后端、纯文本 LLM（便宜）、速度快（0.5-1s\u002F步）、天然继承登录态。劣势是依赖 DOM 质量、只能操作当前页面。",[58,59,60,85],"table",{},[61,62,63],"thead",{},[64,65,66,70,73,76,79,82],"tr",{},[67,68,69],"th",{},"代际",[67,71,72],{},"代表",[67,74,75],{},"核心原理",[67,77,78],{},"部署成本",[67,80,81],{},"每步成本",[67,83,84],{},"适用场景",[86,87,88,109,129],"tbody",{},[64,89,90,94,97,100,103,106],{},[91,92,93],"td",{},"第一代",[91,95,96],{},"Playwright",[91,98,99],{},"选择器 + 指令",[91,101,102],{},"高（Python + 浏览器）",[91,104,105],{},"接近 0",[91,107,108],{},"测试 \u002F 爬虫",[64,110,111,114,117,120,123,126],{},[91,112,113],{},"第二代",[91,115,116],{},"browser-use",[91,118,119],{},"截图 + 多模态",[91,121,122],{},"很高（GPU + 多模态 API）",[91,124,125],{},"高",[91,127,128],{},"通用 Agent",[64,130,131,134,139,144,149,154],{},[91,132,133],{},"第三代",[91,135,136],{},[22,137,138],{},"PageAgent",[91,140,141],{},[22,142,143],{},"DOM 文本 + LLM",[91,145,146],{},[22,147,148],{},"极低（一行 script）",[91,150,151],{},[22,152,153],{},"低",[91,155,156],{},[22,157,158],{},"Web 应用内嵌 AI",[15,160,162],{"id":161},"pageagent-的核心架构dom-脱水","PageAgent 的核心架构：DOM 脱水",[19,164,165,166,169],{},"PageAgent 最核心的技术创新是 ",[22,167,168],{},"DOM 脱水（DOM Dehydration）","。理解这个技术，就理解了 PageAgent 的整条产品逻辑。",[171,172,174],"h3",{"id":173},"为什么不用截图","为什么不用截图？",[19,176,177],{},"2024-2025 年的浏览器 Agent 方案几乎都走同一条路：截屏 → 多模态 LLM 识别页面元素 → 返回坐标\u002F操作 → 执行。这条路线有两个根本问题：",[179,180,181,188,194],"ol",{},[182,183,184,187],"li",{},[22,185,186],{},"贵","：多模态模型的 Token 价格是纯文本模型的 5-10 倍。GPT-4o 的视觉定价是 $5\u002F1M 输入 Token，而纯文本模型 DeepSeek 只要 $0.5\u002F1M。",[182,189,190,193],{},[22,191,192],{},"慢","：截图传输 + 图像编码 + 多模态推理，每一步都要 2-5 秒。复杂任务累积下来，一次 20 步的操作要等 40-100 秒。",[182,195,196,199],{},[22,197,198],{},"不精确","：像素级别的截图里，按钮文字可能模糊、重叠元素可能识别错误。",[171,201,203],{"id":202},"dom-脱水怎么工作","DOM 脱水怎么工作？",[19,205,206,207,210],{},"PageAgent 的答案是：",[22,208,209],{},"浏览器的 DOM 本身就是最精确的页面描述。"," 不需要截图，把 DOM 树里的交互元素提取出来、编上索引、压缩成文本，直接发给 LLM。",[19,212,213],{},"具体流程：",[215,216,221],"pre",{"className":217,"code":219,"language":220},[218],"language-text","用户指令 → 扫描 DOM 树 → 提取交互元素 → 分配给索引 → 压缩为精简文本 → 发送给 LLM\n  ↓\nLLM 返回工具调用（如 click_element_by_index: 3）→ 直接在页面内执行 → 观察反馈 → 下一步\n","text",[222,223,219],"code",{"__ignoreMap":224},"",[19,226,227],{},"一个典型的脱水 DOM 输出长这样：",[215,229,232],{"className":230,"code":231,"language":220},[218],"[1] button \"登录\"\n[2] input \"用户名\" placeholder=\"请输入\"\n[3] input \"密码\" type=\"password\"\n[4] checkbox \"记住我\" checked=false\n[5] link \"忘记密码\"\n[6] button \"注册新账号\"\n",[222,233,231],{"__ignoreMap":224},[19,235,236,237,240,241,244],{},"这个文本表示通常只有 ",[22,238,239],{},"1-5k Token","，而一张截图经过 Base64 编码后通常要 ",[22,242,243],{},"50-100k Token","。成本差距是一个数量级。",[171,246,247],{"id":247},"技术细节",[19,249,250],{},"PageAgent 的架构是标准的 ReAct（Reasoning + Acting）循环，但多了两个关键设计：",[19,252,253,256],{},[22,254,255],{},"Reflection-Before-Action（行动前反思）","：每一步执行前，Agent 先评估上一步的执行效果，再决定下一步。这听起来简单，但实际效果显著——减少了错误累积，尤其是在长任务链中。",[19,258,259,262],{},[22,260,261],{},"FlatDomTree 压缩","：现代网页可能有几千个 DOM 节点，大部分是样式容器和隐藏元素。PageAgent 把 DOM 树拍平（flatten），只保留交互元素（按钮、输入框、链接、表单等），并给每个元素分配一个索引。LLM 看到的不是原始的 HTML 结构，而是一个精简的、带索引的交互元素列表。",[19,264,265,268,269,272],{},[22,266,267],{},"PageController 抽象","：实际操作由 ",[222,270,271],{},"PageController"," 负责，它封装了 DOM 提取、元素索引、点击、输入、滚动等操作。核心方法：",[215,274,278],{"className":275,"code":276,"language":277,"meta":224,"style":224},"language-typescript shiki shiki-themes github-light github-dark","await this.pageController.updateTree()    \u002F\u002F 更新 DOM 树\nawait this.pageController.clickElement(index)    \u002F\u002F 点击索引元素\nawait this.pageController.inputText(index, text) \u002F\u002F 输入文本\nawait this.pageController.scroll({ down: true, numPages: 1 }) \u002F\u002F 滚动\n","typescript",[222,279,280,308,326,344],{"__ignoreMap":224},[281,282,285,289,293,297,301,304],"span",{"class":283,"line":284},"line",1,[281,286,288],{"class":287},"szBVR","await",[281,290,292],{"class":291},"sj4cs"," this",[281,294,296],{"class":295},"sVt8B",".pageController.",[281,298,300],{"class":299},"sScJk","updateTree",[281,302,303],{"class":295},"()    ",[281,305,307],{"class":306},"sJ8bj","\u002F\u002F 更新 DOM 树\n",[281,309,311,313,315,317,320,323],{"class":283,"line":310},2,[281,312,288],{"class":287},[281,314,292],{"class":291},[281,316,296],{"class":295},[281,318,319],{"class":299},"clickElement",[281,321,322],{"class":295},"(index)    ",[281,324,325],{"class":306},"\u002F\u002F 点击索引元素\n",[281,327,329,331,333,335,338,341],{"class":283,"line":328},3,[281,330,288],{"class":287},[281,332,292],{"class":291},[281,334,296],{"class":295},[281,336,337],{"class":299},"inputText",[281,339,340],{"class":295},"(index, text) ",[281,342,343],{"class":306},"\u002F\u002F 输入文本\n",[281,345,347,349,351,353,356,359,362,365,368,371],{"class":283,"line":346},4,[281,348,288],{"class":287},[281,350,292],{"class":291},[281,352,296],{"class":295},[281,354,355],{"class":299},"scroll",[281,357,358],{"class":295},"({ down: ",[281,360,361],{"class":291},"true",[281,363,364],{"class":295},", numPages: ",[281,366,367],{"class":291},"1",[281,369,370],{"class":295}," }) ",[281,372,373],{"class":306},"\u002F\u002F 滚动\n",[15,375,377],{"id":376},"部署体验从-10-分钟到-10-秒","部署体验：从 10 分钟到 10 秒",[19,379,380],{},"传统浏览器自动化的部署路径：",[215,382,385],{"className":383,"code":384,"language":220},[218],"安装 Python → 安装 Playwright → 下载 Chromium → 编写脚本 → 处理 Cookie\u002F登录态 → 调试 → 上线\n（估算：30 分钟到 2 小时）\n",[222,386,384],{"__ignoreMap":224},[19,388,389],{},"PageAgent 的部署路径：",[215,391,395],{"className":392,"code":393,"language":394,"meta":224,"style":224},"language-html shiki shiki-themes github-light github-dark","\u003Cscript src=\"page-agent.js\">\u003C\u002Fscript>\n","html",[222,396,397],{"__ignoreMap":224},[281,398,399,402,406,409,412,416,419,421],{"class":283,"line":284},[281,400,401],{"class":295},"\u003C",[281,403,405],{"class":404},"s9eBZ","script",[281,407,408],{"class":299}," src",[281,410,411],{"class":295},"=",[281,413,415],{"class":414},"sZZnC","\"page-agent.js\"",[281,417,418],{"class":295},">\u003C\u002F",[281,420,405],{"class":404},[281,422,423],{"class":295},">\n",[19,425,426],{},"就这一行。10 秒。",[19,428,429,430,433],{},"从 30 分钟到 10 秒，本质上是",[22,431,432],{},"把部署复杂度从「运维问题」变成了「前端问题」","。对于前端团队来说，这意味着不需要申请服务器资源、不需要配置 Python 环境、不需要处理无头浏览器的兼容性——只需要在现有的前端工程里加一行代码。",[15,435,437],{"id":436},"四种场景四种判断","四种场景，四种判断",[171,439,441],{"id":440},"场景一saas-ai-copilot","场景一：SaaS AI Copilot",[19,443,444],{},[22,445,446],{},"适合度：⭐⭐⭐⭐⭐",[19,448,449],{},"这是 PageAgent 最完美的场景。假设你在做一个项目管理 SaaS，想给用户加一个 AI 助手，让用户说\"帮我创建一个新项目，叫 Q4 营销计划，邀请张三和李四加入\"——传统的做法是写后端 API、定义工具函数、处理状态管理，至少 2-3 周。用 PageAgent，几行代码就能实现，不需要后端改动。",[19,451,452],{},"因为 PageAgent 运行在页面内部，它看到的 DOM 和用户看到的一模一样，所有 UI 验证规则和权限控制天然生效。",[171,454,456],{"id":455},"场景二传统-erp-现代化改造","场景二：传统 ERP 现代化改造",[19,458,459],{},[22,460,461],{},"适合度：⭐⭐⭐⭐",[19,463,464],{},"很多企业的 ERP 系统是 5-10 年前开发的，界面复杂、交互繁琐。用 PageAgent 可以给这些老旧系统加一个 \"AI 操作层\"，用户说\"提交周五的差旅报销\"——Agent 自动导航到报销模块、填写表单、上传附件、提交审批。",[19,466,467],{},"这比重新开发 ERP 前端或者写 RPA 脚本要便宜得多。但需要注意：ERP 系统的 DOM 结构可能非常复杂，嵌套表格、自定义控件、IFrame 等场景需要额外处理。",[171,469,471],{"id":470},"场景三客服机器人升级","场景三：客服机器人升级",[19,473,474],{},[22,475,461],{},[19,477,478],{},"传统客服机器人只能\"告诉用户怎么操作\"，用户还得自己一步步点。接入 PageAgent 后，机器人可以直接操作页面——\"我现在帮您配置，请稍等\"——然后自动完成所有操作步骤。",[19,480,481],{},"难点在于：客服对话通常发生在聊天窗口，而操作发生在产品页面，这需要跨页面通信。PageAgent 的 Chrome 扩展和 MCP Server 可以解决，但增加了复杂度。",[171,483,485],{"id":484},"场景四无障碍增强","场景四：无障碍增强",[19,487,488],{},[22,489,446],{},[19,491,492],{},"这是 PageAgent 被低估的潜力场景。中国有超过 1700 万视障人士，但绝大多数 Web 应用的无障碍支持停留在\"能过合规检查\"的水平。用 PageAgent，可以给任意 Web 应用添加自然语言操作能力——用户说\"打开上个月的报表\"或\"把字体调大\"，Agent 就能执行。",[19,494,495],{},"这比改造整个应用的无障碍架构要务实得多。而且 PageAgent 天然支持中文，对国内无障碍场景很有价值。",[15,497,498],{"id":498},"与竞品的对比",[171,500,502],{"id":501},"vs-playwright","vs. Playwright",[19,504,505],{},"Playwright 是确定性自动化工具，不需要 LLM，执行速度快（\u003C100ms\u002F步），适合大规模测试和 CI\u002FCD 场景。但它需要固定的选择器，页面结构一变就断。",[19,507,508],{},"PageAgent 是 LLM 驱动，能自适应页面变化，但依赖 LLM 意味着有 Token 成本、推理延迟、以及 LLM 固有的不确定性。",[19,510,511,514,515,518],{},[22,512,513],{},"选型建议","：做测试\u002F爬虫 → Playwright。做 AI Copilot → PageAgent。",[22,516,517],{},"两者可以互补","——用 Playwright 跑回归测试，用 PageAgent 做 AI 交互。",[171,520,522],{"id":521},"vs-browser-use","vs. browser-use",[19,524,525],{},"browser-use（101k+ GitHub stars）是 PageAgent 的主要对标对象。browser-use 走的是\"Python 后端 + 截图 + 多模态\"路线，而 PageAgent 走的是\"纯前端 + DOM 文本 + 纯文本 LLM\"路线。",[19,527,528,531],{},[22,529,530],{},"关键差异","：",[58,533,534,545],{},[61,535,536],{},[64,537,538,541,543],{},[67,539,540],{},"维度",[67,542,116],{},[67,544,138],{},[86,546,547,558,569,580,591,602],{},[64,548,549,552,555],{},[91,550,551],{},"部署位置",[91,553,554],{},"服务器端",[91,556,557],{},"浏览器端",[64,559,560,563,566],{},[91,561,562],{},"页面分析",[91,564,565],{},"截图 + DOM",[91,567,568],{},"DOM 脱水文本",[64,570,571,574,577],{},[91,572,573],{},"模型需求",[91,575,576],{},"多模态 LLM",[91,578,579],{},"纯文本 LLM",[64,581,582,585,588],{},[91,583,584],{},"跨网站",[91,586,587],{},"✅ 原生",[91,589,590],{},"❌ 需扩展",[64,592,593,596,599],{},[91,594,595],{},"成本",[91,597,598],{},"高（多模态 + 服务器）",[91,600,601],{},"低（纯文本 + 零后端）",[64,603,604,607,610],{},[91,605,606],{},"上手难度",[91,608,609],{},"中（Python + 依赖）",[91,611,612],{},"低（一行 script）",[19,614,615,617],{},[22,616,513],{},"：需要跨网站自动化、爬虫、数据采集 → browser-use。需要给自己的 Web 应用加 AI 能力 → PageAgent。",[171,619,621],{"id":620},"vs-openmanus","vs. OpenManus",[19,623,624],{},"OpenManus（52k+ stars）是通用 Agent 实现，目标是\"拉下来配置 API 就能跑 Manus 风格任务\"。它做的事情比 PageAgent 更\"重\"——多 Agent 编排、浏览器自动化、数据分析等。",[19,626,627],{},"PageAgent 更\"轻\"、更\"专\"——它只做一件事：在网页内部操作 DOM。但它的集成方式更简单（前端脚本 vs. Python 项目），适合的场景更聚焦（Web 应用内嵌 vs. 通用 Agent）。",[15,629,630],{"id":630},"安全与隐私",[19,632,633],{},"PageAgent 的安全模型有几个值得关注的设计：",[19,635,636,639],{},[22,637,638],{},"操作白名单","：开发者可以定义 Agent 允许执行的操作类型（如只允许点击、不允许读取输入框内容）。如果 Agent 尝试执行未授权的操作，系统会阻止。",[19,641,642,645],{},[22,643,644],{},"数据脱敏","：可以标记某些字段（如密码框、身份证号输入框）为敏感字段，DOM 脱水时自动替换为占位符，LLM 永远不会看到真实内容。",[19,647,648,651],{},[22,649,650],{},"BYOK（Bring Your Own Key）","：用户数据直接从浏览器发往自己配置的 LLM 端点，PageAgent 自身不托管任何后端服务，数据隐私风险可归入模型端的安全审计范围。",[19,653,654,657],{},[22,655,656],{},"Human-in-the-Loop","：Agent 执行每一步操作前都会在侧边面板展示思考过程，用户可以在任意步骤中断、修改或确认操作。",[19,659,660,661,664],{},"但需要注意：",[22,662,663],{},"安全边界在页面内，不在页面外。"," PageAgent 和页面上的其他 JavaScript 共享同一安全上下文，如果页面本身有 XSS 漏洞，PageAgent 不会提供额外保护。在敏感操作（如支付、权限变更）场景，建议在后端再加一层验证。",[15,666,667],{"id":667},"局限与风险",[19,669,670,673],{},[22,671,672],{},"DOM 依赖","：PageAgent 的核心假设是\"DOM 能精确描述页面\"。但有些场景 DOM 不一定可靠——Canvas 渲染的内容、WebGL 图形、CodeMirror\u002FMonaco 等自定义编辑器（这些编辑器通常用 contenteditable 或 canvas 实现，DOM 里没有直观的\"输入框\"元素）。CSDN 的富文本编辑器和掘金的 CodeMirror 编辑器就是典型案例，纯 DOM 自动化在这些场景会遇到困难。",[19,675,676,679],{},[22,677,678],{},"版本迭代风险","：截至 2026 年 7 月，PageAgent 最新版本为 v1.8.2，仍处于快速迭代期。这意味着 API 可能变化，文档可能滞后，生产环境需要 pin 版本。",[19,681,682,685],{},[22,683,684],{},"社区生态","：18k+ GitHub stars 说明社区关注度不错，但相比 Playwright 的 70k+ 和 browser-use 的 101k+，生态成熟度还有差距。第三方插件、教程、最佳实践相对较少。",[19,687,688,691],{},[22,689,690],{},"不是测试工具","：PageAgent 的定位不是 Playwright 的替代品。它不适合跑 CI\u002FCD 测试、不适合做性能测试、不适合做大规模爬虫。用对工具做对事。",[15,693,694],{"id":694},"结论",[19,696,697],{},"PageAgent 是 2026 年浏览器自动化领域最值得关注的创新之一。它的 DOM 脱水技术巧妙地绕过了截图方案的昂贵和复杂，纯前端架构让部署成本降到极限。对于想为自己的 Web 应用添加 AI 操作能力的团队，它是目前最轻量的选择。",[19,699,700,701,32],{},"但它的定位不是 Playwright 的替代品，而是互补品——",[22,702,703],{},"适合「嵌进去用」，不适合「从外面控制」。",[171,705,706],{"id":706},"谁适合用",[708,709,710,713,716,719,722],"ul",{},[182,711,712],{},"✅ 前端开发者想为产品添加 AI Copilot",[182,714,715],{},"✅ SaaS 团队想降低 AI 功能集成成本",[182,717,718],{},"✅ 需要 AI 无障碍增强的 Web 应用",[182,720,721],{},"✅ 阿里巴巴\u002F阿里云技术栈的用户",[182,723,724],{},"✅ 想用纯前端方案实现 AI 操作的团队",[171,726,727],{"id":727},"谁不适合用",[708,729,730,733,736,739,742],{},[182,731,732],{},"❌ 需要大规模跨网站爬虫",[182,734,735],{},"❌ CI\u002FCD 自动化测试",[182,737,738],{},"❌ 非技术人员的无代码自动化",[182,740,741],{},"❌ Canvas\u002FWebGL 密集的页面操作",[182,743,744],{},"❌ 需要高并发稳定性的生产级自动化",[15,746,747],{"id":747},"相关阅读",[708,749,750,757,763],{},[182,751,752],{},[753,754,756],"a",{"href":755},"\u002Ftools\u002Fagent\u002Fgeneral\u002Fpageagent","PageAgent 工具卡：阿里巴巴开源纯前端 GUI Agent",[182,758,759],{},[753,760,762],{"href":761},"\u002Ftools\u002Fagent\u002Fgeneral\u002Fopenmanus","OpenManus 评测：开源通用 Agent 实现",[182,764,765],{},[753,766,768],{"href":767},"\u002Ftools\u002Fagent\u002Fprotocol\u002Fcomposio","Composio 评测：MCP 工具协议",[15,770,771],{"id":771},"来源",[179,773,774,782,789,796,803,810,817,824,831,838],{},[182,775,776,777],{},"PageAgent 官方文档 ",[753,778,779],{"href":779,"rel":780},"https:\u002F\u002Falibaba.github.io\u002Fpage-agent\u002F",[781],"nofollow",[182,783,784,785],{},"PageAgent GitHub 主仓库 ",[753,786,787],{"href":787,"rel":788},"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent",[781],[182,790,791,792],{},"PageAgent 官网 ",[753,793,794],{"href":794,"rel":795},"https:\u002F\u002Fpageagent.net\u002F",[781],[182,797,798,799],{},"CSDN — 阿里开源纯前端浏览器自动化 PageAgent ",[753,800,801],{"href":801,"rel":802},"https:\u002F\u002Fblog.csdn.net\u002Fm0_55049655\u002Farticle\u002Fdetails\u002F159350982",[781],[182,804,805,806],{},"CoddyKit — Page-Agent: Alibaba's Open-Source JavaScript Library ",[753,807,808],{"href":808,"rel":809},"https:\u002F\u002Fwww.coddykit.com\u002Fpages\u002Fblog-detail?id=512893",[781],[182,811,812,813],{},"掘金 — page-agent: 纯 JS 的网页 GUI Agent ",[753,814,815],{"href":815,"rel":816},"https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7655611059512983604",[781],[182,818,819,820],{},"Meta AI Labs — Meet Alibaba's Page Agent ",[753,821,822],{"href":822,"rel":823},"https:\u002F\u002Fmetaailabs.com\u002Fmeet-alibabas-page-agent-a-javascript-in-page-gui-agent-that-controls-web-interfaces-with-natural-language-through-the-dom\u002F",[781],[182,825,826,827],{},"AI Tools Atlas — PageAgent Review 2026 ",[753,828,829],{"href":829,"rel":830},"https:\u002F\u002Faitoolsatlas.ai\u002Ftools\u002Fpageagent\u002Freview",[781],[182,832,833,834],{},"AI Tool Net — page-agent ",[753,835,836],{"href":836,"rel":837},"https:\u002F\u002Fwww.aitoolnet.com\u002Fpageagent",[781],[182,839,840,841],{},"MCPgee — Page Agent ",[753,842,843],{"href":843,"rel":844},"https:\u002F\u002Fwww.mcpgee.com\u002Fservers\u002Fpage-agent",[781],[846,847,848],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":224,"searchDepth":328,"depth":328,"links":850},[851,852,853,858,859,865,870,871,872,876,877],{"id":17,"depth":310,"text":17},{"id":35,"depth":310,"text":35},{"id":161,"depth":310,"text":162,"children":854},[855,856,857],{"id":173,"depth":328,"text":174},{"id":202,"depth":328,"text":203},{"id":247,"depth":328,"text":247},{"id":376,"depth":310,"text":377},{"id":436,"depth":310,"text":437,"children":860},[861,862,863,864],{"id":440,"depth":328,"text":441},{"id":455,"depth":328,"text":456},{"id":470,"depth":328,"text":471},{"id":484,"depth":328,"text":485},{"id":498,"depth":310,"text":498,"children":866},[867,868,869],{"id":501,"depth":328,"text":502},{"id":521,"depth":328,"text":522},{"id":620,"depth":328,"text":621},{"id":630,"depth":310,"text":630},{"id":667,"depth":310,"text":667},{"id":694,"depth":310,"text":694,"children":873},[874,875],{"id":706,"depth":328,"text":706},{"id":727,"depth":328,"text":727},{"id":747,"depth":310,"text":747},{"id":771,"depth":310,"text":771},"\u002Fog\u002Freview\u002Fpageagent.svg","PageAgent 深度评测：阿里巴巴开源的纯前端 JavaScript GUI Agent 框架，一行 script 标签嵌入任意网页，自然语言操控 UI——无需截图、无需多模态、无需后端。本文从架构原理、DOM 脱水技术、与 Playwright\u002Fbrowser-use 的对比、4 个真实场景和 5 类不推荐场景全面分析。","md",null,{},true,"\u002Freview\u002Fpageagent-deep-review","2026-07-28",[887,888,889],"agent\u002Fgeneral\u002Fpageagent","agent\u002Fgeneral\u002Fopenmanus","agent\u002Fprotocol\u002Fcomposio",{"title":10,"description":879},"PageAgent 评测 2026：阿里巴巴开源 GUI Agent，DOM 脱水技术，自然语言操控网页","review\u002Fpageagent-deep-review",[138,894,895,896,897,898,899,900],"阿里巴巴","GUI Agent","DOM Dehydration","浏览器自动化","开源","AI Agent","深度评测","PageAgent 代表的不是又一个浏览器自动化工具，而是『浏览器自动化』到『网页内 AI 操作』的范式转移。它用 DOM 脱水技术绕过了截图方案的昂贵和复杂，用纯前端架构消除了后端基建成本。对于想为自己的 Web 应用添加 AI 操作能力的团队，它是目前最轻量的选择。但它的定位不是 Playwright 的替代品，而是互补品——适合『嵌进去用』，不适合『从外面控制』。","rQFrSTcw7iybADjUU2VB-gUz_hkKTtwmk85D8f1pPpk",[904,1649,2454],{"id":905,"title":906,"alternatives":907,"api_compatible":881,"body":910,"category":1586,"chinese_friendly":346,"cover":1587,"description":1588,"domestic":1589,"extension":880,"faq":1590,"free":1589,"github":881,"languages":1603,"lastVerified":881,"meta":1607,"models":881,"navigation":883,"notSuitable":881,"opensource":883,"path":761,"pillar":1608,"platforms":1609,"priceTable":1614,"pricing":1619,"published":1620,"relatedPlaybooks":1621,"relatedReviews":1623,"score":1626,"self_host":883,"seo":1627,"seoTitle":881,"slug":888,"sources":1628,"stem":1638,"suitable":881,"tagline":1639,"tags":1640,"updated":1631,"verdict":1647,"website":1548,"__hash__":1648},"tools\u002Ftools\u002Fagent\u002Fgeneral\u002Fopenmanus.md","OpenManus",[908,909,889],"agent\u002Fplatform\u002Flangflow","agent\u002Fplatform\u002Fn8n",{"type":12,"value":911,"toc":1574},[912,916,923,926,929,1005,1008,1025,1029,1034,1060,1065,1091,1094,1240,1243,1249,1252,1425,1428,1488,1492,1518,1520,1539,1541,1571],[15,913,915],{"id":914},"tldr","TL;DR",[19,917,918,919,922],{},"OpenManus 是 MetaGPT 核心团队 2025-03 推出的开源 Manus 替代方案，52,000+ GitHub stars。差异点：MIT 协议 + Python 模块化架构 + 多 agent orchestration（",[222,920,921],{},"run_flow.py","）+ Playwright 浏览器自动化 + MCP 工具协议支持 + DataAnalysis 内置模式 + OpenManus-RL 强化学习分支 + 自定义工具基类（BaseTool）+ 多模型（GPT-4o \u002F Claude \u002F Qwen VL Plus）。零邀请码、零订阅、零供应商绑定。",[19,924,925],{},"适合：想自托管复刻 Manus 体验的开发者；研究 \u002F 学术 \u002F 教育用通用 agent 实现学习；隐私敏感 + 不愿数据上 Manus 商业云；预算紧（只付 LLM API）；中国大陆开发者（搭配 Qwen \u002F DeepSeek 本地化）。不适合：非开发者 \u002F 不会折腾 Python + Playwright；要 GUI \u002F 上手即用；生产级稳定（项目演进快，文档滞后）。",[15,927,928],{"id":928},"核心能力",[708,930,931,939,945,951,957,963,969,975,981,987,993,999],{},[182,932,933,531,936,938],{},[22,934,935],{},"多 agent orchestration",[222,937,921],{}," 编排多个专门 agent 协作",[182,940,941,944],{},[22,942,943],{},"Playwright 浏览器自动化","：截图 + DOM 操作 + 表单填写 + 信息抓取",[182,946,947,950],{},[22,948,949],{},"MCP 协议支持","：可调用 MCP server（filesystem \u002F GitHub \u002F Postgres）",[182,952,953,956],{},[22,954,955],{},"DataAnalysis 模式","：内置 CSV \u002F 数据分析 agent",[182,958,959,962],{},[22,960,961],{},"OpenManus-RL","：强化学习微调分支",[182,964,965,968],{},[22,966,967],{},"BaseTool 自定义工具","：Python 继承基类快速添加新工具",[182,970,971,974],{},[22,972,973],{},"多模态","：文本 + 视觉输入 + 浏览器截图回环",[182,976,977,980],{},[22,978,979],{},"多 LLM provider","：GPT-4o \u002F Claude 3.5 \u002F Qwen VL Plus \u002F DeepSeek \u002F Gemini",[182,982,983,986],{},[22,984,985],{},"核心 agent 引擎","：reasoning + planning + execution 三阶段",[182,988,989,992],{},[22,990,991],{},"Web UI 监控","：实时看 AI thinking process",[182,994,995,998],{},[22,996,997],{},"任务可视化","：步骤拆解 + 执行树",[182,1000,1001,1004],{},[22,1002,1003],{},"MIT 协议","：个人 + 商用全免费",[15,1006,1007],{"id":1007},"价格",[708,1009,1010,1016,1019,1022],{},[182,1011,1012,1015],{},[22,1013,1014],{},"Free \u002F OSS","：$0；MIT 协议",[182,1017,1018],{},"真实成本 = LLM API（GPT-4o ~$5\u002FM input + $15\u002FM output \u002F Claude \u002F Qwen 等）",[182,1020,1021],{},"一次中等任务（10-20 步）API 费用 $0.05-0.5",[182,1023,1024],{},"本地 Qwen2.5 32B \u002F DeepSeek 走 vLLM \u002F Ollama 路径 $0",[15,1026,1028],{"id":1027},"实测开发者-自托管-研究场景","实测（开发者 \u002F 自托管 \u002F 研究场景）",[19,1030,1031],{},[22,1032,1033],{},"亮点：",[708,1035,1036,1039,1042,1045,1048,1051,1054,1057],{},[182,1037,1038],{},"52k stars 印证社区认同度 + 活跃度",[182,1040,1041],{},"MetaGPT 团队背景保证架构质量",[182,1043,1044],{},"多 agent 协作场景比单 agent 实现稳得多",[182,1046,1047],{},"Playwright 浏览器自动化非常完整",[182,1049,1050],{},"MCP 协议接入打通 Claude \u002F Cursor 生态",[182,1052,1053],{},"DataAnalysis 内置 agent 模式开箱即用",[182,1055,1056],{},"中文支持自然（Qwen VL Plus 接入）",[182,1058,1059],{},"自托管 + 数据本地，隐私 \u002F 合规友好",[19,1061,1062],{},[22,1063,1064],{},"踩坑：",[708,1066,1067,1070,1073,1076,1079,1082,1085,1088],{},[182,1068,1069],{},"项目演进快，breaking change 偶发（pin commit 跑生产）",[182,1071,1072],{},"文档滞后新功能 1-2 个月",[182,1074,1075],{},"无官方 GUI，监控 UI 在做但不完整",[182,1077,1078],{},"需要 Python 3.12+ + Playwright 依赖（首次安装 chromium 慢）",[182,1080,1081],{},"LLM API 配置非平凡（多 provider \u002F key \u002F 模型选择）",[182,1083,1084],{},"浏览器任务遇到 CAPTCHA \u002F 反爬偶尔卡死",[182,1086,1087],{},"中文 prompt 效果依赖底层模型",[182,1089,1090],{},"生产部署需自己加监控 \u002F 错误恢复 \u002F 重试",[15,1092,1093],{"id":1093},"上手",[215,1095,1099],{"className":1096,"code":1097,"language":1098,"meta":224,"style":224},"language-bash shiki shiki-themes github-light github-dark","git clone https:\u002F\u002Fgithub.com\u002FFoundationAgents\u002FOpenManus.git\ncd OpenManus\npython3.12 -m venv .venv && source .venv\u002Fbin\u002Factivate  # 或 .venv\\Scripts\\activate\npip install -r requirements.txt\nplaywright install chromium\n\n# 配 LLM API\ncp config\u002Fconfig.example.toml config\u002Fconfig.toml\n# 编辑 config.toml 填 OPENAI \u002F ANTHROPIC \u002F DEEPSEEK key\n\n# 单 agent 模式\npython main.py\n\n# 多 agent 模式\npython run_flow.py\n","bash",[222,1100,1101,1112,1120,1146,1160,1171,1177,1183,1195,1201,1206,1212,1221,1226,1232],{"__ignoreMap":224},[281,1102,1103,1106,1109],{"class":283,"line":284},[281,1104,1105],{"class":299},"git",[281,1107,1108],{"class":414}," clone",[281,1110,1111],{"class":414}," https:\u002F\u002Fgithub.com\u002FFoundationAgents\u002FOpenManus.git\n",[281,1113,1114,1117],{"class":283,"line":310},[281,1115,1116],{"class":291},"cd",[281,1118,1119],{"class":414}," OpenManus\n",[281,1121,1122,1125,1128,1131,1134,1137,1140,1143],{"class":283,"line":328},[281,1123,1124],{"class":299},"python3.12",[281,1126,1127],{"class":291}," -m",[281,1129,1130],{"class":414}," venv",[281,1132,1133],{"class":414}," .venv",[281,1135,1136],{"class":295}," && ",[281,1138,1139],{"class":291},"source",[281,1141,1142],{"class":414}," .venv\u002Fbin\u002Factivate",[281,1144,1145],{"class":306},"  # 或 .venv\\Scripts\\activate\n",[281,1147,1148,1151,1154,1157],{"class":283,"line":346},[281,1149,1150],{"class":299},"pip",[281,1152,1153],{"class":414}," install",[281,1155,1156],{"class":291}," -r",[281,1158,1159],{"class":414}," requirements.txt\n",[281,1161,1163,1166,1168],{"class":283,"line":1162},5,[281,1164,1165],{"class":299},"playwright",[281,1167,1153],{"class":414},[281,1169,1170],{"class":414}," chromium\n",[281,1172,1174],{"class":283,"line":1173},6,[281,1175,1176],{"emptyLinePlaceholder":883},"\n",[281,1178,1180],{"class":283,"line":1179},7,[281,1181,1182],{"class":306},"# 配 LLM API\n",[281,1184,1186,1189,1192],{"class":283,"line":1185},8,[281,1187,1188],{"class":299},"cp",[281,1190,1191],{"class":414}," config\u002Fconfig.example.toml",[281,1193,1194],{"class":414}," config\u002Fconfig.toml\n",[281,1196,1198],{"class":283,"line":1197},9,[281,1199,1200],{"class":306},"# 编辑 config.toml 填 OPENAI \u002F ANTHROPIC \u002F DEEPSEEK key\n",[281,1202,1204],{"class":283,"line":1203},10,[281,1205,1176],{"emptyLinePlaceholder":883},[281,1207,1209],{"class":283,"line":1208},11,[281,1210,1211],{"class":306},"# 单 agent 模式\n",[281,1213,1215,1218],{"class":283,"line":1214},12,[281,1216,1217],{"class":299},"python",[281,1219,1220],{"class":414}," main.py\n",[281,1222,1224],{"class":283,"line":1223},13,[281,1225,1176],{"emptyLinePlaceholder":883},[281,1227,1229],{"class":283,"line":1228},14,[281,1230,1231],{"class":306},"# 多 agent 模式\n",[281,1233,1235,1237],{"class":283,"line":1234},15,[281,1236,1217],{"class":299},[281,1238,1239],{"class":414}," run_flow.py\n",[19,1241,1242],{},"试任务示例：",[215,1244,1247],{"className":1245,"code":1246,"language":220},[218],"> 帮我做一份『2026 开源 AI Agent 框架』竞品对比，含表格 + 引用 + 趋势分析，输出为 markdown 文件\n",[222,1248,1246],{"__ignoreMap":224},[15,1250,1251],{"id":1251},"对比",[58,1253,1254,1271],{},[61,1255,1256],{},[64,1257,1258,1260,1262,1265,1268],{},[67,1259,540],{},[67,1261,906],{},[67,1263,1264],{},"LangChain",[67,1266,1267],{},"AutoGPT",[67,1269,1270],{},"CrewAI",[86,1272,1273,1290,1305,1319,1336,1349,1363,1377,1394,1408],{},[64,1274,1275,1278,1281,1284,1287],{},[91,1276,1277],{},"形态",[91,1279,1280],{},"现成 agent 实现",[91,1282,1283],{},"building blocks",[91,1285,1286],{},"早期通用 agent",[91,1288,1289],{},"多 agent 框架",[64,1291,1292,1294,1297,1300,1303],{},[91,1293,897],{},[91,1295,1296],{},"✅ Playwright",[91,1298,1299],{},"–",[91,1301,1302],{},"部分",[91,1304,1299],{},[64,1306,1307,1310,1313,1315,1317],{},[91,1308,1309],{},"MCP",[91,1311,1312],{},"✅",[91,1314,1302],{},[91,1316,1299],{},[91,1318,1299],{},[64,1320,1321,1324,1327,1330,1333],{},[91,1322,1323],{},"多 agent",[91,1325,1326],{},"✅ orchestration",[91,1328,1329],{},"需自搭",[91,1331,1332],{},"❌",[91,1334,1335],{},"✅ 旗舰",[64,1337,1338,1341,1343,1345,1347],{},[91,1339,1340],{},"DataAnalysis 内置",[91,1342,1312],{},[91,1344,1299],{},[91,1346,1299],{},[91,1348,1299],{},[64,1350,1351,1354,1357,1359,1361],{},[91,1352,1353],{},"RL 微调",[91,1355,1356],{},"✅ OpenManus-RL",[91,1358,1299],{},[91,1360,1299],{},[91,1362,1299],{},[64,1364,1365,1368,1371,1373,1375],{},[91,1366,1367],{},"协议",[91,1369,1370],{},"MIT",[91,1372,1370],{},[91,1374,1370],{},[91,1376,1370],{},[64,1378,1379,1382,1385,1388,1391],{},[91,1380,1381],{},"Stars",[91,1383,1384],{},"52k+",[91,1386,1387],{},"100k+",[91,1389,1390],{},"170k+",[91,1392,1393],{},"30k+",[64,1395,1396,1398,1401,1404,1406],{},[91,1397,1093],{},[91,1399,1400],{},"中",[91,1402,1403],{},"难",[91,1405,1400],{},[91,1407,1400],{},[64,1409,1410,1413,1416,1419,1422],{},[91,1411,1412],{},"适合",[91,1414,1415],{},"自托管 Manus 复刻",[91,1417,1418],{},"底层 framework",[91,1420,1421],{},"学习经典",[91,1423,1424],{},"多 agent 协作",[15,1426,1427],{"id":1427},"避坑",[708,1429,1430,1436,1446,1452,1458,1464,1470,1476,1482],{},[182,1431,1432,1435],{},[22,1433,1434],{},"pin commit 用生产","：项目演进快，main 分支偶尔 break",[182,1437,1438,1441,1442,1445],{},[22,1439,1440],{},"Playwright 依赖大","：首次 ",[222,1443,1444],{},"playwright install"," 下 chromium 慢，国内走镜像",[182,1447,1448,1451],{},[22,1449,1450],{},"LLM 选择","：日常用 GPT-4o-mini \u002F DeepSeek 省钱，复杂任务切 GPT-4o \u002F Claude Opus",[182,1453,1454,1457],{},[22,1455,1456],{},"本地化中文","：Qwen2.5 VL 32B + vLLM 部署可全本地 + 零成本",[182,1459,1460,1463],{},[22,1461,1462],{},"监控自加","：生产部署要加 prometheus + 错误重试 + 任务超时",[182,1465,1466,1469],{},[22,1467,1468],{},"浏览器反爬","：CAPTCHA 场景搭配 2captcha \u002F human-in-loop",[182,1471,1472,1475],{},[22,1473,1474],{},"OpenManus-RL 分支","：研究场景才需要，普通用户主仓库就够",[182,1477,1478,1481],{},[22,1479,1480],{},"MCP server","：信任来源很重要，能访问的目录 \u002F 工具要审慎",[182,1483,1484,1487],{},[22,1485,1486],{},"多 agent runaway","：复杂任务设 max_steps 防止失控烧 token",[15,1489,1491],{"id":1490},"适合-不适合","适合 \u002F 不适合",[708,1493,1494,1497,1500,1503,1506,1509,1512,1515],{},[182,1495,1496],{},"✅ 开发者 + 想自托管 Manus 风格 agent",[182,1498,1499],{},"✅ 研究 \u002F 学术 \u002F 教育用通用 agent 学习",[182,1501,1502],{},"✅ 隐私敏感 + 不愿数据上商业云",[182,1504,1505],{},"✅ 中国大陆开发者（Qwen \u002F DeepSeek 本地化）",[182,1507,1508],{},"❌ 非开发者 \u002F 不会 Python + Playwright",[182,1510,1511],{},"❌ 要 GUI \u002F 上手即用",[182,1513,1514],{},"❌ 生产级稳定（文档滞后 + 演进快）",[182,1516,1517],{},"❌ 团队协作 + 共享 workspace（用 Flowith \u002F Genspark Team）",[15,1519,747],{"id":747},[708,1521,1522,1528,1534],{},[182,1523,1524],{},[753,1525,1527],{"href":1526},"\u002Ftools\u002Fagent\u002Fplatform\u002Flangflow","Langflow 评测",[182,1529,1530],{},[753,1531,1533],{"href":1532},"\u002Ftools\u002Fagent\u002Fplatform\u002Fn8n","n8n 评测",[182,1535,1536],{},[753,1537,1538],{"href":767},"Composio 评测",[15,1540,771],{"id":771},[179,1542,1543,1550,1557,1564],{},[182,1544,1545,1546],{},"OpenManus GitHub 主仓库 + Foundation Agents 组织 ",[753,1547,1548],{"href":1548,"rel":1549},"https:\u002F\u002Fgithub.com\u002FFoundationAgents\u002FOpenManus",[781],[182,1551,1552,1553],{},"Foundation Agents — OpenManus 项目介绍 ",[753,1554,1555],{"href":1555,"rel":1556},"https:\u002F\u002Ffoundationagents.org\u002Fprojects\u002Fopenmanus\u002F",[781],[182,1558,1559,1560],{},"Toolsverse — OpenManus 评测 + 52k stars ",[753,1561,1562],{"href":1562,"rel":1563},"https:\u002F\u002Fthetoolsverse.com\u002Ftools\u002Fopenmanus",[781],[182,1565,1566,1567],{},"SoloSoft.dev — OpenManus 2026 Framework 综述 ",[753,1568,1569],{"href":1569,"rel":1570},"https:\u002F\u002Fwww.solosoft.dev\u002Fpost\u002Fopenmanus-agent-framework-2026\u002F",[781],[846,1572,1573],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":224,"searchDepth":328,"depth":328,"links":1575},[1576,1577,1578,1579,1580,1581,1582,1583,1584,1585],{"id":914,"depth":310,"text":915},{"id":928,"depth":310,"text":928},{"id":1007,"depth":310,"text":1007},{"id":1027,"depth":310,"text":1028},{"id":1093,"depth":310,"text":1093},{"id":1251,"depth":310,"text":1251},{"id":1427,"depth":310,"text":1427},{"id":1490,"depth":310,"text":1491},{"id":747,"depth":310,"text":747},{"id":771,"depth":310,"text":771},"general","\u002Fimg\u002Ftools\u002Fopenmanus.webp","OpenManus 真实评测：MetaGPT 核心成员 Xinbin Liang \u002F Jinyu Xiang \u002F Zhaoyang Yu \u002F Jiayi Zhang \u002F Sirui Hong 在 2025-03 推出的开源 Manus 替代方案，52,000+ GitHub stars。MIT 协议 + Python 模块化架构 + 多 agent orchestration（run_flow.py）+ Playwright 浏览器自动化 + MCP 工具支持 + DataAnalysis 内置模式 + OpenManus-RL 强化学习微调分支 + 自定义工具基类（BaseTool）。零邀请码、零订阅、零供应商绑定，唯一成本 = LLM API。",false,[1591,1594,1597,1600],{"q":1592,"a":1593},"OpenManus 和 Manus 是什么关系？","Manus 是商业 \u002F 邀请制的通用 AI agent 产品。OpenManus 是 MetaGPT 核心团队 2025-03 推出的开源复刻版，目标是『让所有人不靠邀请码就能用上类 Manus 能力』。功能覆盖：研究 \u002F 浏览器 \u002F 数据分析 \u002F 文件操作 \u002F 多步 reasoning。不是 Manus 官方出品。",{"q":1595,"a":1596},"和 LangChain \u002F AutoGPT \u002F CrewAI 怎么定位？","OpenManus 不是 framework，更像『可直接跑的通用 agent 实现』。LangChain 是 building block 框架；AutoGPT 是早期通用 agent；CrewAI 是多 agent 协作 framework。要『拉下来配 API 就能跑 Manus 风格任务』→ OpenManus；要『从底层搭自己的 agent』→ LangChain \u002F CrewAI；要『历史经典 + 学习』→ AutoGPT。OpenManus 内部用 LangChain-like 模块，可视为『现成实现』。",{"q":1598,"a":1599},"OpenManus-RL 是什么？","OpenManus 项目下的强化学习分支，提供 RL-based 微调方法优化 agent 性能。对研究 \u002F 高定制场景有价值，普通用户主仓库已经够用。",{"q":1601,"a":1602},"上手门槛？","需要 Python 3.12+ + 熟悉终端 + 自配 LLM API。无 GUI（虽然 web 监控界面在做）。documentation 偶尔滞后。非开发者建议先试 GUI 工具（Flowith \u002F Genspark），开发者 \u002F 研究者 + 想自托管 + 隐私敏感 → OpenManus。",[1604,1605,1606],"en","zh","multi",{},"agent",[1610,1611,1612,1613],"linux","macos","windows","docker",[1615],{"plan":1014,"price":1616,"features":1617,"notes":1618},"$0","MIT 协议 + 全部功能 + 自托管 + 多 agent + 浏览器 + MCP + DataAnalysis + OpenManus-RL","LLM API 自付","MIT 完全免费开源 \u002F 用户自付 LLM API（GPT-4o \u002F Claude 3.5 \u002F Qwen VL Plus 任选）","2026-06-19",[1622],"onboarding\u002Fopen-source-general-agent",[1624,1625],"openhuman-deep-review","openmanus-deep-review",{"power":1162,"ux":328,"price":1162,"cn_support":346,"stability":328},{"title":906,"description":1588},[1629,1632,1634,1636],{"name":1630,"url":1548,"accessed":1631},"OpenManus GitHub（FoundationAgents 组织）","2026-06-24",{"name":1633,"url":1555,"accessed":1631},"Foundation Agents — OpenManus 项目介绍",{"name":1635,"url":1562,"accessed":1631},"Toolsverse — OpenManus 评测 + 52k stars",{"name":1637,"url":1569,"accessed":1631},"SoloSoft.dev — OpenManus 2026 Framework 综述","tools\u002Fagent\u002Fgeneral\u002Fopenmanus","MetaGPT 团队开源版 Manus——52k+ stars \u002F MIT \u002F 多 agent + 浏览器自动化 + MCP + DataAnalysis",[1641,1642,1643,1644,1645,1646],"opensource","multi-agent","browser-automation","mcp","metagpt","openmanus","想自托管复刻 Manus 全能 agent 体验 + 不愿等邀请码的开发者首选——浏览器 + 数据分析 + MCP 工具栈一站全。要 GUI \u002F 上手即用 \u002F 生产级稳定建议 Genspark \u002F Flowith 付费版。","bwDrZ3am1nVPoISuuo1SzArkD2h3Du6eKkMXUWgpesM",{"id":1650,"title":138,"alternatives":1651,"api_compatible":1652,"body":1659,"category":1586,"chinese_friendly":1162,"cover":2401,"description":2402,"domestic":883,"extension":880,"faq":2403,"free":883,"github":787,"languages":2419,"lastVerified":881,"meta":2420,"models":2421,"navigation":883,"notSuitable":881,"opensource":883,"path":755,"pillar":1608,"platforms":2427,"priceTable":2429,"pricing":2432,"published":885,"relatedPlaybooks":881,"relatedReviews":2433,"score":2435,"self_host":883,"seo":2436,"seoTitle":881,"slug":887,"sources":2437,"stem":2444,"suitable":881,"tagline":2445,"tags":2446,"updated":885,"verdict":2452,"website":779,"__hash__":2453},"tools\u002Ftools\u002Fagent\u002Fgeneral\u002Fpageagent.md",[888,889],[1653,1654,1655,1656,1657,1658],"OpenAI","Anthropic","Google","Qwen","DeepSeek","Ollama",{"type":12,"value":1660,"toc":2386},[1661,1663,1674,1677,1680,1682,1755,1757,1769,1773,1777,1806,1810,1833,1835,1839,1871,1874,1878,1893,2029,2033,2047,2179,2181,2318,2320,2351,2353,2364,2366,2383],[15,1662,915],{"id":914},[19,1664,1665,1666,1669,1670,1673],{},"PageAgent 是阿里巴巴开源的一款纯前端 JavaScript GUI Agent 框架，核心理念是 ",[22,1667,1668],{},"\"The GUI Agent Living in Your Webpage\"","——让 AI 直接「住进」你的网页。与传统浏览器自动化工具不同，它不依赖截图、多模态模型、无头浏览器或 Python 后端，仅需一行 ",[222,1671,1672],{},"\u003Cscript>"," 标签即可嵌入任意页面，让用户通过自然语言指令操控 Web 界面。",[19,1675,1676],{},"核心差异点：MIT 协议 + 纯 TypeScript + DOM 脱水（文本化 DOM 分析） + 任意 LLM 接入（BYOK） + 零后端部署 + Human-in-the-Loop 协同面板 + 可选 Chrome 扩展跨标签页 + MCP Server Beta。",[19,1678,1679],{},"适合：想为自己的 Web 应用添加 AI Copilot 的 SaaS 团队；需要自然语言操作后台管理系统的场景；希望用 AI 增强无障碍体验的开发者；需要将客服机器人从「指导操作」升级为「直接操作」的产品团队。不适合：需要大规模跨网站爬取\u002F数据采集；需要 CI\u002FCD 自动化测试；需要无代码方案的非技术人员。",[15,1681,928],{"id":928},[708,1683,1684,1689,1698,1708,1713,1719,1725,1731,1737,1743,1749],{},[182,1685,1686,1688],{},[22,1687,168],{},"：将页面 DOM 树压缩为精简文本，仅保留交互元素及其索引，发送给 LLM 处理。无需截图、无需多模态模型",[182,1690,1691,1694,1695,1697],{},[22,1692,1693],{},"零后端部署","：CDN 或 NPM 导入，一行 ",[222,1696,1672],{}," 标签即可运行",[182,1699,1700,1703,1704,1707],{},[22,1701,1702],{},"任意 LLM 接入","：支持 OpenAI \u002F Claude \u002F Qwen \u002F DeepSeek \u002F Gemini 等任意兼容 ",[222,1705,1706],{},"\u002Fchat\u002Fcompletions"," 接口的模型",[182,1709,1710,1712],{},[22,1711,656],{},"：侧边面板实时展示 AI 思考过程，遇到歧义时主动向用户确认",[182,1714,1715,1718],{},[22,1716,1717],{},"操作白名单 & 数据脱敏","：可定义允许的操作范围，保护敏感字段不被 AI 看到",[182,1720,1721,1724],{},[22,1722,1723],{},"自定义知识注入","：注入业务规则，让 AI 遵守特定的操作约束与流程",[182,1726,1727,1730],{},[22,1728,1729],{},"Chrome 扩展（可选）","：跨标签页\u002F多页面任务支持",[182,1732,1733,1736],{},[22,1734,1735],{},"MCP Server（Beta）","：外部 Agent 客户端可通过 MCP 协议控制浏览器",[182,1738,1739,1742],{},[22,1740,1741],{},"ReAct 循环架构","：Observe → Think（反思 + 行动）→ Act 的完整实现",[182,1744,1745,1748],{},[22,1746,1747],{},"Reflection-Before-Action","：每步先评估上步效果再决策，减少错误累积",[182,1750,1751,1754],{},[22,1752,1753],{},"TypeScript 编写","：完整类型定义，适合前端工程集成",[15,1756,1007],{"id":1007},[708,1758,1759,1763,1766],{},[182,1760,1761,1015],{},[22,1762,1014],{},[182,1764,1765],{},"真实成本 = LLM API（GPT-4o ~$5\u002FM input + $15\u002FM output \u002F Qwen3.5-plus 更便宜）",[182,1767,1768],{},"支持通过 Ollama 运行本地模型，API 成本为 $0",[15,1770,1772],{"id":1771},"实测开发者-前端集成-saas-场景","实测（开发者 \u002F 前端集成 \u002F SaaS 场景）",[19,1774,1775],{},[22,1776,1033],{},[708,1778,1779,1782,1785,1788,1791,1794,1797,1800,1803],{},[182,1780,1781],{},"18,000+ GitHub stars，社区活跃度高",[182,1783,1784],{},"阿里巴巴团队维护，代码质量有保障",[182,1786,1787],{},"DOM 脱水技术让 Token 成本比截图方案低一个数量级",[182,1789,1790],{},"推理速度快（0.5-1s vs 截图方案的 2-5s）",[182,1792,1793],{},"天然继承用户登录态，无需处理 Cookie\u002FSession 同步",[182,1795,1796],{},"零后端部署，适合前端团队独立完成",[182,1798,1799],{},"中文支持完美（阿里巴巴出品）",[182,1801,1802],{},"操作白名单 + 数据脱敏 + Human-in-the-Loop 三重安全机制",[182,1804,1805],{},"MCP Server 打通 Claude Desktop \u002F Cursor 生态",[19,1807,1808],{},[22,1809,1064],{},[708,1811,1812,1815,1818,1821,1824,1827,1830],{},[182,1813,1814],{},"项目 v1.8.x 仍在快速迭代，API 可能变化",[182,1816,1817],{},"复杂动态页面 DOM 分析精度取决于 LLM 能力",[182,1819,1820],{},"不支持跨网站操作（除非安装 Chrome 扩展）",[182,1822,1823],{},"不适合大规模爬虫和性能测试场景",[182,1825,1826],{},"生产环境需要自行处理 LLM 调用错误和重试",[182,1828,1829],{},"文档有中英文版本，部分内容可能滞后",[182,1831,1832],{},"非前端开发者需要一定的 JavaScript 能力",[15,1834,1093],{"id":1093},[171,1836,1838],{"id":1837},"快速体验一行-cdn-脚本","快速体验（一行 CDN 脚本）",[215,1840,1842],{"className":392,"code":1841,"language":394,"meta":224,"style":224},"\u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fpage-agent@1.10.0\u002Fdist\u002Fiife\u002Fpage-agent.demo.js\" crossorigin=\"true\">\u003C\u002Fscript>\n",[222,1843,1844],{"__ignoreMap":224},[281,1845,1846,1848,1850,1852,1854,1857,1860,1862,1865,1867,1869],{"class":283,"line":284},[281,1847,401],{"class":295},[281,1849,405],{"class":404},[281,1851,408],{"class":299},[281,1853,411],{"class":295},[281,1855,1856],{"class":414},"\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fpage-agent@1.10.0\u002Fdist\u002Fiife\u002Fpage-agent.demo.js\"",[281,1858,1859],{"class":299}," crossorigin",[281,1861,411],{"class":295},[281,1863,1864],{"class":414},"\"true\"",[281,1866,418],{"class":295},[281,1868,405],{"class":404},[281,1870,423],{"class":295},[19,1872,1873],{},"加载后页面右下角出现 Agent 面板，可以直接输入自然语言命令。",[171,1875,1877],{"id":1876},"npm-安装生产用法","NPM 安装（生产用法）",[215,1879,1881],{"className":1096,"code":1880,"language":1098,"meta":224,"style":224},"npm install page-agent\n",[222,1882,1883],{"__ignoreMap":224},[281,1884,1885,1888,1890],{"class":283,"line":284},[281,1886,1887],{"class":299},"npm",[281,1889,1153],{"class":414},[281,1891,1892],{"class":414}," page-agent\n",[215,1894,1896],{"className":275,"code":1895,"language":277,"meta":224,"style":224},"import { PageAgent } from 'page-agent'\n\nconst agent = new PageAgent({\n  model: 'qwen3.5-plus',\n  baseURL: 'https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1',\n  apiKey: 'YOUR_API_KEY',\n  language: 'zh-CN',\n})\n\n\u002F\u002F 执行自然语言任务\nconst result = await agent.execute('点击登录按钮，然后填写用户名为 test@example.com')\nconsole.log(result.success, result.message)\n",[222,1897,1898,1912,1916,1936,1947,1957,1967,1977,1982,1986,1991,2018],{"__ignoreMap":224},[281,1899,1900,1903,1906,1909],{"class":283,"line":284},[281,1901,1902],{"class":287},"import",[281,1904,1905],{"class":295}," { PageAgent } ",[281,1907,1908],{"class":287},"from",[281,1910,1911],{"class":414}," 'page-agent'\n",[281,1913,1914],{"class":283,"line":310},[281,1915,1176],{"emptyLinePlaceholder":883},[281,1917,1918,1921,1924,1927,1930,1933],{"class":283,"line":328},[281,1919,1920],{"class":287},"const",[281,1922,1923],{"class":291}," agent",[281,1925,1926],{"class":287}," =",[281,1928,1929],{"class":287}," new",[281,1931,1932],{"class":299}," PageAgent",[281,1934,1935],{"class":295},"({\n",[281,1937,1938,1941,1944],{"class":283,"line":346},[281,1939,1940],{"class":295},"  model: ",[281,1942,1943],{"class":414},"'qwen3.5-plus'",[281,1945,1946],{"class":295},",\n",[281,1948,1949,1952,1955],{"class":283,"line":1162},[281,1950,1951],{"class":295},"  baseURL: ",[281,1953,1954],{"class":414},"'https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1'",[281,1956,1946],{"class":295},[281,1958,1959,1962,1965],{"class":283,"line":1173},[281,1960,1961],{"class":295},"  apiKey: ",[281,1963,1964],{"class":414},"'YOUR_API_KEY'",[281,1966,1946],{"class":295},[281,1968,1969,1972,1975],{"class":283,"line":1179},[281,1970,1971],{"class":295},"  language: ",[281,1973,1974],{"class":414},"'zh-CN'",[281,1976,1946],{"class":295},[281,1978,1979],{"class":283,"line":1185},[281,1980,1981],{"class":295},"})\n",[281,1983,1984],{"class":283,"line":1197},[281,1985,1176],{"emptyLinePlaceholder":883},[281,1987,1988],{"class":283,"line":1203},[281,1989,1990],{"class":306},"\u002F\u002F 执行自然语言任务\n",[281,1992,1993,1995,1998,2000,2003,2006,2009,2012,2015],{"class":283,"line":1208},[281,1994,1920],{"class":287},[281,1996,1997],{"class":291}," result",[281,1999,1926],{"class":287},[281,2001,2002],{"class":287}," await",[281,2004,2005],{"class":295}," agent.",[281,2007,2008],{"class":299},"execute",[281,2010,2011],{"class":295},"(",[281,2013,2014],{"class":414},"'点击登录按钮，然后填写用户名为 test@example.com'",[281,2016,2017],{"class":295},")\n",[281,2019,2020,2023,2026],{"class":283,"line":1214},[281,2021,2022],{"class":295},"console.",[281,2024,2025],{"class":299},"log",[281,2027,2028],{"class":295},"(result.success, result.message)\n",[171,2030,2032],{"id":2031},"使用-core-包无-ui-面板嵌入式场景","使用 Core 包（无 UI 面板，嵌入式场景）",[215,2034,2036],{"className":1096,"code":2035,"language":1098,"meta":224,"style":224},"npm install @page-agent\u002Fcore\n",[222,2037,2038],{"__ignoreMap":224},[281,2039,2040,2042,2044],{"class":283,"line":284},[281,2041,1887],{"class":299},[281,2043,1153],{"class":414},[281,2045,2046],{"class":414}," @page-agent\u002Fcore\n",[215,2048,2050],{"className":275,"code":2049,"language":277,"meta":224,"style":224},"import { PageAgentCore } from '@page-agent\u002Fcore'\nimport { PageController } from '@page-agent\u002Fpage-controller'\n\nconst pageController = new PageController()\nconst agent = new PageAgentCore({\n  pageController,\n  llmConfig: {\n    model: 'gpt-4o',\n    baseURL: 'https:\u002F\u002Fapi.openai.com\u002Fv1',\n    apiKey: 'YOUR_API_KEY',\n  },\n})\n\nawait agent.execute('帮我创建一个新项目，名称为「AI Demo」')\n",[222,2051,2052,2064,2076,2080,2097,2112,2117,2122,2132,2142,2151,2156,2160,2164],{"__ignoreMap":224},[281,2053,2054,2056,2059,2061],{"class":283,"line":284},[281,2055,1902],{"class":287},[281,2057,2058],{"class":295}," { PageAgentCore } ",[281,2060,1908],{"class":287},[281,2062,2063],{"class":414}," '@page-agent\u002Fcore'\n",[281,2065,2066,2068,2071,2073],{"class":283,"line":310},[281,2067,1902],{"class":287},[281,2069,2070],{"class":295}," { PageController } ",[281,2072,1908],{"class":287},[281,2074,2075],{"class":414}," '@page-agent\u002Fpage-controller'\n",[281,2077,2078],{"class":283,"line":328},[281,2079,1176],{"emptyLinePlaceholder":883},[281,2081,2082,2084,2087,2089,2091,2094],{"class":283,"line":346},[281,2083,1920],{"class":287},[281,2085,2086],{"class":291}," pageController",[281,2088,1926],{"class":287},[281,2090,1929],{"class":287},[281,2092,2093],{"class":299}," PageController",[281,2095,2096],{"class":295},"()\n",[281,2098,2099,2101,2103,2105,2107,2110],{"class":283,"line":1162},[281,2100,1920],{"class":287},[281,2102,1923],{"class":291},[281,2104,1926],{"class":287},[281,2106,1929],{"class":287},[281,2108,2109],{"class":299}," PageAgentCore",[281,2111,1935],{"class":295},[281,2113,2114],{"class":283,"line":1173},[281,2115,2116],{"class":295},"  pageController,\n",[281,2118,2119],{"class":283,"line":1179},[281,2120,2121],{"class":295},"  llmConfig: {\n",[281,2123,2124,2127,2130],{"class":283,"line":1185},[281,2125,2126],{"class":295},"    model: ",[281,2128,2129],{"class":414},"'gpt-4o'",[281,2131,1946],{"class":295},[281,2133,2134,2137,2140],{"class":283,"line":1197},[281,2135,2136],{"class":295},"    baseURL: ",[281,2138,2139],{"class":414},"'https:\u002F\u002Fapi.openai.com\u002Fv1'",[281,2141,1946],{"class":295},[281,2143,2144,2147,2149],{"class":283,"line":1203},[281,2145,2146],{"class":295},"    apiKey: ",[281,2148,1964],{"class":414},[281,2150,1946],{"class":295},[281,2152,2153],{"class":283,"line":1208},[281,2154,2155],{"class":295},"  },\n",[281,2157,2158],{"class":283,"line":1214},[281,2159,1981],{"class":295},[281,2161,2162],{"class":283,"line":1223},[281,2163,1176],{"emptyLinePlaceholder":883},[281,2165,2166,2168,2170,2172,2174,2177],{"class":283,"line":1228},[281,2167,288],{"class":287},[281,2169,2005],{"class":295},[281,2171,2008],{"class":299},[281,2173,2011],{"class":295},[281,2175,2176],{"class":414},"'帮我创建一个新项目，名称为「AI Demo」'",[281,2178,2017],{"class":295},[15,2180,1251],{"id":1251},[58,2182,2183,2197],{},[61,2184,2185],{},[64,2186,2187,2189,2191,2193,2195],{},[67,2188,540],{},[67,2190,138],{},[67,2192,96],{},[67,2194,116],{},[67,2196,906],{},[86,2198,2199,2215,2229,2242,2258,2273,2290,2303],{},[64,2200,2201,2204,2207,2210,2212],{},[91,2202,2203],{},"部署方式",[91,2205,2206],{},"纯前端 JS 脚本",[91,2208,2209],{},"Python + 无头浏览器",[91,2211,2209],{},[91,2213,2214],{},"Python + Playwright",[64,2216,2217,2219,2222,2225,2227],{},[91,2218,562],{},[91,2220,2221],{},"文本 DOM 脱水",[91,2223,2224],{},"DOM 选择器",[91,2226,565],{},[91,2228,565],{},[64,2230,2231,2233,2235,2238,2240],{},[91,2232,573],{},[91,2234,579],{},[91,2236,2237],{},"无需 LLM",[91,2239,576],{},[91,2241,576],{},[64,2243,2244,2247,2250,2253,2256],{},[91,2245,2246],{},"登录态",[91,2248,2249],{},"天然继承",[91,2251,2252],{},"需手动管理 Cookie",[91,2254,2255],{},"需手动管理",[91,2257,2255],{},[64,2259,2260,2263,2266,2269,2271],{},[91,2261,2262],{},"跨页面",[91,2264,2265],{},"需 Chrome 扩展",[91,2267,2268],{},"✅ 原生支持",[91,2270,2268],{},[91,2272,1296],{},[64,2274,2275,2278,2281,2284,2287],{},[91,2276,2277],{},"目标用户",[91,2279,2280],{},"前端开发者 \u002F SaaS",[91,2282,2283],{},"测试工程师",[91,2285,2286],{},"Agent 开发者",[91,2288,2289],{},"自托管 Agent 用户",[64,2291,2292,2294,2296,2299,2301],{},[91,2293,1367],{},[91,2295,1370],{},[91,2297,2298],{},"Apache 2.0",[91,2300,1370],{},[91,2302,1370],{},[64,2304,2305,2307,2310,2313,2316],{},[91,2306,1381],{},[91,2308,2309],{},"18k+",[91,2311,2312],{},"70k+",[91,2314,2315],{},"101k+",[91,2317,1384],{},[15,2319,1491],{"id":1490},[708,2321,2322,2325,2328,2331,2334,2337,2340,2343,2346,2349],{},[182,2323,2324],{},"✅ 想为 Web 应用添加 AI Copilot 的 SaaS 团队",[182,2326,2327],{},"✅ 需要自然语言操作后台管理系统的场景",[182,2329,2330],{},"✅ 用 AI 增强无障碍体验（语音控制、屏幕阅读器）",[182,2332,2333],{},"✅ 将客服机器人从「指导操作」升级为「直接操作」",[182,2335,2336],{},"✅ 前端开发者想用最低成本集成 AI 能力",[182,2338,2339],{},"✅ 中国大陆开发者（阿里巴巴出品，中文支持完美）",[182,2341,2342],{},"❌ 大规模跨网站爬取 \u002F 数据采集",[182,2344,2345],{},"❌ CI\u002FCD 自动化测试（用 Playwright）",[182,2347,2348],{},"❌ 无代码方案的非技术人员",[182,2350,744],{},[15,2352,747],{"id":747},[708,2354,2355,2360],{},[182,2356,2357],{},[753,2358,2359],{"href":761},"OpenManus 评测",[182,2361,2362],{},[753,2363,1538],{"href":767},[15,2365,771],{"id":771},[179,2367,2368,2373,2378],{},[182,2369,776,2370],{},[753,2371,779],{"href":779,"rel":2372},[781],[182,2374,784,2375],{},[753,2376,787],{"href":787,"rel":2377},[781],[182,2379,791,2380],{},[753,2381,794],{"href":794,"rel":2382},[781],[846,2384,2385],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":224,"searchDepth":328,"depth":328,"links":2387},[2388,2389,2390,2391,2392,2397,2398,2399,2400],{"id":914,"depth":310,"text":915},{"id":928,"depth":310,"text":928},{"id":1007,"depth":310,"text":1007},{"id":1771,"depth":310,"text":1772},{"id":1093,"depth":310,"text":1093,"children":2393},[2394,2395,2396],{"id":1837,"depth":328,"text":1838},{"id":1876,"depth":328,"text":1877},{"id":2031,"depth":328,"text":2032},{"id":1251,"depth":310,"text":1251},{"id":1490,"depth":310,"text":1491},{"id":747,"depth":310,"text":747},{"id":771,"depth":310,"text":771},"\u002Fimg\u002Ftools\u002Fpageagent.webp","PageAgent 是阿里巴巴开源的纯前端 JavaScript GUI Agent 框架，采用 MIT 协议。核心创新在于：不依赖截图和多模态模型，而是通过 DOM 脱水（DOM Dehydration）技术将页面结构序列化为文本，让 LLM 理解并操作页面元素。仅需一行 `\u003Cscript>` 标签即可嵌入任何网页，实现自然语言驱动的点击、输入、导航等操作。",[2404,2407,2410,2413,2416],{"q":2405,"a":2406},"PageAgent 和传统浏览器自动化（Playwright \u002F Selenium）有什么区别？","PageAgent 是『页面内嵌』方案，直接在浏览器中作为 JavaScript 运行，天然继承用户登录态，无需无头浏览器和 Python 后端。Playwright 等是『外部驱动』方案，通过 CDP 协议远程控制浏览器，适合大规模测试和跨网站爬取。PageAgent 更适合为你的 Web 应用添加 AI 操作能力。",{"q":2408,"a":2409},"PageAgent 需要 Chrome 扩展吗？","不需要。PageAgent.js 作为独立脚本在单页面内即可工作。Chrome 扩展是可选的『增强包』，仅在需要跨标签页或多页面任务时才需要安装。",{"q":2411,"a":2412},"支持哪些 LLM？","支持任何兼容 OpenAI `\u002Fchat\u002Fcompletions` 接口的模型，包括 OpenAI GPT-4o、Claude 3.5、Qwen3.5、DeepSeek、Gemini、Grok、Kimi、GLM，以及通过 Ollama 运行的本地开源模型。用户提供自己的 API Key。",{"q":2414,"a":2415},"PageAgent 是国产的吗？","是的，由阿里巴巴开源，MIT 协议，TypeScript 编写。对中文场景有天然优化，支持中文指令和中文界面操作。",{"q":2417,"a":2418},"PageAgent 的 DOM 脱水（DOM Dehydration）是什么？","DOM 脱水是将页面 DOM 树压缩为精简文本的技术。它会移除样式信息、冗余容器和隐藏元素，只保留交互元素（按钮、输入框、链接等）及其索引，发送给 LLM 处理。相比截图方案，成本低一个数量级，速度更快（0.5-1s vs 2-5s）。",[1604,1605,1606],{},[2422,2423,2424,2425,2426],"GPT-4o","Claude 3.5 Sonnet","Qwen3.5-plus","DeepSeek-V3","Gemini 2.5 Pro",[2428],"web",[2430],{"plan":1014,"price":1616,"features":2431,"notes":1618},"MIT 协议 + 全部功能 + 自托管 + DOM Dehydration + 任意 LLM 接入 + Chrome 扩展 + MCP Server","MIT 完全免费开源 \u002F 用户自付 LLM API（支持 OpenAI \u002F Claude \u002F Qwen \u002F DeepSeek 等任意兼容模型）",[2434],"pageagent-deep-review",{"power":346,"ux":346,"price":1162,"cn_support":1162,"stability":328},{"title":138,"description":2402},[2438,2440,2442],{"name":2439,"url":779,"accessed":885},"PageAgent 官方文档",{"name":2441,"url":787,"accessed":885},"PageAgent GitHub（alibaba 组织）",{"name":2443,"url":794,"accessed":885},"PageAgent 官网","tools\u002Fagent\u002Fgeneral\u002Fpageagent","阿里巴巴开源纯前端 GUI Agent——一行 script 标签让 AI 自然语言控制你的 Web 页面",[1641,2447,1643,2448,2449,2450,2451],"gui-agent","dom-dehydration","alibaba","javascript","frontend","想为你的 Web 应用添加 AI 操作能力、又不想搭后端和无头浏览器的开发者首选——一行代码嵌入，纯文本 DOM 分析，接入任意 LLM 即可。需要跨网站爬取\u002F大规模测试场景建议 Playwright 或 browser-use。","A41K5d-SHNiZQg3H8Pc4tTzdGO6g7xo7XIXylo1Ifyg",{"id":2455,"title":2456,"alternatives":2457,"api_compatible":881,"body":2460,"category":3284,"chinese_friendly":328,"cover":3285,"description":3286,"domestic":1589,"extension":880,"faq":3287,"free":1589,"github":881,"languages":3300,"lastVerified":881,"meta":3301,"models":881,"navigation":883,"notSuitable":881,"opensource":1589,"path":767,"pillar":1608,"platforms":3302,"priceTable":3305,"pricing":3317,"published":1620,"relatedPlaybooks":3318,"relatedReviews":3320,"score":3322,"self_host":1589,"seo":3323,"seoTitle":881,"slug":889,"sources":3324,"stem":3335,"suitable":881,"tagline":3336,"tags":3337,"updated":1631,"verdict":3342,"website":3239,"__hash__":3343},"tools\u002Ftools\u002Fagent\u002Fprotocol\u002Fcomposio.md","Composio",[2458,2459,908],"agent\u002Fprotocol\u002Fsmithery","agent\u002Fprotocol\u002Fmcp-toolbox",{"type":12,"value":2461,"toc":3272},[2462,2464,2467,2470,2472,2545,2547,2567,2573,2577,2581,2607,2611,2637,2641,2672,2959,2961,3113,3115,3179,3181,3210,3212,3230,3232,3269],[15,2463,915],{"id":914},[19,2465,2466],{},"Composio 是 AI agent 集成基础设施层，把『agent 接入 1000-10,000+ 真实工具』的复杂度封装为一个 SDK。差异点：1000+ pre-built 集成（GitHub \u002F Slack \u002F Gmail \u002F Salesforce \u002F Notion \u002F Linear \u002F Jira \u002F Google Workspace）+ 托管 OAuth（含自动 token refresh）+ 沙箱执行 + 细粒度 action-level 权限 + 完整审计日志 + 框架无关（MCP \u002F LangChain \u002F CrewAI \u002F Autogen \u002F OpenAI Agents SDK \u002F Claude \u002F ChatGPT 都能用）+ Python \u002F TypeScript SDK + AWS \u002F Zoom \u002F Glean 等企业客户。Tooliverse 评分 8.56\u002F10，295 条多平台评测交叉验证。",[19,2468,2469],{},"适合：要造 agent 接多个 SaaS 工具的团队；OAuth \u002F token refresh \u002F 错误重试不想自己写；多框架兼容（不锁定 LangChain）；企业 + 合规 + audit log；已有 MCP server 但想要更广覆盖。不适合：单一工具 high-frequency 场景（自接 API 更便宜）；轻量 hobby project（LangChain native tool 够用）；要 1000% 控制集成代码（用开源 MCP server）；数据零云 + 完全自托管（Composio 是 SaaS）。",[15,2471,928],{"id":928},[708,2473,2474,2480,2486,2492,2498,2504,2510,2516,2521,2527,2533,2539],{},[182,2475,2476,2479],{},[22,2477,2478],{},"1000+ pre-built 集成","：GitHub \u002F Slack \u002F Gmail \u002F Salesforce \u002F Notion \u002F Linear \u002F Jira \u002F Google Workspace 等",[182,2481,2482,2485],{},[22,2483,2484],{},"托管 OAuth","：OAuth flow + token refresh + multi-user 全自动",[182,2487,2488,2491],{},[22,2489,2490],{},"沙箱执行","：tool call 在隔离环境跑，安全隔离",[182,2493,2494,2497],{},[22,2495,2496],{},"action-level 权限","：可精确控制 agent 能做什么（read-only \u002F write \u002F admin）",[182,2499,2500,2503],{},[22,2501,2502],{},"审计日志","：每次 tool call 完整记录（timestamp \u002F user \u002F args \u002F result）",[182,2505,2506,2509],{},[22,2507,2508],{},"框架无关","：MCP \u002F LangChain \u002F CrewAI \u002F Autogen \u002F OpenAI Agents SDK \u002F Claude \u002F ChatGPT",[182,2511,2512,2515],{},[22,2513,2514],{},"Python + TypeScript SDK","：主流 agent 栈都能用",[182,2517,2518,2520],{},[22,2519,1480],{},"：1000+ 工具统一 MCP 入口",[182,2522,2523,2526],{},[22,2524,2525],{},"多用户 session","：per-user OAuth + 隔离 workspace",[182,2528,2529,2532],{},[22,2530,2531],{},"自定义工具","：BaseTool 扩展 + JSON schema 验证",[182,2534,2535,2538],{},[22,2536,2537],{},"企业能力","：SSO \u002F audit \u002F SLA \u002F 私有部署",[182,2540,2541,2544],{},[22,2542,2543],{},"AWS \u002F Zoom \u002F Glean 客户","：production 验证",[15,2546,1007],{"id":1007},[708,2548,2549,2555,2561],{},[182,2550,2551,2554],{},[22,2552,2553],{},"Free","：$0；全部 1000+ 集成 + 限月度 action + Python\u002FTS SDK + MCP server",[182,2556,2557,2560],{},[22,2558,2559],{},"Growth","：按 action 量阶梯；更高额度 + 团队",[182,2562,2563,2566],{},[22,2564,2565],{},"Enterprise","：联系销售；SSO + audit + 私有部署 + SLA",[2568,2569,2570],"blockquote",{},[19,2571,2572],{},"真实成本：低频 + 多样工具（每天几百次 action）Free 档够用；high-frequency（每分钟轮询 \u002F 大量 batch）成本陡升，要算清单 action 价格。",[15,2574,2576],{"id":2575},"实测agent-接入多-saas","实测（agent 接入多 SaaS）",[19,2578,2579],{},[22,2580,1033],{},[708,2582,2583,2586,2589,2592,2595,2598,2601,2604],{},[182,2584,2585],{},"集成宽度（1000+）业内最广",[182,2587,2588],{},"OAuth 全托管省 50% 工程量",[182,2590,2591],{},"一份 SDK 跑通 CrewAI \u002F LangChain \u002F OpenAI Agents SDK",[182,2593,2594],{},"沙箱执行 + audit log 让企业合规过关",[182,2596,2597],{},"AWS \u002F Zoom \u002F Glean 等大客户 = production-grade 信号",[182,2599,2600],{},"Tooliverse 8.56\u002F10、Toolradar 4.9\u002F5（295 reviews）",[182,2602,2603],{},"5 分钟可让 CrewAI agent 在 GitHub 上 star 一个 repo",[182,2605,2606],{},"self-healing tool execution（自动重试 + 错误处理）",[19,2608,2609],{},[22,2610,1064],{},[708,2612,2613,2616,2619,2622,2625,2628,2631,2634],{},[182,2614,2615],{},"文档『can lag behind rapid feature releases』",[182,2617,2618],{},"pricing scales steeply for high-frequency use cases",[182,2620,2621],{},"自定义工具要『master schema validation that documentation doesn't fully demystify』",[182,2623,2624],{},"冷门集成 action coverage 浅，只支持基础 CRUD",[182,2626,2627],{},"数据完全 SaaS 化，零云需求不能用",[182,2629,2630],{},"国内访问偶发慢（CDN 在海外）",[182,2632,2633],{},"Free 档 action 限额对生产 hobby 也容易撞顶",[182,2635,2636],{},"vendor lock-in：迁移要重写 OAuth 层",[15,2638,2640],{"id":2639},"上手crewai-5-分钟","上手（CrewAI 5 分钟）",[215,2642,2644],{"className":1096,"code":2643,"language":1098,"meta":224,"style":224},"pip install composio composio-crewai crewai\nexport COMPOSIO_API_KEY=***\n",[222,2645,2646,2661],{"__ignoreMap":224},[281,2647,2648,2650,2652,2655,2658],{"class":283,"line":284},[281,2649,1150],{"class":299},[281,2651,1153],{"class":414},[281,2653,2654],{"class":414}," composio",[281,2656,2657],{"class":414}," composio-crewai",[281,2659,2660],{"class":414}," crewai\n",[281,2662,2663,2666,2669],{"class":283,"line":310},[281,2664,2665],{"class":287},"export",[281,2667,2668],{"class":295}," COMPOSIO_API_KEY",[281,2670,2671],{"class":287},"=***\n",[215,2673,2676],{"className":2674,"code":2675,"language":1217,"meta":224,"style":224},"language-python shiki shiki-themes github-light github-dark","from composio_crewai import ComposioProvider\nfrom composio import Composio\nfrom crewai import Agent, Task, Crew\n\ncomposio = Composio(provider=ComposioProvider())\nsession = composio.create(user_id=\"alice\", toolkits=[\"github\", \"gmail\"])\ntools = session.tools()\n\n# 手动授权（首次）\nauth = session.authorize(\"github\")\nprint(f\"Visit: {auth.redirect_url}\")\n\nagent = Agent(\n    role=\"GitHub Agent\",\n    goal=\"Star repos on behalf of users\",\n    tools=tools, llm=...\n)\ntask = Task(description=\"Star composiohq\u002Fcomposio\", agent=agent, expected_output=\"done\")\nCrew(agents=[agent], tasks=[task]).kickoff()\n",[222,2677,2678,2690,2702,2714,2718,2737,2777,2787,2791,2796,2810,2837,2841,2851,2863,2875,2894,2899,2937],{"__ignoreMap":224},[281,2679,2680,2682,2685,2687],{"class":283,"line":284},[281,2681,1908],{"class":287},[281,2683,2684],{"class":295}," composio_crewai ",[281,2686,1902],{"class":287},[281,2688,2689],{"class":295}," ComposioProvider\n",[281,2691,2692,2694,2697,2699],{"class":283,"line":310},[281,2693,1908],{"class":287},[281,2695,2696],{"class":295}," composio ",[281,2698,1902],{"class":287},[281,2700,2701],{"class":295}," Composio\n",[281,2703,2704,2706,2709,2711],{"class":283,"line":328},[281,2705,1908],{"class":287},[281,2707,2708],{"class":295}," crewai ",[281,2710,1902],{"class":287},[281,2712,2713],{"class":295}," Agent, Task, Crew\n",[281,2715,2716],{"class":283,"line":346},[281,2717,1176],{"emptyLinePlaceholder":883},[281,2719,2720,2723,2725,2728,2732,2734],{"class":283,"line":1162},[281,2721,2722],{"class":295},"composio ",[281,2724,411],{"class":287},[281,2726,2727],{"class":295}," Composio(",[281,2729,2731],{"class":2730},"s4XuR","provider",[281,2733,411],{"class":287},[281,2735,2736],{"class":295},"ComposioProvider())\n",[281,2738,2739,2742,2744,2747,2750,2752,2755,2758,2761,2763,2766,2769,2771,2774],{"class":283,"line":1173},[281,2740,2741],{"class":295},"session ",[281,2743,411],{"class":287},[281,2745,2746],{"class":295}," composio.create(",[281,2748,2749],{"class":2730},"user_id",[281,2751,411],{"class":287},[281,2753,2754],{"class":414},"\"alice\"",[281,2756,2757],{"class":295},", ",[281,2759,2760],{"class":2730},"toolkits",[281,2762,411],{"class":287},[281,2764,2765],{"class":295},"[",[281,2767,2768],{"class":414},"\"github\"",[281,2770,2757],{"class":295},[281,2772,2773],{"class":414},"\"gmail\"",[281,2775,2776],{"class":295},"])\n",[281,2778,2779,2782,2784],{"class":283,"line":1179},[281,2780,2781],{"class":295},"tools ",[281,2783,411],{"class":287},[281,2785,2786],{"class":295}," session.tools()\n",[281,2788,2789],{"class":283,"line":1185},[281,2790,1176],{"emptyLinePlaceholder":883},[281,2792,2793],{"class":283,"line":1197},[281,2794,2795],{"class":306},"# 手动授权（首次）\n",[281,2797,2798,2801,2803,2806,2808],{"class":283,"line":1203},[281,2799,2800],{"class":295},"auth ",[281,2802,411],{"class":287},[281,2804,2805],{"class":295}," session.authorize(",[281,2807,2768],{"class":414},[281,2809,2017],{"class":295},[281,2811,2812,2815,2817,2820,2823,2826,2829,2832,2835],{"class":283,"line":1208},[281,2813,2814],{"class":291},"print",[281,2816,2011],{"class":295},[281,2818,2819],{"class":287},"f",[281,2821,2822],{"class":414},"\"Visit: ",[281,2824,2825],{"class":291},"{",[281,2827,2828],{"class":295},"auth.redirect_url",[281,2830,2831],{"class":291},"}",[281,2833,2834],{"class":414},"\"",[281,2836,2017],{"class":295},[281,2838,2839],{"class":283,"line":1214},[281,2840,1176],{"emptyLinePlaceholder":883},[281,2842,2843,2846,2848],{"class":283,"line":1223},[281,2844,2845],{"class":295},"agent ",[281,2847,411],{"class":287},[281,2849,2850],{"class":295}," Agent(\n",[281,2852,2853,2856,2858,2861],{"class":283,"line":1228},[281,2854,2855],{"class":2730},"    role",[281,2857,411],{"class":287},[281,2859,2860],{"class":414},"\"GitHub Agent\"",[281,2862,1946],{"class":295},[281,2864,2865,2868,2870,2873],{"class":283,"line":1234},[281,2866,2867],{"class":2730},"    goal",[281,2869,411],{"class":287},[281,2871,2872],{"class":414},"\"Star repos on behalf of users\"",[281,2874,1946],{"class":295},[281,2876,2878,2881,2883,2886,2889,2891],{"class":283,"line":2877},16,[281,2879,2880],{"class":2730},"    tools",[281,2882,411],{"class":287},[281,2884,2885],{"class":295},"tools, ",[281,2887,2888],{"class":2730},"llm",[281,2890,411],{"class":287},[281,2892,2893],{"class":291},"...\n",[281,2895,2897],{"class":283,"line":2896},17,[281,2898,2017],{"class":295},[281,2900,2902,2905,2907,2910,2913,2915,2918,2920,2922,2924,2927,2930,2932,2935],{"class":283,"line":2901},18,[281,2903,2904],{"class":295},"task ",[281,2906,411],{"class":287},[281,2908,2909],{"class":295}," Task(",[281,2911,2912],{"class":2730},"description",[281,2914,411],{"class":287},[281,2916,2917],{"class":414},"\"Star composiohq\u002Fcomposio\"",[281,2919,2757],{"class":295},[281,2921,1608],{"class":2730},[281,2923,411],{"class":287},[281,2925,2926],{"class":295},"agent, ",[281,2928,2929],{"class":2730},"expected_output",[281,2931,411],{"class":287},[281,2933,2934],{"class":414},"\"done\"",[281,2936,2017],{"class":295},[281,2938,2940,2943,2946,2948,2951,2954,2956],{"class":283,"line":2939},19,[281,2941,2942],{"class":295},"Crew(",[281,2944,2945],{"class":2730},"agents",[281,2947,411],{"class":287},[281,2949,2950],{"class":295},"[agent], ",[281,2952,2953],{"class":2730},"tasks",[281,2955,411],{"class":287},[281,2957,2958],{"class":295},"[task]).kickoff()\n",[15,2960,1251],{"id":1251},[58,2962,2963,2980],{},[61,2964,2965],{},[64,2966,2967,2969,2971,2974,2977],{},[67,2968,540],{},[67,2970,2456],{},[67,2972,2973],{},"Smithery",[67,2975,2976],{},"MCP Toolbox",[67,2978,2979],{},"LangChain Tools",[86,2981,2982,2999,3014,3030,3042,3055,3068,3083,3098],{},[64,2983,2984,2987,2990,2993,2996],{},[91,2985,2986],{},"集成数",[91,2988,2989],{},"1000+",[91,2991,2992],{},"MCP 注册中心",[91,2994,2995],{},"Google MCP 集合",[91,2997,2998],{},"~200",[64,3000,3001,3004,3006,3009,3011],{},[91,3002,3003],{},"OAuth 托管",[91,3005,1335],{},[91,3007,3008],{},"❌ 各 server 自管",[91,3010,1332],{},[91,3012,3013],{},"自己写",[64,3015,3016,3019,3022,3025,3027],{},[91,3017,3018],{},"框架兼容",[91,3020,3021],{},"MCP + LC + CrewAI + Autogen + OpenAI",[91,3023,3024],{},"MCP only",[91,3026,3024],{},[91,3028,3029],{},"LangChain only",[64,3031,3032,3034,3036,3038,3040],{},[91,3033,2490],{},[91,3035,1312],{},[91,3037,1332],{},[91,3039,1332],{},[91,3041,1332],{},[64,3043,3044,3047,3049,3051,3053],{},[91,3045,3046],{},"audit log",[91,3048,1312],{},[91,3050,1332],{},[91,3052,1302],{},[91,3054,1332],{},[64,3056,3057,3060,3062,3064,3066],{},[91,3058,3059],{},"企业 SSO",[91,3061,1312],{},[91,3063,1332],{},[91,3065,1332],{},[91,3067,1332],{},[64,3069,3070,3073,3075,3077,3080],{},[91,3071,3072],{},"自托管",[91,3074,1332],{},[91,3076,1302],{},[91,3078,3079],{},"✅ Apache 2.0",[91,3081,3082],{},"✅ MIT",[64,3084,3085,3088,3091,3093,3096],{},[91,3086,3087],{},"起价",[91,3089,3090],{},"Free + 按 action",[91,3092,2553],{},[91,3094,3095],{},"$0 OSS",[91,3097,1616],{},[64,3099,3100,3102,3105,3108,3111],{},[91,3101,1412],{},[91,3103,3104],{},"多 SaaS + 多框架",[91,3106,3107],{},"MCP server 发现",[91,3109,3110],{},"Google Cloud",[91,3112,3029],{},[15,3114,1427],{"id":1427},[708,3116,3117,3123,3129,3138,3143,3149,3155,3161,3167,3173],{},[182,3118,3119,3122],{},[22,3120,3121],{},"action 预算","：先估月度 action 量 + 选档，high-frequency 不要无脑用 Free",[182,3124,3125,3128],{},[22,3126,3127],{},"OAuth scope 最小化","：只授权必需 scope，audit log 也更干净",[182,3130,3131,3134,3135,3137],{},[22,3132,3133],{},"每用户 session","：multi-tenant 用 ",[222,3136,2749],{}," 隔离 OAuth + workspace",[182,3139,3140,3142],{},[22,3141,2531],{},"：先看 JSON schema 文档 + 跑 unit test 验证",[182,3144,3145,3148],{},[22,3146,3147],{},"冷门集成","：先 try Free 跑 demo 确认 action coverage 够",[182,3150,3151,3154],{},[22,3152,3153],{},"fallback","：Composio 不可用要有 fallback（重试 + 备用 SDK）",[182,3156,3157,3160],{},[22,3158,3159],{},"数据零云需求","：用 MCP server 自托管，不要用 Composio",[182,3162,3163,3166],{},[22,3164,3165],{},"国内访问","：CDN 海外，国内 production 用 proxy \u002F 反代",[182,3168,3169,3172],{},[22,3170,3171],{},"rate limit","：每个 SaaS 还有自己的 rate limit，Composio 不替你解决",[182,3174,3175,3178],{},[22,3176,3177],{},"vendor lock","：业务核心要做迁移预案（abstract OAuth 层）",[15,3180,1491],{"id":1490},[708,3182,3183,3186,3189,3192,3195,3198,3201,3204,3207],{},[182,3184,3185],{},"✅ 要造 agent 接多 SaaS 工具",[182,3187,3188],{},"✅ OAuth \u002F token refresh \u002F 错误重试不想自写",[182,3190,3191],{},"✅ 多框架兼容（不锁定）",[182,3193,3194],{},"✅ 企业 + 合规 + audit log",[182,3196,3197],{},"✅ 已有 MCP server 但想要更广覆盖",[182,3199,3200],{},"❌ 单一工具 high-frequency（自接 API 更便宜）",[182,3202,3203],{},"❌ 轻量 hobby project（LangChain 够用）",[182,3205,3206],{},"❌ 完全自托管 \u002F 数据零云",[182,3208,3209],{},"❌ 要 1000% 控制集成代码",[15,3211,747],{"id":747},[708,3213,3214,3220,3226],{},[182,3215,3216],{},[753,3217,3219],{"href":3218},"\u002Ftools\u002Fagent\u002Fprotocol\u002Fsmithery","Smithery 评测",[182,3221,3222],{},[753,3223,3225],{"href":3224},"\u002Ftools\u002Fagent\u002Fprotocol\u002Fmcp-toolbox","MCP Toolbox 评测",[182,3227,3228],{},[753,3229,1527],{"href":1526},[15,3231,771],{"id":771},[179,3233,3234,3241,3248,3255,3262],{},[182,3235,3236,3237],{},"Composio 官网 + Pricing ",[753,3238,3239],{"href":3239,"rel":3240},"https:\u002F\u002Fcomposio.dev",[781],[182,3242,3243,3244],{},"Tooliverse — Composio Review 2026 + 8.56\u002F10 + 295 reviews ",[753,3245,3246],{"href":3246,"rel":3247},"https:\u002F\u002Ftooliverse.ai\u002Ftools\u002Fcomposio",[781],[182,3249,3250,3251],{},"Sift AI — Composio Review 2026: Integration Platform for AI Agents ",[753,3252,3253],{"href":3253,"rel":3254},"https:\u002F\u002Fsiftaitools.com\u002Freviews\u002Fcomposio",[781],[182,3256,3257,3258],{},"Toolradar — Composio Reviews + 4.9\u002F5 ",[753,3259,3260],{"href":3260,"rel":3261},"https:\u002F\u002Ftoolradar.com\u002Ftools\u002Fcomposio",[781],[182,3263,3264,3265],{},"CrewAI Docs — Composio Tool 集成示例 + 250+ tools ",[753,3266,3267],{"href":3267,"rel":3268},"https:\u002F\u002Fdocs.crewai.com\u002Fen\u002Ftools\u002Fautomation\u002Fcomposiotool",[781],[846,3270,3271],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":224,"searchDepth":328,"depth":328,"links":3273},[3274,3275,3276,3277,3278,3279,3280,3281,3282,3283],{"id":914,"depth":310,"text":915},{"id":928,"depth":310,"text":928},{"id":1007,"depth":310,"text":1007},{"id":2575,"depth":310,"text":2576},{"id":2639,"depth":310,"text":2640},{"id":1251,"depth":310,"text":1251},{"id":1427,"depth":310,"text":1427},{"id":1490,"depth":310,"text":1491},{"id":747,"depth":310,"text":747},{"id":771,"depth":310,"text":771},"protocol","\u002Fimg\u002Ftools\u002Fcomposio.webp","Composio（composio.dev）真实评测：AI agent 集成基础设施层，把『agent 接入 1000-10,000+ 真实工具』的复杂度封装为一个 SDK。差异点：1000+ pre-built 集成（GitHub \u002F Slack \u002F Gmail \u002F Salesforce \u002F Notion \u002F Linear 等）+ 托管 OAuth（含自动 token refresh）+ 沙箱执行 + 细粒度权限 + 完整审计日志 + 框架无关（MCP \u002F LangChain \u002F CrewAI \u002F Autogen \u002F OpenAI Agents SDK \u002F Claude \u002F ChatGPT 都能用）+ Python \u002F TypeScript SDK + AWS \u002F Zoom \u002F Glean 等企业客户背书。",[3288,3291,3294,3297],{"q":3289,"a":3290},"Composio 解决什么问题？","AI agent 在 production 撞墙最常见原因 = 『集成 + 认证基础设施』。每接一个工具（GitHub \u002F Slack \u002F Gmail \u002F Salesforce）要：写 OAuth flow + 保存 \u002F 刷新 token + 处理 rate limit + 写 JSON schema 给 LLM + 沙箱执行 + 错误重试。这些代码占了 agent 项目 50%+ 工程量。Composio 把这部分托管化，开发者只 import SDK 就能用 1000+ 工具，重心回到『agent 智能本身』。",{"q":3292,"a":3293},"和 MCP 是什么关系？","Composio 同时是 MCP server 提供方 + 自有 SDK。MCP 是 Anthropic 推出的开放协议，但 MCP server 仍需有人维护（GitHub MCP \u002F Slack MCP 等）。Composio 提供了 1000+ 工具的『大集合 MCP server』+ 还兼容 LangChain \u002F CrewAI \u002F OpenAI Agents SDK 等非 MCP 框架。所以可视为『MCP 协议 + 多框架原生 SDK』的双轨集成层。",{"q":3295,"a":3296},"和 LangChain native tools 怎么选？","LangChain 自带 ~200 tool，但很多是社区维护、OAuth 要自己处理、production 稳定性参差。Composio 用 1000+ 商业维护的集成 + 托管 OAuth + 企业级权限审计换更高费用。Hobby \u002F 学习项目 → LangChain native；production \u002F 多用户 \u002F 多 OAuth scope → Composio。",{"q":3298,"a":3299},"实际用起来贵不贵？","免费档对开发 \u002F 验证够用。生产部署 high-frequency 用例（如每分钟轮询 Gmail）会快速消耗 action 额度 → Growth\u002FEnterprise 起步。Tooliverse 评测明确指出『pricing scales steeply for high-frequency use cases』。低频 + 多样工具 → Composio 性价比高；高频 + 单工具 → 自接 API 更便宜。",[1604],{},[3303,3304,1644],"api","sdk",[3306,3309,3313],{"plan":2553,"price":1616,"features":3307,"notes":3308},"全部 1000+ 集成 + 限月度 action + Python\u002FTS SDK + MCP server","开发 \u002F 试水",{"plan":2559,"price":3310,"features":3311,"notes":3312},"按 action","更高 action 限额 + 更多并发 + 细粒度权限 + 团队","生产部署",{"plan":2565,"price":3314,"features":3315,"notes":3316},"联系销售","SSO + audit + 私有部署 + SLA + 自定义工具开发 + 专属支持","大客户","Free（有月度 action 限额）\u002F Growth 按 action 量阶梯 \u002F Enterprise 联系销售",[3319],"onboarding\u002Fagent-integration-layer",[3321],"mcp-ecosystem-review",{"power":1162,"ux":346,"price":346,"cn_support":328,"stability":346},{"title":2456,"description":3286},[3325,3327,3329,3331,3333],{"name":3326,"url":3239,"accessed":1631},"Composio 官网",{"name":3328,"url":3246,"accessed":1631},"Tooliverse — Composio Review 2026 Agent Tool Execution",{"name":3330,"url":3253,"accessed":1631},"Sift AI — Composio Review 2026: Integration Platform",{"name":3332,"url":3260,"accessed":1631},"Toolradar — Composio Reviews + 4.9\u002F5",{"name":3334,"url":3267,"accessed":1631},"CrewAI Docs — Composio Tool 集成示例","tools\u002Fagent\u002Fprotocol\u002Fcomposio","AI Agent 集成中间件——1000+ 工具 + 托管 OAuth + 框架无关 + MCP + 沙箱执行",[3338,3339,1644,3340,3341],"agent-infra","integrations","oauth","composio","Agent 开发的『集成中间件层』——免自己写 1000 个 OAuth + token refresh + JSON schema。AWS \u002F Zoom \u002F Glean 在用。要省钱 \u002F 自托管全部用 MCP server 自己接；要简单 LangChain 工具用 LangChain native tools。","vtYi8gv6tOz3yaPGR6QFD6enNUVQMS5KYZ27p5SUD8g",1785253925766]