From 292da11eadd02b78a1593787b7336b6a1ea9916d Mon Sep 17 00:00:00 2001 From: matevip Date: Sun, 3 May 2026 17:15:59 +0800 Subject: [PATCH] docs(skill): force ckjia-shopping output to include real purchase URL + structured price/platform/history block --- .../resources/skills/ckjia-shopping/SKILL.md | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/mateclaw-server/src/main/resources/skills/ckjia-shopping/SKILL.md b/mateclaw-server/src/main/resources/skills/ckjia-shopping/SKILL.md index 8cdb3ed9..961605de 100644 --- a/mateclaw-server/src/main/resources/skills/ckjia-shopping/SKILL.md +++ b/mateclaw-server/src/main/resources/skills/ckjia-shopping/SKILL.md @@ -36,11 +36,36 @@ tags: 2. **附带图片 / 拍照识物** → `ckjia_image_recognize(image_url)` → 拿到 `suggested_query` 后再 `ckjia_shopping_recommend(suggested_query)` 3. **transport 健康自检** → `ckjia_ping("hello")`,验证 MCP 链路通 -## 输出渲染建议 +## 输出格式(必须遵守) + +每个 ProductCard **必须输出以下信息,缺一不可**——这是用户做购买决策的关键信号: + +1. **商品名 + 平台**:用 `[name](url)` markdown 链接形式,**链接必须是 ProductCard.url 字段的真实跳转地址**,否则用户没法点开购买 +2. **现价 + 原价**:`¥currentPrice`(划掉 `~~原价~~` 如果有 `originalPrice`)+ 折扣率 `discountPct` +3. **平台 + 店铺**:`[platformLabel] shopName`(用 `platformLabel` 不是 `platformCode`) +4. **历史最低价对比**:如果 `lowestPrice` 比 `price` 低很多,明确提示"当前比历史最低高 ¥X,可以再等等" +5. **purchaseAdvice**:如果有,原样附在卡片末尾 + +### 推荐输出模板 + +```markdown +**1. [当日发货 Apple iPhone 17 Pro](https://uland.taobao.com/coupon/edetail?...)** +- 💰 ¥9,999 ~~¥10,999~~ (省 ¥1,000,9 折) +- 🛒 淘宝 · {shopName} +- 📊 评分 4.8 · 销量 1.2 万 +- 💡 历史最低 ¥9,499(2025-12),当前略高,可观察 +``` + +### 严禁的错误 + +- ❌ 只列商品名不带链接 / 链接是占位符 +- ❌ 只说"在淘宝有售"不给具体跳转 URL +- ❌ 拼接虚构的 URL(必须用 `ProductCard.url` 原文) + +## 其它字段处理 -- `recommendations: ProductCard[]` 在 chat UI 自动渲染成卡片网格(移动端单列、桌面端多列) - `intent` 字段是给 agent 自己看的"我理解对了吗"——拿到后若 `budgetRange` 与用户原话不符,应主动澄清 -- `needsClarification=true` 时,把 `clarificationQuestion` + `clarificationOptions` 直接抛给用户选 +- `needsClarification=true` 时,把 `clarificationQuestion` + `clarificationOptions` 直接抛给用户选,不要硬猜 ## 注意