Community Скиллы Российские сервисы

Конвейер 1688 → Ozon

Установка
git clone (см. README)

Описание

auto-ozon-skill — локальный конвейер закупки и выхода на Ozon: поиск товара на 1688 — находит поставщика под нишу, расчёт цены под Ozon — комиссии, логистика и маржа в одном расчёте, черновик карточки — заготовка для загрузки в кабинет, три агента — работает с Codex, Claude Code и Hermes. Для селлеров, выстраивающих поток «поставщик → карточка» без ручных промежуточных шагов.

Что умеет:
— искать товары на 1688;
— считать цену с маржой под Ozon;
— готовить черновики карточек;
— работать с Codex, Claude Code и Hermes.

Полная документация ниже — автоматически из репозитория yifan4243-sketch/auto-ozon-skill (ветка main). Оригинальные материалы проекта распространяются на условиях его лицензии.

Auto Ozon Skill

一个面向 Ozon 卖家的本地自动化项目:从 1688 找货和深度采集开始,完成商品标准化、Ozon 类目判断、CEL 成本定价、属性填写、俄语草稿生成,并在明确启用的本地店铺配置下提交到 Ozon。

项目首先是一个可靠的 1688 商品采集工具,同时提供一条可恢复、可审计的 Ozon 上架链路。所有业务产物保留在本机;店铺 API Key、1688 Cookie 与生图模型密钥不进入 Git。

俄语文案、类目判断、属性语义选择等由当前 Agent 自身完成,不需要客户配置任何文本 LLM、Base URL 或 LLM API Key。只有客户明确要生成商品图时,才需要单独配置生图模型 API。

能做什么

能力 说明
1688 深度采集 关键词、图片、指定商品 ID、官方找同款;搜索后自动读取商品详情、SKU、价格、规格、图片与包装事实。
账号与风控协作 多账号 Profile、登录状态诊断、调试日志;遇到滑块或验证码时以可视浏览器交给人工完成。
俄罗斯市场选品 根据本地全年 Ozon 类目数据、竞争度、季节和生活场景规划 5–10 个类目,再用类目名到 1688 找货。
Ozon 类目与属性 检索类目、验证类目 ID 组合、按 SKU 分组、读取类目属性与字典值,并保留快照。
成本与定价 当前只实现 CEL Provider;使用版本化费率快照、1688 采购价、包装数据、汇率和 Ozon 佣金计算到俄成本与售价。
俄语内容与草稿 脚本填写确定性属性,Agent 只在真实事实和字典候选范围内补全俄语名称、简介、标签等字段;生成可直接导入的 items[] 草稿。
Ozon 上架 只向预先启用的本地店铺提交,轮询导入任务、保留逐 SKU 成功/失败结果、可恢复轮询与可恢复失败重试。
店铺经营数据 通过 Ozon MCP 查询商品、订单、财务、库存、广告、内容质量和定价分析。

核心:1688 采集流程

采集引擎由 1688-cli 的采集能力迁移而来,仅保留商品采集,不包含下单、购物车、旺旺聊天或采购操作。

1688 登录 / Profile
        ↓
关键词、图片、商品 ID 或官方找同款
        ↓
搜索候选 + 商品详情深度采集
        ↓
标题、类目路径、属性、SKU、采购价、图片、包装事实
        ↓
CanonicalProduct(供定价、类目与上架步骤使用)

采集结果保留的是上架真正需要的事实:1688 链接、中文标题和类目路径、商品属性、SKU 规格/价格/图片、主图和详情图、包装长宽高与原始重量。不会采集购物车、订单、供应商沟通等信息。

安装

需要 Node.js 20+、pnpm,以及推荐安装 Google Chrome。没有 Chrome 时,可安装 Playwright 的 Chromium。

推荐一键安装:

pnpm dlx ozon-master@0.1.2 init --agent all

该命令会下载仓库、安装依赖、初始化 Ozon MCP、检查 Chrome,并在没有 Chrome 时下载 Playwright Chromium;同时为 Codex、Claude Code 和 Hermes 安装不含密钥的本地 Skill 指针。Node.js 20+ 与 pnpm 是此命令的前提。

git clone <你的仓库地址>
cd auto-ozon-skill
corepack enable
pnpm install

# 仅在本机没有 Chrome 时执行
pnpm exec playwright install chromium

若要使用 Ozon MCP 的 API 查询能力,还需要初始化其子模块和 Python 环境:

git submodule update --init --recursive
cd vendor/ozon-mcp
uv sync
cd ../..

先登录 1688

建议至少绑定两个已授权的 1688 账号,方便单个账号遇到风控或失效时切换。项目不会绕过验证码;需要验证时使用 --headed,由你在浏览器中完成。

pnpm exec tsx apps/cli/src/cli.ts 1688 login
pnpm exec tsx apps/cli/src/cli.ts 1688 whoami
pnpm exec tsx apps/cli/src/cli.ts 1688 doctor

常用采集命令

每一次新采集任务开始前,Agent 都应先确认四项本次任务参数:是否可视化浏览器(默认否,即无头浏览器)、最大 SKU 数、采购价区间,以及遇到验证码时是否跳过当前商品(默认是)。这些是单次任务选择,不会自动覆盖客户的长期配置。

# 关键词采集:默认深度读取商品详情
pnpm exec tsx apps/cli/src/cli.ts source keyword "一次性杯子" --max 10 --sku-max 3

# 价格区间筛选:单位为 CNY
pnpm exec tsx apps/cli/src/cli.ts source keyword "马克杯" --max 10 --price-min 20 --price-max 50 --sku-max 3

# 指定一个或多个 1688 商品 ID
pnpm exec tsx apps/cli/src/cli.ts source offers 123456789 987654321

# 以本地图片找货;此命令返回候选,详情由 offers 继续采集
pnpm exec tsx apps/cli/src/cli.ts source image .\product.jpg --max 10

# 仅使用 1688 官方找同款入口
pnpm exec tsx apps/cli/src/cli.ts source similar 123456789 --max 10

所有命令可追加 --json --pretty 获取结构化结果;采集出现验证时重跑并添加 --headed。
无头模式是默认模式;验证码/滑块绝不自动绕过。若客户选择“跳过”,Agent 记录该商品的 RISK_CONTROL 后继续下一个候选商品;若客户选择“不跳过”,则使用 --headed 等待客户手动完成验证。

从采集到上架的 8 步流程

01 1688 采集
02 商品标准化 CanonicalProduct
03 Ozon 类目选择与 SKU 分组
04 CEL 成本定价
05 读取 Ozon 类目属性和字典快照
06 脚本 + Agent 填写属性
07 生成并校验 Ozon 导入草稿 items[]
08 提交 Ozon、轮询并记录每个 SKU 的结果

属性 4191 是提交给买家的俄语商品描述。描述正文只能使用合规的俄语/拉丁字符,
不得复制中文、日文、韩文 SKU 名或不安全控制字符;1688 中文原始值只保留在证据与
审计字段中。属性填写、草稿生成和发布预检会分别拦截不合规描述。

准备草稿不会写入 Ozon:

pnpm exec tsx apps/cli/src/cli.ts workflow listing prepare "一次性杯子" --store-id <Client-Id> --sku-max 3 --json --pretty

如果客户已配置可选生图模型并希望默认生成 3 张商品图,可增加
--generate-images;不增加该参数时只校验并使用合格的 1688 原图:

pnpm exec tsx apps/cli/src/cli.ts workflow listing prepare "一次性杯子" --store-id <Client-Id> --sku-max 3 --generate-images --json --pretty

批量上架使用持久化批次台账。明确关键词时直接采集;未指定商品时先运行俄罗斯市场选品:

pnpm exec tsx apps/cli/src/cli.ts workflow batch create --batch-id batch-001 --store-id <Client-Id> --count 20 --profiles account-1,account-2 --keyword "杯子"
pnpm exec tsx apps/cli/src/cli.ts workflow batch run --batch-id batch-001
pnpm exec tsx apps/cli/src/cli.ts workflow batch status --batch-id batch-001

每个商品 run 的完整证据和产物位于:

data/runs/<run_id>/
├── manifest.json
├── 01-source-1688/attempt-000N/
├── 02-canonical/attempt-000N/
├── 03-category-decision/attempt-000N/
├── 04-cost-pricing/attempt-000N/
├── 05-category-attributes/attempt-000N/
├── 06-attribute-mapping/attempt-000N/
├── 07-draft-generation/attempt-000N/
└── 08-listing-submit/attempt-000N/

步骤产物采用不可变的 attempt-000N 目录。不要猜测最新编号,也不要读取旧 attempt;
始终先读取 manifest.json,再使用对应步骤的 output/artifacts 指向的当前有效文件。

发布前必须通过本机配置绑定店铺,并由用户显式创建店铺级自动发布许可。仅修改
publishing.enabled 不构成授权;第 8 步还会校验未撤销的 Consent、店铺配置哈希、
草稿哈希、每日限额、类目允许列表和 Preflight。发布只接受第 7 步状态为
draft_complete 的草稿:

pnpm exec tsx apps/cli/src/cli.ts setup publishing enable --store-id <Client-Id> --actor <操作者>
pnpm exec tsx apps/cli/src/cli.ts workflow listing publish --run-id <run_id> --store-id <Client-Id>
pnpm exec tsx apps/cli/src/cli.ts workflow listing resume --run-id <run_id> --store-id <Client-Id>
pnpm exec tsx apps/cli/src/cli.ts workflow listing status --run-id <run_id>
pnpm exec tsx apps/cli/src/cli.ts setup publishing disable --store-id <Client-Id> --actor <操作者>

第 8 步不会管理库存,也不会自动删除、下架、归档或回滚商品。成功 SKU 保留;可恢复的失败最多再尝试两次。
结果中的 imported 表示本次任务确认导入;skipped + product_id 表示相同商品已通过
幂等检查或远端对账确认成功,同样计入成功数量。polling_timeout 必须使用 resume,
不得直接重新发布;failed 或没有 product_id 的 skipped 不得计为成功。

让 Agent 使用本项目

仓库根目录的 SKILL.md 是总入口。它会把客户自然语言路由为正确流程:

客户说法 Agent 的处理方式
“给我上架 20 个杯子” 直接把“杯子”作为 1688 关键词,不启动市场类目分析。
“给我上架十个商品” 先做俄罗斯市场选品,分散到多个类目后再采集。
“把店铺上满” 按店铺每日额度规划;未设置更低额度时按 100 个 SKU 处理。
“绑定店铺 / 修改 SKU 上限 / 修改价格公式” 使用 客户配置 Skill,只改本地忽略配置。

相关专项 Skill:

Ozon MCP:查询和经营分析

项目内置 Ozon MCP TypeScript 桥接。随仓库保存的 Swagger/知识快照可发现约 466 个
Seller / Performance API 方法,并提供 13 个整理后的分析工作流。方法发现不需要凭据;
认证执行不是同一件事。
Seller 读调用需要所选店铺的 Seller Client-Id/API Key;
Performance 认证调用必须在同一店铺配置中另行提供 Performance Client-Id/Client Secret。
没有 Performance 凭据时仍可检索其方法契约,但不能宣称或执行已认证的广告调用。

pnpm exec tsx apps/cli/src/cli.ts ozon --store-id <Client-Id> doctor
pnpm exec tsx apps/cli/src/cli.ts ozon workflows list
pnpm exec tsx apps/cli/src/cli.ts ozon workflows get pricing_analysis
pnpm exec tsx apps/cli/src/cli.ts ozon methods search "product" --api seller --safety read
pnpm exec tsx apps/cli/src/cli.ts ozon methods describe ProductAPI_GetProductInfoList

通用 ozon call 和 ozon fetch-all 仅允许读操作。商品导入是一个独立的、固定白名单的第 8 步,不允许通过通用 MCP 命令任意写入。

完整说明见:Ozon MCP 使用说明。

当前生产边界

  • 物流 Provider 当前只有 CEL。费率来自
    packages/steps/cost-pricing/references/logistics/cel-2026.json,其元数据明确标为
    legacy_manual_snapshot / needs_review;captured_at、valid_from、valid_to 均未知,
    在获得可核验来源前不能把它描述为官方最新费率。超出 CEL 能力的真实包裹会保留事实并阻止定价,不会交给 Agent 重新猜测。
  • 1688 SKU 包装事实 > 1688 商品级包装事实 > 用户明确输入 > Agent 估算。Agent 只能补缺,不能覆盖更高优先级事实;估算会保留低置信度审计记录。
  • review-console start 是仅绑定 127.0.0.1 的本地单用户审核台。团队模式、公共部署、OIDC 登录、共享 Artifact Store 和多节点部署均未实现;PostgreSQL reader 只提供持久状态读模型,不等于团队版。
  • 自动化测试全部使用 fixture、mock resolver、mock image fetch 和 Fake Ozon transport,禁止向真实 Seller API 发写请求。真实店铺发布属于人工配置后的独立操作,不是测试步骤。

安全与边界

  • 不绕过 1688 风控、滑块或验证码;不使用打码服务。
  • 不记录或提交 Cookie、API Key、Token、密码等秘密信息。
  • 店铺凭据只保存在 .env 或 Git 忽略的本地配置中;界面和日志只显示“已配置”。
  • Seller 与 Performance 凭据相互独立,并按当前店铺、当前调用类型最小化传给 MCP 子进程;不会转发整个 process.env。
  • 普通 pnpm verify:pack 只验证包内容,不要求 Tag。正式 npm Release 还必须在干净、被正确版本 Tag 指向的提交上通过严格 Release 校验。
  • 不支持购物车、下单采购、旺旺聊天、供应商研究、订单履约或后台常驻进程。
  • 上架前请先在测试店铺用单 SKU 验证配置与类目规则。

开发

pnpm typecheck
pnpm test
pnpm build

业务步骤在 packages/steps/,CLI 在 apps/cli/,Ozon MCP 子模块在 vendor/ozon-mcp/。更多命令可查看 docs/COMMANDS.md。

开源交流

本仓库完全开源,欢迎自由使用、提交建议和二次开发。如果它帮助到了你,欢迎点一个 GitHub Star。一起交流 AI 与 Ozon 自动化,可添加作者微信:ziyi_ozon(请备注来意)。

开源致谢

本项目不是从零开始重复造轮子。感谢开源社区提供了可靠的基础能力,也特别感谢以下项目的作者与贡献者:

  • superjack2050/1688-cli:本项目的 1688 采集能力基于其优秀的采集思路迁移和适配。它把登录态、真实浏览器交互、商品搜索、详情读取、SKU 解析和风控协作组织得非常清晰,为后续商品自动化提供了扎实基础。
  • PCDCK/ozon-mcp:提供了结构化的 Ozon Seller / Performance API 知识库、Swagger 方法检索、工作流、示例、限流与错误目录。它让 Agent 可以先理解接口契约,再安全地调用正确方法,是本项目 Ozon MCP 桥接的核心参考。
  • Microsoft Playwright:提供稳定的跨浏览器自动化能力,使项目可以默认无头采集,并在遇到 1688 验证时切换到可视浏览器,由用户安全地手动处理。

感谢所有维护者持续投入时间和技术能力。Auto Ozon Skill 在这些优秀开源项目之上,专注补齐“1688 采集 → Ozon 类目与定价 → 属性草稿 → 上架与结果记录”的本地化流程。