Skill Amazon Review Request — 亚马逊订单评论请求
v1.0.0使用 SP-API 向符合条件的已发货订单发送评论请求,支持重试、去重、资格检查和可选的模拟运行模式。
0· 276·1 当前·1 累计
安全扫描
OpenClaw
可疑
medium confidence该技能的代码和指令合法地需要亚马逊 SP-API 凭据(以及可选的 Supabase 密钥),但发布的元数据没有声明这些敏感要求,这是一种不一致,应在安装前解决。
评估建议
在作者修复清单以声明所需的敏感凭据之前,不要安装或启用此技能。具体要求:(1)确认作者添加必需的环境变量(SP_API_REFRESH_TOKEN、SP_API_CLIENT_ID、SP_API_CLIENT_SECRET、SP_API_MARKETPLACE_ID)或在注册元数据中记录 SP_API_PATH;(2)确认 Supabase 集成是否可选,如果使用,发送到 Supabase 实例的数据是什么(URL/密钥是敏感的);(3)在隔离环境中本地检查脚本并首先运行 --dry-run 以验证行为;(4)避免将凭据放在全局可读文件中——更好地使用环境变量或安全密钥存储;(5)如果计划通过 cron 计划运行,请在专用、最小权限帐户下运行并监视网络活动。清单和运行时要求之间的不匹配是主要的红旗——一旦纠正和记录,技能将与其声明的目的保持一致。...详细分析 ▾
⚠ 用途与能力
该技能的声明目的为发送 SP-API 评论请求,脚本需要 SP-API 凭据(刷新令牌、客户端 ID/密钥、市场 ID)和可选的 Supabase 凭据。然而,注册元数据没有声明任何必需的环境变量或主凭据。这一不匹配存在问题:用户可以合理地期望清单声明此技能所需的敏感凭据。
⚠ 指令范围
SKILL.md 和脚本指示代理读取 ~/amazon-sp-api.json(或 SP_API_* 环境变量),以及可选的 ~/supabase-api.json(或 SUPABASE_API_PATH)。运行时指令还写入 data/下的日志,并建议一个从工作空间运行脚本的 cron。这些行为与声明的目的保持一致,但指令引用了文件系统路径和未在清单中声明的可选外部(Supabase)端点——该缺口应被修复。脚本执行 Amazon 端点的网络调用,如果配置了 Supabase,则还会执行 Supabase REST 端点的调用。
✓ 安装机制
这是一个仅有指令的技能,带有一个已发货的脚本,没有安装规格。从包装/安装的角度来看,这是低风险的,因为安装期间没有下载或提取任何内容。代码将在执行时运行,因此应审查运行时行为(已完成)。
⚠ 凭证需求
脚本需要高度敏感的凭据(SP_API 刷新令牌、客户端 ID/密钥、市场 ID)并可能使用 Supabase URL/密钥。这些凭据与声明的任务成比例,但清单没有声明它们。缺乏声明的必需环境变量/主凭据使得安装者无法进行权限审查和最小权限推理。
✓ 持久化与权限
该技能不请求 always: true 或其他高级平台权限,也不修改其他技能。它在 data/ 下写入本地日志/跟踪文件,这是其功能的预期行为。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/3/2
["发布 skill-amazon-review-request 的初始版本。","使用 SP-API Messaging API 向符合条件的已发货订单发送评论请求。","包括重试逻辑、去重、资格窗口强制执行(5-30 天旧订单)和模拟运行模式。","提供跟踪和文本日志以实现透明度和故障排除。","简单的 CLI 使用方式,支持模拟运行和实时请求。","设计为易于通过 cron 每日计划。"]
● 无害
安装命令 点击复制
官方npx clawhub@latest install skill-amazon-review-request
镜像加速npx clawhub@latest install skill-amazon-review-request --registry https://cn.clawhub-mirror.com
技能文档
发送 Amazon 订单评论请求(通过 SP-API Messaging API) 具有重试逻辑、去重、资格窗口强制执行和模拟运行模式的增强版。
前提条件
- 在
~/amazon-sp-api.json中的 SP-API 凭据:
{
"refreshToken": "...",
"clientId": "...",
"clientSecret": "...",
"marketplaceId": "A2VIGQ35RCS4UG"
}
- 或设置环境变量:
SP_API_REFRESH_TOKEN、SP_API_CLIENT_ID、SP_API_CLIENT_SECRET、SP_API_MARKETPLACE_ID - SP-API 应用必须授予 Messaging 权限
使用方法
# 模拟运行 — 查看将要发送的内容(不实际发送)
node scripts/request-reviews.js --dry-run
# 实际运行
node scripts/request-reviews.js
行为
| 功能 | 详情 |
|---|---|
| 资格窗口 | 仅处理 5-30 天旧的订单(Amazon 允许的窗口) |
| 去重 | 跳过已在跟踪日志中标记为 sent 的订单 |
| 重试逻辑 | 对 5xx / 429 响应进行最多 3 次重试,间隔 5 秒 |
| 限速 | 请求之间暂停 1.1 秒 |
| 模拟运行 | --dry-run 标志 — 日志记录将要发送的内容,不进行 API 调用 |
| 跟踪日志 | data/review-requests-log.json — 订单状态、发送时间、尝试次数 |
| 文本日志 | data/review-requests.log — 时间戳的 human-readable 运行日志 |
跟踪日志模式
data/review-requests-log.json:
[
{
"orderId": "123-4567890-1234567",
"sentAt": "2026-03-01T10:00:00.000Z",
"status": "sent", // "sent" | "failed" | "skipped"
"attempts": 1,
"reason": "optional error string for failed/skipped"
}
]
总结输出
``=== DONE | Sent: 12 | Skipped: 4 | Failed: 1 ===模拟运行:
=== DONE [DRY RUN] | Would send: 15 | Skipped: 4 ===
计划(推荐)
通过 cron 每日运行:
bash
# UAE 时间 9am (UTC+4) = UTC 5am
0 5 * cd $HOME/.openclaw/workspace && node skills/skill-amazon-review-request/scripts/request-reviews.js >> data/review-requests-cron.log 2>&1
`区域注意事项
脚本目标为 sellingpartnerapi-eu.amazon.com(EU 端点,覆盖 UAE 市场)。对于其他区域,修改为 sellingpartnerapi-na.amazon.com 或 sellingpartnerapi-fe.amazon.com`。数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制