Skip to main content

1688-alibaba-data-fetcher

1688卖家工作台数据抓取:原生聊天用MEDIA、飞书必须用message;登录必须同回合内持续poll。

インストールへ移動

ソース情報

リポジトリ
RabbitAI-Lab/rabbit-plugins-upstream
ソースの最終更新活動
2026年7月26日 20:50
検出された SKILL.md の言語
中国語
スター
0
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
28 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
1688-alibaba-data-fetcher
description
1688卖家工作台数据抓取:原生聊天用MEDIA、飞书必须用message;登录必须同回合内持续poll。
# 1688卖家工作台 — 1688 Data Claw 插件 数据抓取 > 适用系统:Linux (Ubuntu 24.04) / Windows 10/11 > 插件:1688 Data Claw v1.0.0(自研 Chrome 扩展,content script 自动采集 + 外部 API 获取) ## ⚠️ 执行规则(最高优先级) **本 skill 所有操作必须通过 skill 文件夹内预装的脚本完成,禁止自行编写代码。** **工作流程中避免输出思考、执行过程、输出目前执行到了哪一步,只输出给用户的登录二维码图片、报告、首次安装后的提示等必要内容** 1. **先看目录**:每次执行前,先 `ls $SKILL_DIR/scripts/` 确认可用脚本 2. **只用脚本,不写代码**:数据采集用 `fetch_data.py`,报告生成用 `generate_report_v3.py`,飞书推送用 `push_feishu_post.py`,浏览器管理用 `start-browser.sh/.ps1`。**禁止在 chat 中拼接 Python/JS 代码来替代脚本,如果脚本运行有问题再考虑阅读并修复问题** 3. **脚本路径始终相对于 `$SKILL_DIR`**:`cd $SKILL_DIR && python3 scripts/xxx.py`(Windows 用 `.\python3.cmd` 替代 `python3`) 4. **数据来源只能是插件**:报告生成脚本只读取 `fetch_data.py` 产出的 JSON,禁止自己调用 API 或猜测数据 5. **🔒 报告数据只读**:报告 7 段数据(商品/流量/交易/新老客/新灯塔/流量渠道/关键词)由 `generate_report_v3.py` 生成,**模型绝对禁止修改、删减、重写、替换、添加**。模型仅可修改 `## ⚠数据诊断` 与 `## ✅明日工作清单` 段落 6. **违反上述规则的操作无效**,必须按脚本流程重新执行 --- ## ⚠️ Windows 浏览器隔离(必读) **Windows 上必须使用独立 Chromium 便携版,与用户日常 Chrome 完全隔离。** | 隔离层级 | 说明 | |---|---| | **独立可执行文件** | 从 skill 预打包的 Chromium 压缩包解压到专用目录 | | **独立 user-data-dir** | 不共享用户的 cookies、密码、会话、扩展 | | **独立 CDP 端口** | `9222`,避免与用户 Chrome DevTools 冲突 | | **禁用同步** | `--disable-sync` | | **禁用后台服务** | 关闭组件更新、崩溃报告等 | **`executablePath` 指向独立 Chromium,`user-data-dir` 指向独立目录。** **⚠️ 三层强制验证(缺一不可):** 1) CDP 9222 端口有响应;2) `$USER_DATA/.openclaw_browser_marker` 标记文件存在;3) 进程参数 `--user-data-dir` 指向独立目录(Linux: `/tmp/chromium`,Windows: `C:\isolated-profiles\1688-agent`)。任何一层不通过 → 视为非独立 Chromium → 拒绝连接。**任何时候都禁止连接用户 Chrome。** ## 触发条件 用户提到以下关键词时使用本 skill,**先 `ls $SKILL_DIR/scripts/` 查看可用脚本**: - 1688 数据抓取、1688 店铺数据、1688 诊断 - 1688 Data Claw、数据采集 - 飞书推送 1688 报告 - 1688 登录二维码 - 登录 ## 一、初始化 > **路径约定:** `$SKILL_DIR` = 本 SKILL.md 所在目录。`$SKILL_DIR/..` 为 workspace 目录(报告输出位置)。**Python 脚本内置跨平台支持(`platform.system()` 自动检测 Linux/Windows)。** ### 1.1 固定路径(主会话和定时任务必须使用相同实例) | 项目 | Linux | Windows | |------|-------|--------| | **浏览器可执行文件** | `$SKILL_DIR/chromium/chrome-linux64/chrome` | `$SKILL_DIR/chromium/chrome-win64/chrome.exe` | | **用户数据目录** | `/tmp/chromium` | `C:\isolated-profiles\1688-agent` | | **插件目录** | `$SKILL_DIR/plugin`(随 skill 打包) | 同 | | **CDP 端口** | `9222` | `9222` | | **虚拟显示** | `Xvfb :99` | 不需要 | | **输出目录** | `$SKILL_DIR` | `$SKILL_DIR` | | **飞书 chat_id / 凭证** | 从 `scripts/env.sh` 读取 | 从 `scripts/env.ps1` 读取 | **关键规则:** 1) 启动前先检查 CDP 9222(Linux `curl`,Windows `curl.exe` 避免 PowerShell 别名冲突);2) **绝不 kill 任何进程**;3) 用预打包的 Chromium(Snap 版不稳定);4) 凭证从 env 文件读取,禁止硬编码。 ### 1.2 脚本目录 | 脚本 | 平台 | 用途 | |------|------|------| | `setup.sh` / `setup.ps1` | Linux / Windows | 一键初始化:依赖 + Chromium + 嵌入式 Python + 目录。**首次部署**执行一次 | | `start-browser.sh` / `start-browser.ps1` | Linux / Windows | 启动/复用独立 Chromium(三层验证) | | `fetch_data.py` | 跨平台 | 一键采集 → 保存 JSON。Windows 用 `python3.cmd` | | `generate_report_v3.py` | 跨平台 | **当前默认**:Markdown 表格版日报 | | `generate_report_v2.py` / `generate_report.py` | 跨平台 | 旧版(v2紧凑/v1表格),已弃用保留供参考 | | `push_feishu_post.py` | 跨平台 | 飞书推送:直接调飞书 `im/v1/messages` API 用 `post`+`md`,正确渲染表格 | | `login.py` | 跨平台 | 一键登录:清Cookie→扫码→等待 | | `cdp_client.py` | 跨平台 | CDP 客户端模块 | | `python3.cmd` | Windows | 嵌入式 Python 3.12 启动器 | ### 1.3 一键初始化(首次部署执行一次) ```bash # Linux ./scripts/setup.sh # Windows .\scripts\setup.ps1 ``` **Chromium 下载源:** npmmirror(淘宝,国内 ~4.5MB/s),自动回退 Google 官方源。 ### 1.4 启动浏览器(仅在 CDP 9222 无响应时执行) ```bash ./scripts/start-browser.sh # Linux .\scripts\start-browser.ps1 # Windows ``` 逻辑:检查端口 → 已运行则三层验证 → 通过跳过/未通过拒绝(不杀进程)→ 未运行则启动独立 Chromium(`--load-extension` + 独立 `--user-data-dir` + `--disable-sync`)。**绝不连接用户 Chrome。** ### 1.5 插件位置(随 skill 打包在 `plugin/`) ``` plugin/ ├── manifest.json # 固定 ID: ekmgnempbbamlmaolijdfjakeopniion ├── background.js # Service Worker - 数据汇总 + API ├── content.js # Content Script - 自动采集 ├── md5.js # MTOP 签名 ├── popup.html/js ├── openclaw-bridge.js └── icons/ ``` ### 1.6 配置飞书通知 > v3 推送链路:app_id + app_secret + chat_id,不依赖 OpenClaw `message` 工具或 lark-cli。 **步骤 1:向用户获取三项凭证** | 项目 | 获取方式 | |------|----------| | App ID(`cli_` 开头) | 飞书开发者后台 → 应用 → 凭证 | | App Secret | 同上 | | Chat ID(`oc_` 开头) | 用户提供目标群聊会话 ID | **步骤 2(可选):OpenClaw Gateway 绑定飞书 channel**(仅在需要在 chat 内接收消息时保留) ```bash openclaw plugins install @openclaw/feishu openclaw gateway restart ``` **步骤 3:把三项凭证写入 env 文件** `scripts/env.sh`(Linux) / `scripts/env.ps1`(Windows): ```bash export FEISHU_APP_ID="cli_xxxxxxxx" export FEISHU_APP_SECRET="***" export FEISHU_CHAT_ID="oc_xxxxxxxx" ``` ```powershell $script:FEISHU_APP_ID = "cli_xxxxxxxx" $script:FEISHU_APP_SECRET = "***" $script:FEISHU_CHAT_ID = "oc_xxxxxxxx" ``` **步骤 4:验证推送链路** ```bash # 验证 token python3 scripts/push_feishu_post.py --check # Windows: cd $SKILL_DIR; .\python3.cmd scripts/push_feishu_post.py --check # 发送测试报告 python3 scripts/push_feishu_post.py $SKILL_DIR/1688_daily_report_v3.md ``` 成功 → 飞书目标群收到 Markdown 卡片,输出 `✅ 发送成功,message_id: om_xxxxx`。失败检查:`FEISHU_APP_ID/SECRET/CHAT_ID`、应用是否已发布、`im:message:send_as_bot` 权限、IP 白名单。 --- ## 二、数据抓取方案(1688 Data Claw 插件) **通过 CDP 连接浏览器,在页面上下文执行 JS,调 `chrome.runtime.sendMessage` 外部消息 API 获取插件采集的数据。** 数据由插件自动采集,模型**禁止自行调用 API 或猜测**。 **固定扩展 ID:** `ekmgnempbbamlmaolijdfjakeopniion` **采集页面:** | 页面 | URL | 采集内容 | |------|-----|----------| | **工作台** | `work.1688.com` | 旺旺响应率、咨询满意度、物流指标、品质退款率、新灯塔评分 | | **生意参谋** | `sycm.1688.com` | 店铺排名、商品概况、流量、询盘、交易、近7天流量来源/关键词 | content script 在导航完成后自动采集,等待 5-8s 即可通过 `fetch_claw_data(mode='full')` 获取。详见预装的 `scripts/cdp_client.py`。 **API Mode:** `full`(全部)/ `sycm`(仅生意参谋)/ `work`(仅工作台)/ `summary`(汇总)。 --- ## 三、数据结构(插件采集,禁止自己拿) ### 3.1 生意参谋(sycm) ```json { "_pageType": "sycm", "companyName": "店铺名", "category": "主营类目", "subCategory": "子类目", "identity": "svip", "isSvip": true, "rankTrend": { "lastDate": "YYYY-MM-DD", "rank": 5, "layer": 3, "cateLevel1": "...", "cateLevel2": "...", "payAmt": 12345.67, "rawDates": [...], "rawRanks": [...], "rawPayAmt": [...] }, "itemOverview": { /* 在线/动销/UV/PV */ "statDate": "YYYY-MM-DD", "itemCnt": 100, "pullSalesItemCnt": 50, "uv": 200, "payItemQty": 8, "hasVisitorItemCnt": 30, "itemPv": 500 }, "flowStats": { /* 总展现/PV/UV/点击/跳失/无线 */ "statDate": "YYYY-MM-DD", "revealCnt": 1000, "pv": 500, "uv": 200, "clickRate": 0.5, "avgPvs": 2.5, "bounceRate": 0.3, "payByrCnt": 10, "payAmt": 5000, "mobileUv": 120, "mobilePv": 300, "mobileShare": 0.6 }, "inquiry": { /* 询盘、旺旺分 */ "statDate": "YYYY-MM-DD", "effectiveInQUsers": 8, "wangInQUsers": 8, "effectInQCnt": 8, "wangInQCnt": 6, "repeatRate": 0.25, "scorefh": 4.5, "scorehm": 4.2, "scorexy": 4.8 }, "trade": { /* 交易:金额/买家/订单/退款/客单价 */ "statDate": "YYYY-MM-DD", "payAmt": 5000, "payByrCnt": 10, "payNewByrCnt": 3, "payOldByrCnt": 7, "payItemQty": 20, "payMordCnt": 15, "payRate": 0.05, "perByrAmt": 500, "crtOrdItmQty": 8, "crtByrCnt": 5, "crtOrdAmt": 800, "rfdSucAmt": 200, "refundRate": 0.04, "newBuyerAmt": 1500, "newBuyerShare": 0.30, "oldBuyerShare": 0.70, "oldBuyerPerAmt": 500 }, "tradeRecent7": { "dateRange": "YYYY-MM-DD|YYYY-MM-DD", "payAmt": 35000, "payByrCnt": 70, "payNewByrCnt": 20, "payOldByrCnt": 50, "payRate": 0.06, "perByrAmt": 500, "rfdSucAmt": 800, "refundRate": 0.023 }, "flowSourceRecent7": { "dateRange": "YYYY-MM-DD|YYYY-MM-DD", "sources": [ {"name": "搜索", "myUv": 50, "goodUv": 249, "outerId": "search", "outerLevel": "1", "parentOuterId": ""}, {"name": "自然搜索", "myUv": 30, "goodUv": 150, "outerId": "search_natural", "outerLevel": "2", "parentOuterId": "search"} ], "totalMyUv": 103, "totalGoodUv": 758 }, "keywordsRecent7": { "dateRange": "YYYY-MM-DD|YYYY-MM-DD", "keywords": [ {"keyword": "...", "keywordRevealCnt": 82, "uv": 3, "pv": 6, "leadPayAmt": 0, "leadPayByrCnt": 0, "leadCrtByrCnt": 0, "clickRate": 0.036, "webClickRate": 0.032, "webPayRate": 0.01, "revealItem": 9, "bestOrder": 1, "avgOrder": 1, "webSearchIndex": 6014, "webSupplyAndDemandIndex": 120, "referencePrice": 25.00} ], "totalKeywordReveal": 1000, "totalLeadPayAmt": 0, "recordCount": 10 } } ``` ### 3.2 工作台(work) ```json { "_pageType": "work", "wwResponse": {"score": 95.0, "name": "3分钟响应率", "time": "06.17"}, "wwSatisfaction": {"score": 98.0, "name": "咨询满意度"}, "lgt48hGotRate": {"score": 98.5, "name": "48H揽收率"}, "lgtFulfillRate": {"score": 98.5, "name": "履约率"},
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る