如何启用 last30days-skill 的 Trustpilot 评论数据源做消费品牌研究?
【免费下载链接】last30days-skillAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill
做消费品牌研究时,last30days-skill 的 Reddit、X、YouTube 等默认数据源覆盖的是社区讨论和传播信号,而 Trustpilot 上的 TrustScore 与评论摘要属于消费者评审证据——这个数据源在 last30days 中是opt-in,默认关闭(README 原话:"Trustpilot ships opt-in for consumer-brand research")。本文说明如何安装它依赖的 CLI、把数据源启用,并跑出一篇带有评论证据的品牌研究报告。
前提:安装 trustpilot-pp-cli
Trustpilot 源不需要 API key,但它依赖trustpilot-pp-cli这个二进制在 PATH 上。首次运行的 setup 流程不会自动安装它,需要按需安装(CONFIGURATION.md 数据源表中的原话:"NOT auto-installed; install on demand"):
npx -y @mvanhorn/printing-press-library@0.1.16 install trustpilot --cli-only这条命令会通过 npx 联网下载 Printing Press 包并安装 CLI,没有其他副作用。
两个必须了解的行为边界(来源:trustpilot.py 模块文档与 CONFIGURATION.md):
- WAF cookie 收割:Trustpilot 位于 AWS WAF 之后。CLI 首次取数时会启动一次无头 Chrome(约 10 秒)收割
aws-waf-token,之后通过普通 HTTP 重放直到过期。没有可用的 Chrome 时,数据源降级为空结果,不会报错。 - 自动化环境:在 cron、CI 等 headless 场景设置
LAST30DAYS_TRUSTPILOT_NO_BROWSER=1,可以彻底禁用这次浏览器收割,Trustpilot 会安静地降级为空,绝不拉起浏览器。
启用数据源:两条路径,任选其一
路径一(按次启用,推荐):--trustpilot-domain
Trustpilot 页面以域名为键(例如www.thriftbooks.com),不是以公司名为键——裸公司名会 404。把解析好的域名通过--trustpilot-domain传给引擎:
python3 skills/last30days/scripts/last30days.py "ThriftBooks" \ --trustpilot-domain=www.thriftbooks.com传递这个 flag 会自动为该次运行激活Trustpilot 源,因此不需要再写INCLUDE_SOURCES=trustpilot。域名按字面(verbatim)使用并绕过引擎的品牌形态门禁(brand-shape gate),所以多词公司名(例如 "Stanley Steemer carpet cleaning")也能正确命中。
路径二(持久启用):.env中的INCLUDE_SOURCES
把数据源写入用户级配置(两处配置位置中默认加载~/.config/last30days/.env):
# ~/.config/last30days/.env INCLUDE_SOURCES=trustpilot持久启用后,裸公司名会在运行时通过 CLI 的search命令自动解析成域名,再执行查询。
两条路径之外还有一条否决规则:EXCLUDE_SOURCES=trustpilot始终优先。无论 flag 还是INCLUDE_SOURCES,一旦设置了排除项,Trustpilot 本次运行不会出现。
如何确定公司的 Trustpilot 域名
这是整个流程里最容易被做错的一步,SKILL.md 的 Step 0.5d 给出了操作约定:
- 通常你已经有了:品牌官网的裸主机名就是域名。如果你已经抓过官网(SKILL.md 中 first-party positioning 步骤会访问它),顺手记下主机名即可。
- 没有时做一次查找:
WebSearch("{TOPIC} official site"),从官方站 URL 中取出域名。 - 名字有歧义时(相似名或同名公司),显式域名是"保证命中正确公司并开启数据源"的唯一方式,应当直接解析并传入
--trustpilot-domain。 - 没有 flag 时的自动解析有前提:引擎只有在 Trustpilot已经激活(
INCLUDE_SOURCES=trustpilot或--search包含它)时才会自己用 CLI 搜索做"名称 → 域名"解析。headless--auto-resolve填入的只是一个提示(hint),提示本身不会激活数据源。
哪些话题会真正触发 Trustpilot 取数
即使数据源已激活,引擎还有一个品牌形态门禁:只有"公司/品牌形状"的话题才会调用 CLI——包含域名样式的 token(如chownow.com),或是不超过 2 个词、不含通用词的大写专有名词。测试文件 中的判定样例:
- 会触发:
ChowNow、chownow.com、Nothing Phone、OpenAI、nothing.tech - 保持静默:
AI coding agents(3 词 + 通用词)、agent memory(小写通用词)、Golden State Warriors(3 词)、best phones(通用词) - 单词技术名同样静默:
Python、React、Docker、Kubernetes等——它们被判定为技术查询而非公司评审意图;但写域名docker.com仍然通过
显式传入--trustpilot-domain可以绕过这道门禁,因为"用户主动给出域名"本身就是品牌意图的证明。另外两种跳过情形:话题是人物、事件或抽象概念;或你刻意设置了EXCLUDE_SOURCES=trustpilot。
如果你走的是 slash command 流程(/last30days),域名解析由宿主模型在 SKILL.md 的 Step 0.5d 完成并传给引擎;Resolved 展示块中出现Trustpilot: {domain}一行,说明该次运行已带上域名并激活了数据源。
多品牌对比时的启用方式(可选分支)
做 "A vs B" 竞品对比时,对比对象的域名写在--competitors-plan各自实体条目的trustpilot_domain字段里;主话题的域名必须放在外层的--trustpilot-domainflag 上——引擎不会从 plan 中读取主话题条目。两个 flag 任一出现都会为该次运行激活 Trustpilot。
验证:确认数据源可用、确认结果落地
运行前,用 doctor 做四状态审计(WORKING / TURNED ON - UNVERIFIED / NOT WORKING / COULD BE ON),每个数据源一行,需要下载二进制的数据源有专门的 CLI-health 区块,未就绪的项会给出确切修复方法:
python3 skills/last30days/scripts/last30days.py doctordoctor 会把 Trustpilot 与trustpilot-pp-cli的依赖关系列出来(doctor.py 中CLI_DEPENDENCIES登记了"trustpilot": "trustpilot-pp-cli")。需要机器可读格式加--json,需要带边界的真实探测加--probe(只探免费/CLI 源,不消耗任何计费的 credit)。另一种更轻量的检查是--preflight(人类可读的权限摘要)或--diagnose(完整 JSON 诊断),两者都不读浏览器 cookie、不发起真实探测。
运行后,报告中的 Trustpilot 条目按 trustpilot.py 的字段映射生成:标题为{品牌名}: TrustScore {分数},正文是 Trustpilot 的 AI 评论摘要(它本身已平衡正负面情绪),engagement 携带评论数量,why_relevant形如Trustpilot: TrustScore X across N reviews。如果某次运行返回得比预期少,运行:
python3 skills/last30days/scripts/last30days.py doctor --postmortem它读取上一次的last-report.json(不做任何网络调用),按数据源给出 Failed / Partial / Succeeded / Skipped 以及细节与修复提示,用来定位 Trustpilot 这一路到底发生了什么。
边界与限制
- Trustpilot 免费、无 API key;成本模型是"一次性无头 Chrome 收割 + cookie 重放"。
- 任何 CLI 失败(无 Chrome、无法重新收割的过期 cookie、超时)都降级为空结果,不会中断整次研究。
- 会话在搜索 fan-out 前统一预热一次;过期后会做一次约 10 秒的重收割。
- 设置了
LAST30DAYS_TRUSTPILOT_NO_BROWSER=1的自动化运行永远不会拉起浏览器,Trustpilot 输出为空——这是文档明确的设计,不是故障。
更深入的行为细节(搜索命中的主导性判定、域名缓存、会话 TTL)可以在 trustpilot.py 和 test_trustpilot_source.py 中核对。
【免费下载链接】last30days-skillAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考