Install
openclaw skills install @funewa/amazon-variant-analysisopenclaw skills install @funewa/amazon-variant-analysisscripts/ari.py。在 Skill 根目录执行,例如
python scripts/ari.py check;每次会话先跑一次 check。references/reference.md。python scripts/ari.py setup——它会给出一个授权链接,
用户在浏览器登录(或注册)后点一下「授权」,Key 自动获取并保存到本机,无需复制粘贴。
也可用环境变量 ARI_API_KEY,或 python scripts/ari.py configure 手动粘贴。
setup 期间把命令打印的授权链接原样转告用户,等待命令自行完成;不要替用户注册或登录。401 / ARI_UNAUTHENTICATED:停止并引导重建 Key。402 / ARI_INSUFFICIENT_CREDITS:保留已有结果,引导充值;不得自动重试付费操作。ARI_EMAIL_NOT_VERIFIED:引导先到用户中心验证邮箱。voc <ASIN> 一次报出采集 + VOC 总费用。用户确认后追加
--confirm,命令会自动采集、等待、分析和归档。voc <ASIN> --confirm;否则必须先报价。禁止替用户默认确认。ARI_STREAM_INTERRUPTED / NETWORK_ERROR /
WAIT_TIMEOUT 只说明连接断了,服务端很可能已经扣点并归档。必须先跑免费的
reports --asin <ASIN> --limit 1 确认是否已生成新报告,确认没有生成才可重跑 --confirm。amz_uk 等)采集只能使用付费积点(订阅套餐周期积点与增量包均可),
赠送积点(注册礼/任务奖励等)不可用。以 voc / collect 报价里的
sufficient / usableBalance 为准,不要用账户总余额判断是否够用。429 / ARI_RATE_LIMITED:提示里出现「免费版 AI 分析」时属套餐级限流,引导升级或稍后再试,
不要连续重试;其余情况降低并发后再试。ARI_COLLECTING:采集尚未产出足够数据,本次未扣点,等待提示的秒数后重试即可。success:false 或 failedParts 非空时,只能使用其中成功返回的部分。update 字段时,如实转告用户有新版及升级入口,然后继续当前任务——
版本旧不影响免费查询。426 / ARI_SKILL_TOO_OLD:当前版本存在会导致重复扣点的缺陷,服务端已禁止其执行
付费操作。停止付费命令,引导用户更新;免费查询仍可继续。check,确认账户、邮箱验证状态和可用积点。voc <ASIN> --site <站点> 取得总报价。voc <ASIN> --site <站点> --confirm。该命令会自动补齐采集、
等待任务完成、生成 VOC、保存到用户中心,并返回完整正文与 reportUrl。schedule。
如果该 ASIN 还是 manual,主动告诉用户——这份报告只是今天这个时点的快照,
数据会停在最后一次采集那天;开启 weekly 后新评论持续进库,下次生成报告时
还能给出「相比上一份:哪些问题解决了、哪些是新冒出来的、哪些还在恶化」。
报出月成本(schedule --set 的返回里带 _costNote)让用户自己决定,
得到明确同意后才执行 schedule --set weekly --asin <ASIN>。不要替用户默认开启。collect / charts / deepdive / analyze。analyze --type compare --asin <目标> --competitor <竞品> 取价,用户确认后再追加 --confirm。
竞品用 competitors --id <产品id> --add <竞品ASIN> 绑定后会按周自动采集,
攒够几周就可以用免费的 radar --id <产品id> 看本品 vs 竞品的走势对比。reports / report --id 读取已归档报告;report --id 返回 deltaMd 时
必须先讲环比再讲正文——用户最想知道的是「跟上次比变了什么」。
_deltaStatus=generating 表示还在后台算,等十几秒重跑即可,不是失败。
export --report-id <ID> 可导出 Markdown/HTML,export --asin <ASIN> 导出评论 CSV
(付费套餐功能,不扣积点)。check 之后顺手跑一次 alerts:有未读差评预警时主动告诉用户,
并提议用 workbench 定位差评、advise --review-id <ID> 生成回复建议(付费,
同样先报价、用户确认后才 --confirm)。
workbench 默认按严重度排序,返回里的 stats 给出「待处理 / 本周新增 /
本月已处理」——汇报时先说这三个数字再说具体条目,让用户看见自己在推进。reviews --asin <ASIN> --stars negative --sort helpful
(高赞差评榜,免费):买家在商品页最先看到的就是这几条。带图差评加 --with-images。benchmark --asin <ASIN>;要看类目排行
(leaderboard)时先报价,确认后 --confirm(类目无数据不收费)。operations 命令;不得把旧 VOC、alerts 或普通 reports 冒充商品运营结果。operations capabilities,只使用服务端返回的 workflow/focus;专属变体包
还必须遵守根目录 skill-defaults.json 的固定 workflow/focus,禁止接收任意 prompt。operations profile 检查商品字段,再运行 operations quote。评论不足时只建议
用户使用现有 collect,不得隐式采集;商品关键字段不足时不得生成或扣点。requestId 执行 operations run --confirm,不得换 requestId 或修改 workflow/focus。operations status --request-id <原requestId> 精确查询;completed 时使用其 reportId,
quoted/running/frozen 时继续等待,released/failed 时说明错误并请求用户决定下一步。watch 是独立的确定性监控管理入口,不是付费 operations workflow。使用前先运行
operations capabilities,确认当前账户的 watchEnabled 为 true;开关或灰度未开放时
必须停止并提示用户,不得回退到其他工作流。
本节是 1.4.1 的 CLI 契约说明;对应 Wave E 候选仍为 planned,未表示已公开上架或所有账户可用。
watch create 只接受当前账户已订阅的主 ASIN。可选 --competitor 仅在该竞品已通过当前用户
的主品/竞品关系绑定、且站点与主品相同后才允许创建竞品 watch;不得用临时 ASIN、全局商品资料
或其他参数绕过归属校验。Wave E 的 competitor-change listing 仍为 planned,未公开上架。
watch list、watch digest 和 watch events 是只读操作,可按用户问题直接读取;不得把读取
结果当成用户同意变更监控。
watch create、watch pause、watch resume 和 watch delete 都是管理动作,只有用户明确
要求对应动作时才执行;“持续监控指定 ASIN + 周期”可视为明确的 create 意图,但“帮我看看”
或“有什么变化”等表述仍按只读处理。执行 delete 前必须向用户复述并核对准确的 watch-id;
ID 不明确或目标不唯一时先停止询问。删除只移除该用户的监控关系,不删除共享商品资料、快照、
评论或历史报告。
固定 CLI 入口如下:
python scripts/ari.py watch list
python scripts/ari.py watch create --asin B0XXXXXXXX --site amz_us --schedule weekly
python scripts/ari.py watch create --asin B0XXXXXXXX --competitor B0YYYYYYYY --site amz_us --schedule weekly
python scripts/ari.py watch pause --watch-id <watchId>
python scripts/ari.py watch resume --watch-id <watchId>
python scripts/ari.py watch delete --watch-id <watchId>
python scripts/ari.py watch digest --watch-id <watchId> --period 7d
python scripts/ari.py watch events --watch-id <watchId>
create/resume 只使用服务端支持的 weekly 或 daily;daily 受套餐
dailyProductWatch 权益限制,Free 不开放自动日扫描。修改周期前先向用户说明套餐额度和
扫描成本,不能默认开启监控。
digest 只汇总商品快照、确定性 Diff 和已有评论计数,返回 creditsUsed: 0;自动扫描和
事件读取不调用付费 LLM、不扣 AI 积点。它不提供小时级或实时价格、销量、库存、广告、订单
或真实退货率数据。
AI 周报仍使用 operations 的 weekly workflow,必须先报价,只有用户明确确认后才可
operations run --confirm;不得把周报混入免费的 watch digest。
站点默认 amz_us;可选 amz_uk/amz_de/amz_jp/amz_ca/amz_fr/amz_es/amz_it。
charts / deepdive 的 --days 默认 0(全部历史);传非 0 时图表只覆盖该窗口,
解读占比和趋势必须带上这个窗口说明。
📊 数据直读、🔍 数据推理、
💡 策略建议。策略建议不得标为数据直读。reviewCount < 50 时在报告顶部标注小样本提示;单次提及只能作为方向性线索。--language en 等,CLI 默认是 zh。按有数据的部分输出:数据概览 → 痛点与低星原因 → 好评与购买动因 → 用户画像与场景 → 趋势 → 竞品差异 → Listing 建议 → 产品改进优先级 → 数据来源与积点用量。
报告顶部加入:
数据基于 ARI 已采集的 Amazon 评论样本(截至当前查询时间),仅供经营决策参考; 小样本或采集窗口有限时应结合更多信源验证。
结尾列出使用的 CLI 命令、ASIN/站点、样本量、统计窗口(_window.days)、报告返回的
reportId 与 creditsUsed,以及当前余额。输出含 reportUrl 时必须在结尾附上,
固定文案:「在线查看图表版完整报告 / 导出:」(需登录报告所属账户)。