● Agent Online 自然语言驱动的采集引擎

用一句话,从任何网站
采集结构化数据

描述你要什么。Agent 打开真实浏览器,自己看页面、点按钮、翻页提取,交付 JSON 与全程截图。

Standard zh-CN
agent://botauto/run
00:00▸ navigate news.ycombinator.com → 200 OK (1.2s)
00:03▸ observe 30 story rows detected · selector ".titleline > a"
00:05▸ extract fields: title, link · scope: first 5
00:08▸ done 5 records · 3 steps · 8.4s total

Build once, watch it think.

Agent 每一步都看着当前页面现场决策——元素改名、页面改版,它自适应重新定位。这是自我修复的来源。

STEP 1

你描述

一句话说清目标:网址、字段、数量、翻页方式。

STEP 2

Agent 探索

LLM 读取页面快照(可交互元素 + 文本),输出下一步动作,Playwright 执行,观察回传,循环直至完成。

STEP 3

数据交付

结构化 JSON + 每步截图 + 完整轨迹,控制台可回放全过程。

九个动作原语

了解 Agent 会做什么,有助于写出更精确的任务描述。

动作作用关键参数
navigate打开网址url
click点击元素selector(CSS / XPath)
type输入文本selector, text
scroll滚动页面direction, amount
wait等待seconds
extract按选择器批量提取fields(支持 a@href
extract_textLLM 直接从文本抽取instruction
screenshot截图留痕
done判定完成并交付result

任务示例

复制到控制台即可运行。

# 新闻采集
打开 https://news.ycombinator.com,
采集首页前 5 条新闻的标题和链接
# 带搜索
打开 https://www.baidu.com,
搜索"Playwright 教程",
采集第一页前 8 条结果的标题和链接
# 翻页采集
打开 quotes.toscrape.com,
点击 next 按钮翻页,
采集前 3 页的名言、作者和标签
# 自由文本抽取(免选择器)
打开 https://python.org,
用 extract_text 提取首页主要新闻标题列表

REST API

把采集能力接入你自己的系统。

# 提交任务(立即返回 job_id,后台异步执行)
curl -X POST http://38.47.104.191:8000/api/tasks \
  -H "Content-Type: application/json" \
  -d '{"prompt": "打开 example.com 抓取页面标题"}'

# 轮询结果(直到 status = success / failed)
curl http://38.47.104.191:8000/api/jobs/<job_id>

# 任务列表 / 健康检查
curl http://38.47.104.191:8000/api/jobs
curl http://38.47.104.191:8000/health

Prompt 技巧

技巧说明
给完整 URLhttps://news.ycombinator.com 而不是"HN 官网",省去搜索步骤
明确字段名"采集标题、作者、评分"——Agent 按字段输出 JSON
明确数量范围"前 10 条""第 1 页",避免 Agent 犹豫
说清翻页策略"点击下一页按钮,采集 3 页"或"滚动到底部加载更多"
一次一个站点多站点拆成多次运行,成功率更高
需要登录的站点暂不支持(会话保持在路线图)。遇到反爬挑战页(如 DataDome 滑块)Agent 无法自动通过,可在任务中注明"遇到验证码则停止"。

配置

部署目录 backend/.env,改完重启服务。

变量说明当前值
LLM_BASE_URLOpenAI 兼容接口https://llm-team.fzzixun.com/v1
LLM_MODEL模型(越强决策越准)gemini-3.1-pro-preview
HEADLESS无头模式true
MAX_STEPS单任务最大步数25
ACTION_DELAY_MIN/MAX每步随机延时(秒)0.5 / 1.5

常见问题

任务一直 running?

正常 1~2 分钟完成。超 5 分钟多为目标站点慢或 LLM 超时,重新提交即可。日志:backend/app.log

提取条数比预期少?

懒加载未完成就提取了。任务里加一句"滚动到底部再提取"。

结果是什么格式?

JSON 数组,字段名即 prompt 中描述的名称,控制台可一键复制。

和 BrowserAct 的差异?

核心链路一致。尚未实现:定时调度、代理池、验证码求解、模板市场。

合规 — 仅采集公开可见数据;遵守目标网站服务条款与 robots 协议,勿用于绕过付费墙、大规模攻击性请求或侵犯个人隐私的场景。