Retail Scrapers把需要判断的工程工作与可重复执行的抓取工作分开:
- 仓库内置Skill负责诊断、开发、维修和验证adapter;
- Python工具包负责在本地、CI或调度系统里运行已经验证的adapter。
因此,只有接入新渠道或网站改版时需要Agent,每日抓取不需要Agent重新分析网站。
确定性抓取安装 Python 包即可。正式 wheel 会同时包含仓库里的 Agent Skill。Codex 用户可以 直接安装;其他 Agent 可以显式指定自己的 Skill 父目录:
retail-scrape skill install --agent codex
retail-scrape skill install --target /path/to/agent/skills从源码仓库使用时,也可以直接让 Agent 读取 skills/retail-scrapers/SKILL.md。
用户只需提供渠道名称、公开网址和需要的能力:
接入 https://retailer.example,我需要catalog和每日价格,保留当地原生币种。
确定性诊断会返回 exact_adapter、market_config 或 new_adapter。写代码前,Agent 必须
记录最终分类:
| 分类 | 含义 | 动作 |
|---|---|---|
exact_adapter |
零售商、市场、域名和能力都已有支持 | 直接运行注册adapter |
market_config |
已有共享引擎,只有稳定市场配置不同 | 增加配置和薄adapter类 |
pattern_reuse |
没有同零售商引擎,但匹配已验证公开数据模式 | 生成骨架并实现薄adapter |
new_adapter |
复用证据不足或会削弱校验 | 保持新adapter隔离 |
因此,pattern_reuse 是 Agent 基于进一步证据作出的判断,不是前端框架指纹自动产生的结果。
随后 Agent 保存脱敏证据、编写离线测试、运行项目检查,最后才执行一页、最多三条商品的
live smoke。验证完成后,它就成为普通渠道 ID 和 ChannelProfile。
只检查URL和注册表,不访问目标网站:
retail-scrape assess https://retailer.example --format markdown如需生成可以直接复制给 Agent 的任务:
retail-scrape assess https://retailer.example --format agent确认访问边界后,可以显式执行一次公开HTML请求:
retail-scrape assess https://retailer.example --probe --format json探测可以发现JSON-LD、Algolia、tRPC、GraphQL、Next.js、Shopify或Magento等页面线索, 但不能证明API语义、分页完整性、当前价含义、会话要求或使用边界,这些仍需Agent继续验证。
获得正面证据后,选择对应骨架:
retail-scrape scaffold retailer-cc \
--display-name "Retailer Country" \
--country CC \
--strategy api-first \
--with-fixtures目前提供blank、api-first、html-first、jsonld-first和browser-first。策略只决定
起始结构和提示,不能替代渠道自己的接口、selector、商品ID、完整性校验和测试。
注册完成后无需Agent:
retail-scrape catalog --channel retailer-cc --output output/catalog.jsonl
retail-scrape prices --channel retailer-cc --input targets.csv --output output/prices.jsonl如果后续smoke test发现网站改版,再调用Skill进入维修模式,修改已有adapter,不重复创建。