@vocmarket/voc-skill 0.3.32 → 0.3.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "voc-intelligence",
3
3
  "description": "VOC intelligence skills for Claude Code: end-to-end VOC business workflows, Xiaohongshu and Douyin trend reports, live social VOC collection, Fmode Doubao image analysis, token/recharge checks, evidence-card outputs, prioritized issue pools, single-problem deep dives, competitor maps, 7-day content plans, VOC-backed speaking script co-creation, boss/operator action plans, and multi-turn memory.",
4
- "version": "0.3.32",
4
+ "version": "0.3.33",
5
5
  "author": {
6
6
  "name": "nkkj-BrainHack"
7
7
  }
package/SKILL.md ADDED
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: voc-intelligence
3
+ description: 面向经营者的 VOC 用户经营洞察工作台。从社交媒体、电商和海外选品数据中提取用户声音,形成趋势情报、问题池、竞品图谱、单点深挖、7 天内容计划和口播脚本。用户要看顾客关心什么、先改哪里、下周发什么、查商品价格评论或进行样例与真实采集时使用。
4
+ ---
5
+
6
+ # VOC 用户经营洞察
7
+
8
+ 这是一个可从自然语言开始的 VOC 经营工作台,包含趋势情报、问题管理、竞品分析、经营动作、内容计划和口播脚本等子技能,并提供统一的 MCP 数据接口清单。
9
+
10
+ ## 使用规则
11
+
12
+ - 用户只需描述行业、品类、平台和目标,不要求用户了解 MCP 参数。
13
+ - 用户没有明确要求真实采集时,先使用演示样例;用户明确说真实采集或 live 时,再检查凭证和余额。
14
+ - 首轮输出采用“初步判断、机会假设、待校准”口径,并给出证据和下一步动作。
15
+ - 用户要完整经营闭环时,调用 `voc_business_workflow_run`;要单项任务时,调用对应的趋势、问题池、深挖、竞品、内容或脚本工具。
16
+ - 用户要查商品、价格、评论、销量或其他平台接口时,先用 `voc_api_search` 查清单,再用 `voc_api_doc` 读取参数,最后用 `voc_api_call` 调用。
17
+
18
+ ## 主要能力
19
+
20
+ - 小红书和抖音趋势情报,支持样例与小规模真实采集。
21
+ - VOC 问题池、单点问题深挖、竞品图谱和 7 天内容计划。
22
+ - 基于用户声音的口播脚本共创、修改和定稿。
23
+ - 淘宝/天猫、京东、1688、抖音电商等电商数据,以及亚马逊海外选品数据。
24
+ - 图片、截图、海报、图表和商品图片分析。
25
+
@@ -145,6 +145,7 @@
145
145
  | `docs/claude-code-troubleshooting-playbook.md` | Claude Code 故障定位、误报修复、关键词修复和发散排查 |
146
146
  | `docs/payment-package-links.md` | 支付链接和套餐入口说明 |
147
147
  | `docs/context-budget-implementation-plan.md` | 上下文省 token 工作流 |
148
+ | `docs/voc-cost-metering-and-balance-implementation-spec.md` | VOC 用量核算、任务成本预估、计费 API 与余额看板实施方案 |
148
149
  | `docs/deliverables/trend-insight-report.md` | 行业用户洞察趋势清单模板 |
149
150
  | `docs/deliverables/competitor-map-report.md` | 竞品图谱与错位机会报告模板 |
150
151
  | `docs/deliverables/voc-issue-pool-report.md` | VOC 问题清单与优先级模板 |
@@ -0,0 +1,156 @@
1
+ # 淘宝/天猫商品详情 V7 接口使用文档
2
+
3
+ ## 1. 适用范围
4
+
5
+ V7 用于实时发起淘宝/天猫商品基础详情采集,适合获取较新的标题、基础价格、SKU、库存和店铺信息。
6
+
7
+ V7 不是商品页全部字段的统一接口。以下信息需要按口径补充其它版本:
8
+
9
+ - 页面展示的“已售/付款人数”:补充调用 V3,读取 `data.sellCount`。
10
+ - 较完整的商品属性、SKU 标价和促销价:补充调用 V6。
11
+ - 券后价或优惠后价:补充调用 V4。
12
+ - 账号、地区、会员、店铺券和平台补贴共同影响的最终结算价:以实际结算页为准。
13
+
14
+ ## 2. 接口信息
15
+
16
+ | 项目 | 值 |
17
+ |---|---|
18
+ | 接口 ID | `taobao.get_item_detail_v7` |
19
+ | 请求路径 | `taobao/get-item-detail/v7` |
20
+ | 请求方法 | `GET` |
21
+ | 参数位置 | Query |
22
+ | 通道 | `ecommerce` |
23
+ | 计费 | 1 次接口调用 |
24
+ | 推荐时效门槛 | 48 小时 |
25
+
26
+ ## 3. 请求参数
27
+
28
+ | 参数 | 类型 | 必填 | 说明 |
29
+ |---|---|---:|---|
30
+ | `itemId` | string | 是 | 淘宝或天猫商品 ID。可从商品链接的 `id` 参数中提取。 |
31
+
32
+ 示例商品链接:
33
+
34
+ ```text
35
+ https://detail.tmall.com/item.htm?id=824950233983
36
+ ```
37
+
38
+ 对应 `itemId`:
39
+
40
+ ```text
41
+ 824950233983
42
+ ```
43
+
44
+ ## 4. 使用 `voc_api_call` 调用
45
+
46
+ 推荐使用清单 ID 调用,工具会自动选择 `ecommerce` 通道并应用重试、业务码识别和时效检查:
47
+
48
+ ```json
49
+ {
50
+ "id": "taobao.get_item_detail_v7",
51
+ "params": {
52
+ "itemId": "824950233983"
53
+ }
54
+ }
55
+ ```
56
+
57
+ 也可以先读取接口文档:
58
+
59
+ ```json
60
+ {
61
+ "id": "taobao.get_item_detail_v7"
62
+ }
63
+ ```
64
+
65
+ 不经过清单 ID 时,等价的原始路径调用参数为:
66
+
67
+ ```json
68
+ {
69
+ "rawPath": "taobao/get-item-detail/v7",
70
+ "method": "GET",
71
+ "channel": "ecommerce",
72
+ "query": {
73
+ "itemId": "824950233983"
74
+ }
75
+ }
76
+ ```
77
+
78
+ ## 5. 核心返回字段
79
+
80
+ 成功时,`voc_api_call` 返回 `status=ok`,上游结果位于 `data.result`,完整原始响应位于 `data.raw`。V7 重点读取以下字段:
81
+
82
+ | 字段 | 含义 | 使用规则 |
83
+ |---|---|---|
84
+ | `subject` | 当前采集到的商品标题 | 可作为当前基础标题,但仍需结合 `recordTime` 判断时效。 |
85
+ | `price` | 基础价格 | 标注为 V7 基础价,不表述为任意账号的最终结算价。 |
86
+ | `skuVoList` | SKU 列表 | 可读取规格、SKU 价格和库存;数组长度可作为本次采集到的 SKU 数量。 |
87
+ | `shopName` | 店铺名称 | 用于店铺识别。 |
88
+ | `recordTime` | 上游数据采集时间 | 不是本次 API 请求时间,必须计算滞后时长。 |
89
+ | `monthSold` | 月销相关字段 | 可能为 `null`,不作为稳定的页面销量来源。 |
90
+ | `baseAttrList` | 基础属性列表 | 可能为 `null` 或不完整,关键属性应补充 V6。 |
91
+
92
+ 工具会在 `summary` 中返回时效判断信息:
93
+
94
+ ```json
95
+ {
96
+ "recordTime": "2026-09-01T16:06:58",
97
+ "maxAgeHours": 48,
98
+ "ageHours": 0.5,
99
+ "stale": false
100
+ }
101
+ ```
102
+
103
+ ## 6. 时效规则
104
+
105
+ 1. V7 会在调用时实时发起采集,但“实时发起”不等于每个返回字段都与商品页面同一秒刷新。
106
+ 2. `recordTime` 表示上游完成数据采集的时间,不是 VOC API 的请求时间。
107
+ 3. 技能包用“当前时间 - `recordTime`”计算 `ageHours`。
108
+ 4. `ageHours <= 48` 时,结果可作为当前基础详情使用。
109
+ 5. `ageHours > 48` 时,工具返回 `status=stale_data`;数据仍会保留在结果中,但只能作为历史参考。
110
+ 6. 上游未承诺固定刷新 SLA,因此结果中应同时注明接口版本、`recordTime` 和价格/销量口径。
111
+
112
+ ## 7. 状态与异常处理
113
+
114
+ | 状态 | 含义 | 处理方式 |
115
+ |---|---|---|
116
+ | `ok` | V7 成功返回,且未超过 48 小时 | 读取标题、基础价、SKU、库存和店铺信息;按需补 V3/V4/V6。 |
117
+ | `stale_data` | `recordTime` 已超过 48 小时 | 仅作历史参考,稍后重试 V7,不表述为当前页面数据。 |
118
+ | `upstream_unstable` | 上游业务码 `301`、5xx、连接失败或重试后仍未恢复 | 工具默认自动重试;连续失败后稍后再次调用。 |
119
+ | `not_supported` | 上游业务码 `202` | 当前商品或数据口径不受该接口支持,检查商品是否下架,并改用其它可用版本核验。 |
120
+ | `needs_input` | 缺少 `itemId` 或参数格式有误 | 从商品链接提取正确的数字商品 ID 后重试。 |
121
+ | `needs_valid_token` | token 缺失、失效或未被正确读取 | 配置有效的技能包调用凭据后重试。 |
122
+
123
+ HTTP 200 只代表网关请求成功。响应内嵌的业务码 `301` 或 `202` 不会再被技能包误判为成功商品详情。
124
+
125
+ ## 8. 推荐调用顺序
126
+
127
+ 1. 调用 V7 获取较新的标题、基础价格、SKU、库存、店铺和 `recordTime`。
128
+ 2. 检查工具状态以及 `summary.ageHours`,只使用 48 小时内的数据作为当前基础详情。
129
+ 3. V7 返回 `301` 时让工具完成自动重试;连续失败后稍后再次调用同一接口。
130
+ 4. 需要页面展示销量时调用 V3,并同样检查其 `recordTime` 和 48 小时时效门禁。
131
+ 5. 需要完整属性或标价/促销价时调用 V6;需要券后价时调用 V4。
132
+ 6. 汇总时分别标注“V7 基础价”“V6 标价/促销价”“V4 优惠后价”“V3 页面销量”,不要合并成一个无口径说明的“真实价格/付款人数”。
133
+
134
+ ## 9. 版本职责对照
135
+
136
+ | 版本 | 主要用途 | 重点字段/口径 | 注意事项 |
137
+ |---|---|---|---|
138
+ | V7 | 新鲜基础详情,首选 | `subject`、`price`、`skuVoList`、`shopName`、`recordTime` | `monthSold`、`baseAttrList` 可能为空。 |
139
+ | V3 | 页面展示销量 | `data.sellCount` | 不返回价格;超过 48 小时后不能称为当前销量。 |
140
+ | V4 | 优惠后价/券后价 | `DiscountPrice`、SKU 最终价字段 | 仍会受账号、SKU、地区和活动影响。 |
141
+ | V6 | 较完整详情和属性 | 标价、促销价、SKU、属性 | 可能返回历史快照,必须检查 `recordTime`。 |
142
+ | V9 | 兼容旧口径 | `num` 为销售量级信号,`totalCount` 为评价总量 | 两者都不是商品页当前付款人数,属性也可能是旧快照。 |
143
+
144
+ ## 10. 2026-09-01 实测记录
145
+
146
+ | 商品 ID | V7 结果 | 说明 |
147
+ |---|---|---|
148
+ | `824950233983` | 成功;`recordTime=2026-09-01T16:06:58`;基础价 21.8;7 个 SKU | V7 返回了当天的新鲜基础详情。 |
149
+ | `865522000056` | 成功;基础价 33.8;3 个 SKU | 可用于基础价格和 SKU 核验。 |
150
+ | `872904000992` | 首次 `301`,重试后成功;基础价 32;12 个 SKU | 说明 `301` 应先重试,不能直接作为“无数据”。 |
151
+ | `798980050440` | 多次返回 `301` | 本次采集不稳定,按 `upstream_unstable` 处理。 |
152
+ | `1053323886896` | 返回 `301`,页面商品已不存在 | 商品下架或不存在时,不应继续使用旧版本残留快照作为当前详情。 |
153
+
154
+ ## 11. 结论
155
+
156
+ 需要一个优先返回较新基础详情的接口时,使用 V7。需要完整复刻淘宝/天猫商品页时,仍需按字段口径组合 V7、V3、V4 和 V6;当前不存在一个稳定覆盖页面标题、全部属性、页面销量、所有 SKU 优惠和最终结算价的单一接口。