1688-felt-bag-factory-finder-bundle

Other

毛毡包源头工厂筛选工具 v2.1 — 直接使用用户关键词(禁止变形),8维度严格筛选 + 自动询盘 + Chart.js HTML可视化 + Excel数据表 + Dinzee双文件公网分享。 一条命令完成:关键词搜索 → 地址验证 → 筛选分类 → 询盘确认 → HTML+Excel双格式报告 → Dinzee上传 → 输出裸链接。

Install

openclaw skills install 1688-felt-bag-factory-finder-bundle

毛毡包源头工厂筛选工具 v2.1

🎯 功能概述

专门针对毛毡包品类,在邢台+东莞产业带筛选源头工厂。整合 AlphaShop 搜索、地区验证、8维度筛选、自动询盘、HTML报告和 Dinzee 公网分享。

🔍 8维度筛选条件

条件要求硬性/弹性
锁定地区邢台市、东莞市(含南宫)硬性
工厂类型生产厂家/工贸一体/超级工厂/源头工厂硬性
响应率≥60%(默认,可配置 --min-response-rate硬性
回头率≥20%硬性
起订量支持50-500件弹性(询盘确认)
验厂标签深度验厂/安心购/老板带看视频弹性(询盘确认)
特殊工艺阻燃、环保胶水弹性(询盘确认)
合作方式支持OEM/ODM弹性(询盘确认)

🚀 命令行调用

# 基础用法(搜索 + 筛选 + 询盘 + 报告 + 上传)
python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包

# 多关键词搜索(获取5+家工厂必需)
python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 毛毡包工厂 邢台毛毡包 东莞毛毡包 毛毡包定制 毛毡包生产厂家

# 调整响应率阈值(默认60%)
python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 --min-response-rate 70

# 跳过询盘
python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 --no-inquiry

# 控制最大询盘数
python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 --max-inquiry 3

# 保存JSON结果
python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 --output result.json

参数说明

参数必填说明默认值
--keywords搜索关键词列表(直接使用,不做变形)
--min-response-rate响应率最低阈值(百分比整数)60
--no-inquiry跳过自动询盘false
--max-inquiry最大询盘数量5
--output输出JSON文件路径

📋 工作流程(7步,全自动)

Step 1 关键词搜索(AlphaShop search-1688-supplier,精确匹配)
  ↓
Step 2 地址验证(curl 工厂卡片页,从 HTML 提取地区)
  ↓
Step 3 8维度筛选(地区+工厂类型+响应率+回头率 → 通过/待确认)
  ↓
Step 4 自动询盘(从工厂卡片页提取商品链接 → inquiry-1688 submit 提交)
  ↓
Step 5 生成 Chart.js 交互式 HTML 报告(响应率vs回头率柱状图 + 订单排名图)
  ↓
Step 6 生成 Excel 报告(openpyxl 4 Sheet:工厂对比总表 + 筛选条件 + 询盘详情 + 推荐排名)
  ↓
Step 7 双文件上传 Dinzee → 输出 HTML 裸链接 + Excel 裸链接

⚠️ 核心铁律

1. 禁止关键词变形

直接使用用户给定的关键词,不做任何变形或扩展。

❌ 禁止:自动添加"工厂""OEM""深度验厂"等后缀、拆分地区组合 ✅ 正确:用户给"毛毡包"→搜"毛毡包";用户给多个→逐个搜索

2. AlphaShop 单结果限制

AlphaShop API 每次搜索只返回 1 个最佳匹配。同一关键词重复调用返回同一家工厂。

  • 要获取 5+ 家工厂 → 用户必须提供多个不同关键词
  • 结果不够时 → 诚实告知 API 限制,建议用户提供更多关键词

3. location 字段经常为空

AlphaShop 返回的 supplier.location 经常为空。地区推断策略:

  1. 从公司名称提取("南宫市XX"→邢台,"东莞市XX"→东莞)
  2. curl 工厂卡片页 HTML 搜索地区关键词

4. 询盘需要商品链接

inquiry-1688 需要商品详情页链接(detail.1688.com/offer/xxx.html),不支持工厂卡片链接。 从工厂卡片页 curl HTML,正则 detail\.1688\.com/offer/(\d+)\.html 提取。

📈 报告特性

  • 分区展示:通过全部筛选 vs 部分条件待确认
  • 工厂卡片:响应率/回头率(颜色标识达标/未达标)、服务分、30天订单、180天买家
  • 筛选评估:每个工厂的 8 维度达标/未达标明细
  • 询盘状态:已提交询盘的工厂、商品链接、TaskId
  • 配色:深蓝 #0f3460 + 红 #e94560
  • 响应式:手机/电脑均可查看
  • Chart.js 图表:响应率vs回头率对比 + 30天订单排名

报告输出(v2.1 全自动双格式)

一条命令自动完成,无需手动生成:

  • HTML:Chart.js 交互式图表(响应率vs回头率柱状图、订单排名横向图)+ 工厂卡片 + 询盘状态表 + 推荐Top3
  • Excel:openpyxl 4 Sheet(工厂对比总表 15列 + 筛选条件 8维度 + 询盘详情 + 推荐排名 Top5)
  • Dinzee:双文件分别上传,输出两个公网裸链接

配色规范:深蓝 #0f3460 + 红 #e94560,绿色 #27ae60(达标),橙色 #f39c12(待确认)

命名规范:felt-bag-comprehensive-report-{YYYYMMDD}.html + felt-bag-factory-analysis-{YYYYMMDD}.xlsx

🔧 依赖环境

组件路径用途
search-1688-supplier~/.agents/skills/search-1688-supplierAlphaShop 搜索(需 AK/SK)
inquiry-1688~/.agents/skills/inquiry-1688询盘提交(需 AK/SK)
Dinzee 上传内置报告公网分享

凭证配置

~/.openclaw/openclaw.json 中配置:

{
  "skills": {
    "entries": {
      "search-1688-supplier": {
        "env": {
          "ALPHASHOP_ACCESS_KEY": "YOUR_AK",
          "ALPHASHOP_SECRET_KEY": "YOUR_SK"
        }
      }
    }
  }
}

💡 使用示例

示例1:基础筛选 + 询盘

python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 "邢台 毛毡包" "东莞 毛毡包"

示例2:只筛选不询盘

python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 --no-inquiry

示例3:限制询盘数量

python3 scripts/felt_bag_factory_finder.py --keywords 毛毡包 --max-inquiry 3 --output result.json

📚 更新日志

v2.1.0 (2026-05-21) — 全功能合体版

  • 🔥 重大升级:一条命令出双份报告 + 双文件上传Dinzee
  • 新增 Chart.js 交互式 HTML:响应率vs回头率柱状图 + 30天订单横向排名图,内置到脚本
  • 新增 openpyxl Excel 自动生成:4个Sheet(工厂对比总表 + 筛选条件 + 询盘详情 + 推荐排名),深蓝表头+浅绿/浅黄行色
  • 新增双文件 Dinzee 上传:HTML + Excel 分别上传,输出两个公网裸链接
  • 修复询盘 CLI 语法:确认 inquiry.py submit {url} {question} 为正确语法
  • 修复 TaskId 截取:用正则 kj-[0-9a-f-]+ 从 stdout 提取,防止截断丢失
  • 询盘失败工厂自动标记:无商品链接→标记"待询盘",提交失败→标记"提交失败"
  • Excel Sheet 结构:工厂对比总表(15列) / 筛选条件(8维度) / 询盘详情(5列) / 推荐排名(Top5+理由)
  • HTML 新增:推荐排名 Top 3 卡片 + 筛选条件说明框 + 统计卡片(5个)

v2.0.0 (2026-05-19)

  • 重大重构:脚本完全重写,更简洁可靠
  • 新增自动询盘:从工厂卡片页提取商品链接 → 个性化询盘问题 → inquiry-1688 提交
  • 新增地区验证:curl 工厂卡片页 HTML 提取地区信息
  • 新增分区报告:通过筛选 vs 待确认分区展示,带颜色标识
  • 新增询盘状态表格:报告中展示已提交询盘的工厂/商品链接/TaskId
  • 修复凭证传递:统一用环境变量传递 AlphaShop AK/SK
  • 修复询盘链接:自动从工厂卡片页提取商品详情链接(非工厂卡片链接)
  • 删除 1688-source-suppliers 依赖:不再需要单独的供应商详情查询

v1.1.0 (2026-05-19)

  • 删除关键词变形,严格使用用户给定关键词

v1.0.0 (2026-05-19)

  • 初始版本

⚠️ 已知陷阱

详见 references/alphashop-single-result-limit.md — AlphaShop 每次只返回1个结果,同一关键词重复调用返回同一家工厂。 详见 references/inquiry-url-extraction-failures.md — 询盘URL提取失败的排查记录和备用方案。

  1. AlphaShop 积分耗尽:返回 FAIL_ACCOUNT_POINT_NOT_ENOUGH 时停止,告知用户充值
  2. 询盘需要商品链接:工厂卡片链接不支持,需从卡片页提取 offer URL。提取失败的工厂标记"待询盘"
  3. curl 优于浏览器:1688 需登录,工厂卡片页用 curl 抓取更稳定
  4. inquiry.py 必须传环境变量:不会从 config 自动读取凭证
  5. inquiry.py CLI 语法:必须用 submit 子命令:
    # ✅ 正确
    python3 scripts/inquiry.py submit https://detail.1688.com/offer/xxx.html "询盘问题"
    # ❌ 错误
    python3 scripts/inquiry.py --url https://detail.1688.com/offer/xxx.html
    
  6. TaskId 提取:用正则 kj-[0-9a-f-]+ 从 stdout 提取,不要依赖 JSON 解析(stdout 可能被截断)
  7. 工厂卡无商品链接:实测约 2/5 工厂卡返回空(页面结构/登录态/地区限制)。脚本自动标记"待询盘"
  8. openpyxl 依赖:Excel 生成需要 pip install openpyxl,未安装时自动跳过 Excel 只生成 HTML
  9. 响应率阈值:建议使用 --min-response-rate CLI参数而非手动改代码