---
name: chuhaijiang-tiktok-product
description: "使用出海匠（Chuhaijiang）研究 TikTok Shop 公开商品市场，支持搜索、详情、关联达人/直播/视频/评论、热推榜/新品榜/销量榜和图片找同款。"
compatibility: Requires the oo CLI and OOMOL Marketplace access.
metadata:
  title: "TikTok 商品市场情报"
  icon: ':lucide:clapperboard:'
  packageName: "@leina/chuhaijiang-tiktok-product"
  version: "0.1.0"
---
# TikTok 商品市场情报

## 固定使用内置市场

所有业务动作明确使用 `--connection-name marketplace_oomol`，不能省略，也不能替换为用户自建 LinkFox 连接。首次在当前账户/团队执行时，读取 `oo connector apps linkfox --json`，确认 `connectionName=marketplace_oomol`、`authType=marketplace` 且状态可用；用户指定团队时，连接列表和业务命令使用同一个 `--team`。

未找到该市场连接或无权使用时，停止并报告内置市场不可用。不得改用户默认连接，不得退回无选择器命令、其它连接或直连来源接口。`oo file upload/download` 是文件中转命令，不属于 LinkFox 连接选择。

## 业务流程

确认国家与用户要研究的实体。通过搜索或榜单取得真实实体 ID，再将同一国家及 ID 传给详情和关联查询；只执行用户问题需要的分支。详情的 include 扩展、日期/粒度与排序必须按 calls.md 的端点契约填写，不将搜索 ID 与其它实体 ID 混用。

榜单的 date 与 granularity 成对选择；搜索范围和排序条件在翻页时保持一致。供应商数据位于 `response.data.data`，列表通常为 `response.data.data.items`，匹配总数为 `response.data.data.total_count`；详情也可能是一条 items 列表，按 ID 核对，保留 include 返回的原扩展字段。只使用实际返回的 ID 与指标，不猜单位。

## 选择动作并执行

先读 [当前调用契约](references/calls.md)，选择能完成当前步骤的 action，确认必填值、枚举、分页和结果容器。单动作 skill 直接使用该动作；多动作 skill 按上述业务顺序选择必要分支，不默认把动作表全部跑一遍。

将用户的真实参数写入当前任务目录中的 payload.json。执行 calls.md 中所选动作的完整命令。CLI 返回 `response.data` 为业务结果，`response.meta.executionId` 为执行标识。保存响应和查询条件用于后续衔接，不把旧平台 errcode/渲染元数据当作新的 CLI 输出契约。

结果解释遵循 [业务规则](references/business.md)。公开 schema 中的开放记录字段未逐字段保证；本轮仅做静态核对，未真实试跑。缺失或 null 标注未提供，不补零、不猜 ID、URL、币种或单位。数值比较只在单位和时间窗一致时进行。

## 分页、文件与交付

有分页参数的动作保持筛选与排序不变，根据本动作返回的总数/hasNextPage（若有）和用户范围推进；空页、重复页或达到用户要求时停止。total 的含义按所选端点说明；本页计数不能当作全集计数。无分页动作不自行发明 page/cursor。

仅在图片 URL 输入而用户只有本地文件时，先执行 `oo file upload "本地文件路径" --json`，将实际返回的 downloadUrl 写入该图片字段。已有可访问 URL 直接复用。不要把本地路径当远程 URL，也不要要求用户配置来源平台密钥。

仅对动作明确返回的文件下载字段执行 `oo file download "返回的文件URL" "用户指定的输出目录"`；下载命令不带 --json。网页、播放页、详情页和元数据 URL 不是下载地址。保存后确认文件类型与实际路径并提供可点击链接；图片/视频在环境支持时预览。签名 URL 留在任务文件中，不在汇报里展开。

依据用户需求交付查询摘要、对比表或本地 Markdown/CSV/JSON 文件。说明数据来源、查询时间、覆盖范围及未返回项。长数据先摘要，保留完整响应供检查，不硬编码原平台输出目录。

## 失败处理

失败时报告实际错误，保留已成功数据。鉴权、权限、余额或不支持的输入阻塞时按 OOMOL 错误指引处理，不运行源平台充值、余额检查、反馈、直接 HTTP 兜底或隐藏接口。不能把空结果说成已证明不存在，也不连续换条件或重跑已完成请求来掩盖失败。

以图找商品：已有有效 osKey 时直接传 osKey；图片 URL 时传 imageUrl，由 Connector 内部完成上传，二者严格互斥。本地 JPG/PNG（不超过20 MiB）先经 oo file upload 取得 imageUrl，再调 search_chuhaijiang_products_by_image。无需重复来源包的 presign/PUT 上传脚本。显式获取 presign 元数据的分支仍可用 create_chuhaijiang_image_upload_url，结果只作为临时上传信息，不当成搜索完成。

## 读取业务字段

解释结果和构造后续请求前，读取 [结果字段与业务衔接](references/result-fields.md)，按端点保留关键输出、嵌套指标和关联 ID。
