
【免费下载链接】web-agent Open-source web data agent optimized for structured web research项目地址https://gitcode.com/gh_mirrors/weba/web-agent点击查看免费下载Firecrawl Web Agentweb-agent是一个开源的 Web 数据智能体项目专为结构化网络调研而优化。它基于 LangChain 的Deep Agents框架让 AI 模型在规划-执行-观察循环中自主完成搜索、抓取、浏览器操作与结构化数据输出无需人工写死任何抓取脚本。本文将带你从零看懂它的工作机制。一、整体架构五层堆叠的开源技术栈 web-agent 采用逐层搭建的设计每一层都构建在下一层之上层级作用对应目录Next.js 模板完整聊天 UI、流式输出、技能选择agent-templates/next/Express 模板API 服务端形态agent-templates/express/Agent Core核心编排器、Skills、子智能体agent-core/Firecrawl AI SDK将 Search / Scrape / Interact 封装为工具依赖firecrawl-aisdkFirecrawl SDKScrape、Search、Crawl、Extract 的 API 客户端依赖mendable/firecrawl-js对普通用户来说直接运行 Next.js 或 Express 模板即可获得开箱即用的 Web 调研 Agent对开发者则可以把agent-core作为库直接引入获得对每个原语的细粒度控制。二、核心机制规划-执行-观察循环如何运转 整个智能体的大脑是编排器Orchestrator其入口在 agent-core/src/orchestrator/index.ts。它的工作流可以概括为五个步骤源码中WORKFLOW_STEPS段定义了它规划Plan判断任务类型确定需要哪些数据若用户提供了 URL先查询站点导航手册执行Act调用 search、scrape、interact 等工具搜索、抓取、翻页独立目标足够多时才派发并行子智能体观察Observe接收每次工具调用的返回结果对照 schema 检查清单验证数据完整性收敛Finish调用formatOutput输出最终结果——任务在 formatOutput 被调用之前永远不算完成。这个循环最多运行 50 步maxSteps可配置由stopWhen: stepCountIs(50)硬性约束防止智能体无限打转。系统提示词一份写给 AI 的作业守则编排器的行为很大程度上由 agent-core/src/orchestrator/prompts/system.md 塑造其中几条设计非常值得学习事实必须可溯源每条输出数据都必须来自本次会话实际抓取的页面严禁用训练数据脑补完整性优先要求拿到全部数据而不是样本抓取列表后必须自检页面声称总数 vs 实际提取数失败模式清单专门列出看到第一页就觉得够了一个字段没找到就假设不存在等典型偷懒模式并逐条告诉模型请反着做工具降级策略优先用带query参数的 scrape 做定向提取只有登录墙、无限滚动等场景才动用成本更高的 interact浏览器自动化。 提示词即产品。这份提示词本质上把一个资深爬虫工程师的避坑笔记翻译成了模型可执行的策略。三、工具箱五类核心工具的分工 ️智能体可调用的工具在 agent-core/src/toolkit.ts 与 agent-core/src/tools.ts 中组装工具用途使用策略search发现相关页面不知道 URL 时先用它scrape抓取页面内容优先加query参数做定向提取保持上下文精简interact浏览器自动化点击、填表、翻页仅在 scrape 拿不到数据时使用有 60 秒超时保护bashExec数据处理jq、awk、sed、grep 等边抓边存到/data/目录避免数据丢失formatOutput输出最终 JSON / Markdown编排器专属是任务完成的标志性动作值得注意的是interact被额外包装了一层超时机制见 agent-core/src/toolkit.ts防止卡死的浏览器会话拖垮整个循环——这正是执行环节的工程化细节。四、观察环节的硬约束schema 校验门禁 观察不只是看模型怎么说而是用代码强制校验。在 agent-core/src/agent.ts 中formatOutput被包了两道门禁数据收集门禁如果任何数据工具scrape/search/interact 等还没返回过有效数据直接拒绝formatOutput调用并返回错误提示先收集数据再输出——从根上杜绝拿着空壳数据交卷Schema 修复门禁当用户指定了 JSON schema每次formatOutput都会先经过 agent-core/src/schema-validate.ts 校验字段缺失或多出都会返回schema_mismatch错误告诉模型缺了哪些字段、还剩几次修复机会最多 3 次。这种提示词软约束 代码硬约束的双保险是该项目结构化输出稳定性的关键。五、并行扩展spawnAgents 与子智能体 ⚡当任务涉及 5 个以上互相独立的目标比如同时调研 5 家公司的定价页编排器会调用spawnAgents派发并行 worker实现在 agent-core/src/worker/index.ts最多6 个worker 并行maxWorkers每个最多 30 步、5 分钟超时worker 只拿到search、scrape、bashExec——没有 interact因为浏览器会话太重不适合并行每个 worker 的实时进度步数、token、当前工具通过workerProgress上报UI 可以展示每个小弟干到哪了。而用户自定义的专家型子智能体如定价分析师财报分析师则定义在 agent-core/src/orchestrator/sub-agents.ts每个子智能体可以拥有独立的模型、指令、工具子集和预加载技能。官方示例 agent-core/examples/3-parallel-subagents.ts 展示了如何并行对比三款 AI 编码工具的价格与特性。六、Skills 机制按需加载的站点操作手册 Skills 是本项目最有特色的设计之一。每个 Skill 是一个SKILL.md文件存放在 agent-core/src/skills/definitions/内置了 6 个pricing-tracker定价页提取、e-commerce电商抓取、financial-research财报调研、deep-research、competitor-analysis、structured-extraction。它的工作方式是渐进式加载避免一次性塞爆上下文系统提示词里只放每个技能的一行目录见 agent-core/src/orchestrator/prompts/skills.md模型需要时才调用load_skill加载完整手册工具实现在 agent-core/src/skills/tools.ts更妙的是lookup_site_playbook每个技能目录下可放sites/子目录存放站点专属手册如 financial-research/sites/sec-gov.md按域名自动匹配告诉模型该站点的 URL 模式、API 端点、翻页方式与坑点。技能发现逻辑在 agent-core/src/skills/discovery.ts支持用户传入自定义skillsDir意味着你可以把自己的抓取经验沉淀为可复用的技能文件。七、长任务保障上下文压缩与失败恢复 长时间调研会让对话历史逼近模型的 token 上限。agent-core/src/orchestrator/compaction.ts 提供了自动压缩当输入 token 达到模型上限的75%时触发由另一个模型把完整对话压缩成结构化摘要含已抓取的 URL、已收集的数值、缺失字段、下一步精确动作等 8 个板块压缩失败也不中断任务仅打印警告继续运行——压缩是尽力而为的优化而非正确性前提。配合 worker 的 5 分钟超时、404 不重试、/data/增量落盘等策略整个循环具备了相当强的长任务韧性。八、总结这套架构教给我们什么 设计点解决的问题规划-执行-观察循环 步数上限让 AI 自主推进又有刹车提示词软约束 代码硬门禁结构化输出不靠求模型而是逼模型Skills 渐进式加载经验可沉淀、上下文不爆炸子智能体并行 工具分级独立任务提速重操作浏览器留在主线程75% 阈值自动压缩长任务不失忆如果你想动手体验可以克隆仓库后运行模板git clone https://gitcode.com/gh_mirrors/weba/web-agent然后按 README.md 中的两步命令安装 CLI 并生成项目即可跑起一个属于自己的 Web 调研智能体。赞分享【免费下载链接】web-agent Open-source web data agent optimized for structured web research项目地址https://gitcode.com/gh_mirrors/weba/web-agent点击查看免费下载相关推荐RocketRide Deep Agent 节点深度解析基于 Deep Agents 的规划型 Agent 与层级子代理编排RocketRide Deep Agent 节点深度解析基于 Deep Agents 的规划型 Agent 与层级子代理编排 RocketRide 的 age人工智能大模型数据工程后端RAG本地部署MCP 服务前端Qwen2.5-7B-Instruct安全使用指南内容过滤、风险评估与伦理考量Qwen2.5 7B Instruct安全使用指南内容过滤、风险评估与伦理考量 Qwen2.5 7B Instruct是一款功能强大的AI语言模型在享受其智jev-ultrafast浏览器Agent主循环完全解析从页面观察到动作执行一篇讲透jev ultrafast浏览器Agent主循环完全解析从页面观察到动作执行一篇讲透 jev ultrafast 是一个追求 最快、最便宜 的浏览器 AgenAI Agent浏览器控制人工智能AI 应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考