返回技能市场

星图AI·客户洞察(VOC),帮助全球电商卖家进行产品改进、新品开发、市场调研!核心能力:获取亚马逊评论、AI深度分析差评、精准量化高频问题、挖掘高星隐性差评、生成改进建议、追踪评论趋势、增量更新。

版本: 1.0.0分类: 开发工具
中文

SKILL.md

AstrMap Review Insights Skill

语言使用规范

  • 若用户使用中文输入,以中文回复
  • 若用户使用非中文(如英文)输入,以英文回复

配置

API Key

所有 API 调用均需要 API Key 进行身份认证。

说明:API 端点固定为 https://api.astrmap.com,不可配置。

推荐方式:在 ~/.zshrc 或 ~/.bashrc 中设置环境变量:

export CUSTOMER_INSIGHTS_API_KEY="your-api-key-here"

API Key 获取方式:打开 https://app.astrmap.com/ 登录(无账号可先注册),点击左下角用户菜单 → 接口密钥页面,创建并复制 API Key。

重要:若 CUSTOMER_INSIGHTS_API_KEY 环境变量为空,或用户未提供 API Key,请先询问用户:

「请提供您的 AstrMap API Key(可前往 https://app.astrmap.com/ 登录后,在左下角用户菜单 → 接口密钥 页面创建获取)」

获取后,通过 --api-key 参数传入后续所有命令。

安全提示:本 Skill 将 API Key 发送至 AstrMap 服务器(api.astrmap.com)进行身份认证,用于分析您指定的亚马逊产品评论数据。API Key 不会用于访问其他服务。

功能分层说明

功能需要采集通道(Chrome 浏览器扩展)需要 API Key
查询已完成任务的分析结果❌✅
创建仅采集任务✅✅
创建自动分析任务✅✅
增量获取✅✅
手动触发分析❌✅

提示:如果您只需要查询已完成的分析结果,可以直接使用 API Key,无需安装任何采集组件。

采集通道:Chrome 浏览器扩展

创建任务需要采集通道在线。AstrMap 的采集通道为 Chrome 浏览器扩展(网站已不再提供桌面客户端下载)。

check_device 返回的在线端点带 endpoint_type 字段:extension 为浏览器扩展, desktop 为存量桌面客户端安装(历史版本,已停止分发)。 无论哪一种,只要 is_alive=true 即可创建任务。

采集通道不在线时处理流程(check_device 返回 is_alive=false,endpoint_type/endpoint_id 为空,属正常响应而非错误码):

  1. 告知用户:「当前没有在线的采集通道,需要先安装并登录 AstrMap 浏览器扩展。」
  2. 引导安装:指引用户前往 https://www.astrmap.com/#download 下载扩展,并按页面步骤安装
  3. 引导登录:扩展安装后,用 Chrome 登录亚马逊买家账号(勿使用正在做业务的卖家账号),并确保亚马逊访问畅通
  4. 重新检测:再次执行 check_device,确认返回 is_alive=true 后再创建任务

扩展安装指引

1. 获取下载链接

python scripts/api_client.py --action get_download_links

2. 安装步骤

  1. 下载后解压扩展包
  2. 打开 Chrome,访问 chrome://extensions/
  3. 开启右上角「开发者模式」
  4. 点击「加载已解压的扩展程序」
  5. 选择解压后的扩展文件夹完成安装

3. 安装后配置

扩展安装完成后,需要:

  1. 打开 Web 端 https://app.astrmap.com/ 并登录 AstrMap 账号
  2. 在 Chrome 中登录亚马逊买家账号(请勿使用正在做业务的卖家账号)
  3. 确保亚马逊访问畅通

安全与验证

详细的安全验证说明、隐私风险声明、Amazon 账号安全和 API Key 安全建议,请阅读 {baseDir}/references/security.md。

依赖安装

pip install -r requirements.txt

重要说明

积分规则

  • 创建任务(自动模式):免费获取亚马逊评论,AI 分析会扣除账户积分
  • 创建任务(仅采集模式):免费获取亚马逊评论,不扣除积分
  • 增量获取:获取最新评论并重新分析,扣除积分
  • 查询结果:查看已完成任务的分析结果,不扣积分

前置条件(仅创建任务时需要)

  1. 采集通道在线(Chrome 扩展已安装并连接,check_device 返回 is_alive=true)
  2. 已在浏览器中登录亚马逊买家账号(勿使用正在做业务的卖家账号)
  3. 确保亚马逊访问畅通

查询已完成任务的分析结果无以上限制,可直接调用。

Workflow

调用方式

python scripts/api_client.py --action <操作> [--参数...]

1. 检查设备在线

python scripts/api_client.py --action check_device --api-key "your-key"

返回:{is_alive: true, endpoint_id: "xxx", endpoint_type: "extension", status: "idle"}

endpoint_type 取值:extension(浏览器扩展)/ desktop(存量桌面客户端)/ web_session。

v2.2 字段更名:online → is_alive、device_id → endpoint_id,新增 endpoint_type。离线时 is_alive 为 false,endpoint_id / endpoint_type 为 null。

2. 创建任务

注意:创建任务会扣除积分。在执行创建任务命令前,必须先告知用户并等待确认: 「即将为您创建任务,当前账户剩余积分:{points}。本次任务将扣除积分,是否继续?」

创建任务流程:

  1. --action check_device → 检查设备在线状态
  2. --action get_points → 检查账户积分
  3. 告知用户积分消耗,等待用户确认
  4. 确认前置条件满足后,执行 --action create_task --asin <ASIN> --site <站点> [--is-auto false]

运行模式:

参数说明
--is-auto true(默认)自动模式:采集完成后自动执行 AI 分析
--is-auto false仅采集模式:采集完成后停在"待分析"状态

站点映射:US/CA/UK(英语)、DE(德语)、FR(法语)、IT(意大利语)、ES(西班牙语)、JP(日语)

命令示例:

python scripts/api_client.py --action create_task --api-key "your-key" --asin "B09V3KXJPB" --site US

3. 轮询任务状态

任务提交后,每隔 6 分钟 执行一次查询:

python scripts/api_client.py --action get_task_detail --api-key "your-key" --task-id "TSK_xxx"

状态流转:

自动模式 (is_auto=true):PENDING → DISPATCHING → COLLECTING → PROCESSING → ANALYZING → SUCCESS/FAILED/CANCELLED

仅采集模式 (is_auto=false):PENDING → DISPATCHING → COLLECTING → COLLECTED

各状态的提示语:

状态向用户展示
PENDING「任务已提交,等待调度中...」
DISPATCHING「正在分配设备...」
COLLECTING「正在获取亚马逊评论数据,请耐心等待(通常需要 20~120 秒)」
PROCESSING「评论数据获取完成,正在处理中...」
ANALYZING「数据处理完成,AI 正在分析中...」
SUCCESS「分析完成!正在为您获取结果...」
FAILED「任务失败,请检查设备状态和网络连接后重试」
CANCELLED「任务已取消」
COLLECTED「采集完成!已进入待分析状态」

若任务长时间(超过 18 分钟)未完成,提示用户检查采集通道(浏览器扩展)是否在线。

4. 获取分析结果

# AI 洞察摘要
python scripts/api_client.py --action get_ai_insights --api-key "your-key" --task-id "TSK_xxx"
# 分类标签分布
python scripts/api_client.py --action get_category_tag_distribution --api-key "your-key" --task-id "TSK_xxx"
# 基础统计
python scripts/api_client.py --action get_basic_statistics --api-key "your-key" --task-id "TSK_xxx"
# 差评列表
python scripts/api_client.py --action get_negative_reviews --api-key "your-key" --task-id "TSK_xxx" --page 1 --page-size 20

注意:查询已完成任务的结果不扣积分,也无前置条件限制。

5. 增量获取

注意:增量获取会扣除积分。在执行前必须先告知用户并等待确认。

增量获取流程:

  1. 检查设备和积分
  2. 告知用户积分消耗,等待确认
  3. --action create_incremental --task-id <task_id>
  4. 轮询任务状态(与创建任务相同)

6. 手动触发分析(仅采集模式)

仅采集模式 (is_auto=false) 的任务,采集完成后停在 COLLECTED 状态,需要手动触发 AI 分析:

python scripts/api_client.py --action trigger_analysis --api-key "your-key" --task-id "TSK_xxx"

状态流转:COLLECTED → PROCESSING → ANALYZING → SUCCESS

7. 好评分析(polarity="positive")

上述 Workflow 1-6 主要围绕差评侧 / AI 洞察。scripts/api_client.py 同时支持 polarity="positive" 拉好评原话、好评代表、好评标签分布——用于 listing 文案卖点提炼、营销素材库、与差评侧做对照表。

详细工作流(含 V1 自检清单 5 项 + 典型陷阱 pitfall #28/#29)请阅读 {baseDir}/references/positive-reviews-workflow.md。

三种方法快速调用:

from api_client import CustomerInsightsClient

client = CustomerInsightsClient(api_key="sk_live_...")

# 1. 好评全量原话(与 get_negative_reviews 字段一致,支持翻页)
pos = client.get_sentiment_reviews(tid, polarity="positive", page=1, page_size=50)
# 响应: {items: [...], total: N, page_max: M, page: 1, page_size: 50}

# 2. 好评代表(按 dimension 排名,limit 实测 ≤ 5)
rep_pos = client.get_representative_reviews(tid, polarity="positive", limit=5)
# 响应字段: content / title / star / dimension / dimension_name / rank_in_dimension / url

# 3. 好评标签频次(三层嵌套:dimension → category → tag)
dist_pos = client.get_category_tag_distribution(tid, polarity="positive")
# 响应: category_tag_distribution.dimensions.{experience|product|service}.categories.{...}.tags

等价关系(重要):get_negative_reviews = get_sentiment_reviews(polarity="negative") 的别名(见 scripts/api_client.py 源码注释)。不要写两套——用 polarity 切换即可。

典型用法:

  • Listing 文案:从 get_representative_reviews(polarity="positive") 摘原话当 bullet points,频次榜 Top 5 当主卖点
  • 营销素材库:从好评原话按"功能描述型 / 情感共鸣型 / 场景代入型 / 问题解决型"分类整理
  • 差评 vs 好评 对照表:同维度两极分化检测(如"操作简便 97 vs 操作复杂 126"——App 流程对一部分人友好、对另一部分人劝退)

⚠️ 必走 V1 自检(详见 reference):① polarity="positive" 的 items 含 1★/2★(pitfall #28,需先按 review_star >= 4 过滤);② 代表好评 4★ content 可能含隐性差评(pitfall #29);③ 差评侧漏报 P0 在好评侧再扫一次确认(订阅 / 耗材 / 隐私)。

所有可用操作

action说明必需参数
get_download_links获取浏览器扩展下载链接-
check_device检查设备是否在线-
create_task创建任务--asin, --site
create_incremental增量获取--task-id
rename_task重命名任务--task-id, --name
trigger_analysis手动触发分析--task-id
get_task_detail查询任务详情--task-id
get_task_list获取任务列表-
get_ai_insights获取 AI 洞察--task-id
get_basic_statistics获取基础统计--task-id
get_representative_reviews获取代表性评论--task-id
get_category_tag_distribution获取分类标签分布--task-id
get_negative_reviews获取差评列表--task-id
get_trend获取评论趋势--task-id
get_related_comments获取关联评论--task-id, --association-type
get_comments获取原始评论--task-id
get_comments_overview获取评论概览--task-id
get_points查询积分余额-

错误处理

说明:api_client 对非 0 code 统一抛出 API Error: {msg}——错误判断以返回 msg 为准;采集通道不在线不是错误码,而是 check_device 正常响应的 is_alive=false。

场景判定/说明处理方式
设备不在线check_device 返回 is_alive=false(正常响应,非错误码)采集通道未就绪(引导安装/登录浏览器扩展)
积分不足返回 msg 含积分不足提示(原 1002)提示用户充值积分
API Key 无效认证失败 msg(原 2001)检查 API Key 是否正确
API Key 已禁用认证失败 msg(原 2002)提示用户重新创建
API Key 已过期认证失败 msg(原 2003)提示用户重新创建
权限不足权限 msg(原 2004)检查 API Key 权限配置
请求频率超限限流 msg(原 2005)提示用户稍后重试
InvalidTaskStatus任务状态不是 COLLECTED只有仅采集模式且状态为 COLLECTED 的任务才能触发分析

详细 API 文档

如需了解详细的 API 端点说明、请求参数、响应格式,请阅读 API 参考文档。

使用示例

场景一:创建新任务

用户: 帮我获取 B09V3KXJPB 的评论并分析
AI Agent:
1. 检查 API Key → 若未配置,询问用户提供
2. 检查设备和积分
3. 告知积分消耗,等待确认
4. 创建任务
5. 每 6 分钟轮询状态,实时反馈进度
6. 分析完成后获取结果

场景二:仅采集模式 + 手动触发分析

用户: 帮我只采集评论,暂时不做分析
AI Agent:
1. 检查 API Key 和设备
2. 创建任务时使用 --is-auto false
3. 轮询状态直到 COLLECTED
4. 用户确认分析后,执行 trigger_analysis(仅需 API Key,无需采集通道)

场景三:查询已完成任务

用户: 查看 TSK_xxx 任务的分析结果
AI Agent:
1. 检查 API Key
2. 直接获取分析结果(无需设备和前置条件)

评论与讨论

0/2000

还没有评论,分享你的体验吧。