Skip to content
cccskills
FreePublished on GitHub

dxm-qa-check

店小秘速卖通上品——QA复核模块:逐字段校验1688数据准确性、星号必填项、定价公式、关键字段完整度

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25 stars(GitHub 25 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md6.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

店小秘上品QA检查模块

触发时机

所有模块(1-9)填完后、保存前,自动执行。

检查维度

1. 1688 数据准确性 ⭐最关键

检查项1688来源页面值规则
成本价1688详情页N/A(不填到页面)用于验算零售价
重量(g)1688参数表包装后重量(kg)g÷1000=kg
库存1688规格行SKU库存>2000封顶2000
材质1688参数表属性→材质选最接近
品牌1688参数表属性→品牌NONE或实际
产地1688参数表属性→产地中国大陆+省份

2. 定价公式验算

零售价 = (1688成本价 + 5) × 1.02 ÷ 0.413
       = (成本 + 5) × 2.469

验证:零售价 ≤ 页面值 ± 0.01
货值 = 零售价(两列同值)

3. 星号字段全覆盖 ⭐提交失败主因

逐模块检查所有 ant-form-item-required 字段:

模块必填项检查方式
基本信息标题、分类标题无中文、分类已选
属性信息产地/品牌/液晶/出餐量/材质/智能/化学品/电池全部非空
产品信息图片/计件单位/容量/SKU定价(全部)6张主图、SKU全填
描述信息PC端描述有内容、图已翻译
包装信息包装后重量非空
模板信息运费/服务/海关非"请选择"
其他信息报价含关税非空

4. 关键字段一致性

检查说明
Green/Pink行一致零售价/货值/库存/重量/原箱/物流 两行完全相同
是否原箱=是select value='1'
物流属性=普货无电池产品
商品编码Green/Pink 已生成
图片翻译主图6张+SKU图+PC描述图 全部提交

执行方法

🥇 首选:execute_code + websocket CDP 全页扫描(2026-07-19新增)

browser_snapshot 输出在 ~1500 行截断,无法覆盖编辑页下半部分。替代方案: 用 execute_code + websocket 直连 CDP relay 进行全页 QA 扫描。

详见 aliexpress-store-ops → references/cdp-websocket-qa-scan.md

import asyncio, json
import websockets

async def qa():
    ws = await websockets.connect("ws://127.0.0.1:19223/devtools/page/{targetId}", max_size=None)
    msg = {"id": 1, "method": "Runtime.evaluate", "params": {"expression": """
    (() => {
        const body = document.body.innerText;
        return JSON.stringify({
            chineseError: body.includes('中文字符'),
            pleaseSelectCount: (body.match(/请选择/g) || []).length,
            bodyLength: body.length
        });
    })()
    """, "returnByValue": True}}
    await ws.send(json.dumps(msg))
    resp = await asyncio.wait_for(ws.recv(), timeout=10)
    return json.loads(resp)

targetId 获取: curl -s http://127.0.0.1:19223/json → 找 dianxiaomi.com/web/smt/edit 的 target

备选:批量星号检查(DOM查询,可能误判)

批量星号检查

star_report = await page.evaluate('''() => {
    const items = document.querySelectorAll('.ant-form-item');
    const missing = [];
    items.forEach(item => {
        const star = item.querySelector('.ant-form-item-required, [class*="required"]');
        if (!star) return;
        const label = item.querySelector('label');
        const inp = item.querySelector('input');
        const sel = item.querySelector('.ant-select-selector');
        const val = inp ? inp.value : (sel ? sel.textContent.trim() : '?');
        const isEmpty = !val || val.includes('请选择') || val.includes('请选中');
        if (isEmpty) {
            missing.push((label?.textContent || '?').trim());
        }
    });
    return missing;
}''')
# missing 为空 → 全部星号已填 ✅

定价公式验算

cost = 1688成本价
expected = round((cost + 5) * 1.02 / 0.413, 2)
actual = float(page输入框中的零售价)
assert abs(expected - actual) < 0.02, f"定价异常: 预期{expected} 实际{actual}"

SKU两行一致性

green = {零售价, 货值, 库存, 重量, 原箱, 物流}
pink = {同上}
assert green == pink, "SKU两行不一致!"

报告格式

📋 QA检查报告
━━━━━━━━━━━━━━━━
✅ 1688数据准确性: 通过
✅ 定价公式: 15.56 = (1.30+5)×2.469 ✓
✅ 星号字段: 全部已填 (0个缺失)
✅ SKU一致性: Green=Pink ✓
✅ 图片翻译: 全部提交
✅ 模板: 运费/服务已选
━━━━━━━━━━━━━━━━
结论: 可以保存

⚠️ 常见问题

  1. 最小出餐量容易漏填 —— 1688无数据也要选一个值
  2. Pink行SKU未更新 —— 用nth(2)不是nth(1)
  3. 图片改尺寸后未翻译 —— 检查每个section的翻译提交状态
  4. 包装尺寸无1688数据 —— 跳过,不算缺失
  5. 非星号字段(电源/电压/动力等)所有自动化方法无法选中 —— 已确认的 Vue 3 免疫字段,跳过不纠缠,汇报给用户手动操作

🚨 QA误判陷阱(2026-07-19新增)—— 已填字段被误报为"缺失"

问题: 用 DOM 元素检查法(.ant-select-selection-item、.ant-form-item input)会漏读已填值,产生大量误报。

根因:

  • ant-select-auto-complete 型字段值存储在 input.value 中,不在 .ant-select-selection-item 的 .textContent 中
  • 部分 ant-select 选中值通过嵌套 <div> 渲染,.textContent 可能返回空/空白
  • Vue 3 响应式更新后 DOM 结构可能与预期不同

正确验证方法(按优先级):

  1. 页面 body 全文搜索(最可靠): document.body.innerText.includes('Plastic') 等 —— 只要值在页面上任何地方渲染,就能匹配
  2. 按字段类型分别读取:
    • 普通 ant-select:'.ant-select-selection-item' 的 .textContent.trim()
    • auto-complete 型(材质/最大出餐量等):.ant-select-auto-complete input 的 .value
    • 原生 input:input.value
  3. 不要只依赖一种读取方式 —— 如果 DOM 读不到但 body 文本有值,以 body 文本为准

误报处理规则:

  • 如果 body 文本能找到值 → 字段已填 ✅,不要重新操作
  • 只有在 body 文本中也找不到值时才标记为真正缺失 ❌
  • 向用户汇报时先筛掉误报,只报告真正缺失的字段

作者: 南方星火 SouthernSpark | 小红书 @南方星火 SouthernSpark | AI自动化专家工作流

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

速卖通店铺运营自动化 — 每日巡检/每周策略/商品上架/数据分析全流程。填入你的店铺名即可使用。

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25Updated Aug 7, 2026

店小秘速卖通编辑页——属性信息模块:产品属性批量填(ant-select CDP填充)+ 自定义属性删除

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25Updated Aug 7, 2026

店小秘速卖通编辑页——基本信息模块:标题改英文 + 产品分类选择

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25Updated Aug 7, 2026

速卖通上架——1688采集模块:从1688搜索产品 → 采集到店小秘采集箱 → 提取产品参数(价格/库存/重量/材质等)

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25Updated Aug 7, 2026

店小秘速卖通编辑页——店小秘信息模块:来源URL(只读,记录用)

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25Updated Aug 7, 2026

店小秘速卖通上品完整工作流——从采集箱到发布的所有模块编排、调用顺序、区域调价、保存发布

The English summary is being prepared. Showing the original description.

southernspark-nfxh/aliexpress-auto-listing-skill25Updated Aug 7, 2026

See all skills by southernspark-nfxh

Report a problem with this skill