From dfe186f92841108fd68719e512faa93bd2346d8e Mon Sep 17 00:00:00 2001 From: matevip Date: Sun, 3 May 2026 17:16:05 +0800 Subject: [PATCH] docs(skill): rewrite ckjia-shopping output format around pre-rendered markdownLink/priceTag --- .../resources/skills/ckjia-shopping/SKILL.md | 56 +++++++++++++------ 1 file changed, 39 insertions(+), 17 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 961605de..6e35ffa2 100644 --- a/mateclaw-server/src/main/resources/skills/ckjia-shopping/SKILL.md +++ b/mateclaw-server/src/main/resources/skills/ckjia-shopping/SKILL.md @@ -36,31 +36,53 @@ tags: 2. **附带图片 / 拍照识物** → `ckjia_image_recognize(image_url)` → 拿到 `suggested_query` 后再 `ckjia_shopping_recommend(suggested_query)` 3. **transport 健康自检** → `ckjia_ping("hello")`,验证 MCP 链路通 -## 输出格式(必须遵守) +## 输出格式(强制规则,零容忍) -每个 ProductCard **必须输出以下信息,缺一不可**——这是用户做购买决策的关键信号: +每个 `ProductCard` 已经预渲染了两个开箱即用字段,**直接复制粘贴这两个字符串到回复**,不要自己拼装: -1. **商品名 + 平台**:用 `[name](url)` markdown 链接形式,**链接必须是 ProductCard.url 字段的真实跳转地址**,否则用户没法点开购买 -2. **现价 + 原价**:`¥currentPrice`(划掉 `~~原价~~` 如果有 `originalPrice`)+ 折扣率 `discountPct` -3. **平台 + 店铺**:`[platformLabel] shopName`(用 `platformLabel` 不是 `platformCode`) -4. **历史最低价对比**:如果 `lowestPrice` 比 `price` 低很多,明确提示"当前比历史最低高 ¥X,可以再等等" -5. **purchaseAdvice**:如果有,原样附在卡片末尾 +- `markdownLink` —— 已经是 `[商品名](购买URL)` 格式,照抄即可 +- `priceTag` —— 已经是 `¥4099 ~~¥4499~~ (9% off)` 格式,照抄即可 -### 推荐输出模板 +### 必须遵守的输出模板 ```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),当前略高,可观察 +1. {{markdownLink}} + - 💰 {{priceTag}} + - 🛒 {{platformLabel}} · {{shopName}} + - 📊 评分 {{rating}} · 销量 {{salesCount}} + - 💡 历史最低 ¥{{lowestPrice}} + - {{purchaseAdvice}} ``` -### 严禁的错误 +把双花括号 `{{xxx}}` 替换成 ProductCard 对应字段的值。**`markdownLink` 一定要原样输出**,不要把它拆开后用其它方式重组。 -- ❌ 只列商品名不带链接 / 链接是占位符 -- ❌ 只说"在淘宝有售"不给具体跳转 URL -- ❌ 拼接虚构的 URL(必须用 `ProductCard.url` 原文) +### 真实示例 + +工具返回: +```json +{ + "name": "格力空调 云佳pro 1.5匹...", + "url": "https://union-click.jd.com/jdc?e=...", + "markdownLink": "[格力空调 云佳pro 1.5匹...](https://union-click.jd.com/jdc?e=...)", + "priceTag": "¥3057", + "platformLabel": "京东", + ... +} +``` + +正确输出: +```markdown +1. [格力空调 云佳pro 1.5匹...](https://union-click.jd.com/jdc?e=...) + - 💰 ¥3057 + - 🛒 京东 +``` + +### 严禁的错误(出现任何一条都算回复失败) + +- ❌ 不输出 `markdownLink` —— 用户没法点击购买 +- ❌ 把 markdownLink 拆开只取商品名 —— 等于丢弃链接 +- ❌ 编造任何不在 ProductCard 字段里的 URL +- ❌ 输出 `[商品名](url)` 但中间填占位符或省略号 ## 其它字段处理