Install
openclaw skills install card-recommend-skill中信信用卡推荐技能。当用户需要推荐信用卡、办卡建议、选卡对比,或提到"中信信用卡"、"信用卡推荐"、"办哪张卡"等意图时触发此技能。仅推荐中信银行信用卡产品,数据来源于中信信用卡官方接口。
openclaw skills install card-recommend-skillCard Recommend Skill 是中信信用卡推荐技能,从官方数据接口获取最新的中信信用卡产品信息,根据用户需求(年费偏好、权益类型、卡等级等)智能筛选和推荐合适的信用卡,并提供卡面图片、核心权益、申请链接等完整信息。
直接安装即可,无需额外配置参数:
/install-skill card-recommend-skill
sid 和平台标识均由运行环境自动检测,无需手动设置。
申请链接会自动拼接 sid 和 platform 参数,完全由运行环境自动决定:
| 平台 | 环境变量 CLIENT_INFO_IDE_TYPE | sid 值 | platform 值 | URL 示例 |
|---|---|---|---|---|
| QClaw | QClaw | R00002 | qc | ?sid=R00002&platform=qc |
| WorkBuddy | WorkBuddy | R00003 | wb | ?sid=R00003&platform=wb |
| OpenClaw | OpenClaw | R00003 | oc | ?sid=R00003&platform=oc |
| 命令行(无环境变量) | (未设置) | R00003 | (不追加) | ?sid=R00003 |
sid 规则:
R00002R00003平台检测逻辑:
CLIENT_INFO_IDE_TYPE → CLIENT_INFO_PLATFORM → CLIENT_INFO_PLUGIN_NAMEplatform=xx 参数R00003)重要:不要用 WebFetch 获取原始 JSON 数据(约 73KB,会大量占用上下文),所有数据获取、筛选、排序均由脚本完成。
收到用户请求后,首先判断用户是否表达了明确的使用场景或需求:
需求明确(直接推荐) — 用户提到了以下任意一项:
→ 跳到 Step 3
需求模糊(需要引导) — 用户只说了以下这类话:
→ 进入 Step 2 引导
目标:通过可点击的快捷选项,帮用户明确核心需求,再精准推荐。
必须使用 AskUserQuestion 工具提供可点击选项,不要只用文字列表让用户手打回复。
使用 AskUserQuestion 工具,提供可点击的场景选项:
{
"questions": [{
"question": "您平时主要用卡做什么?这样我能推荐更合适的卡:",
"header": "用卡场景",
"options": [
{"label": "航旅出行", "description": "经常出差、坐飞机,看重航延险、里程"},
{"label": "购物返现", "description": "日常消费为主,希望笔笔返现、多倍积分"},
{"label": "餐饮娱乐", "description": "经常点外卖、看电影、美食消费"},
{"label": "加油充电", "description": "有车一族,加油充电优惠"}
]
}]
}
如果用户第一轮没选到满意的,继续追问第二轮:
{
"questions": [{
"question": "还有这些场景也可以选择:",
"header": "更多场景",
"options": [
{"label": "互联网会员", "description": "希望送视频/音乐会员权益"},
{"label": "免年费优先", "description": "不想交年费,刷卡或绑卡即可免"},
{"label": "医疗健康", "description": "看重就医绿通、健康体检等权益"},
{"label": "留学教育", "description": "留学缴费、外币消费需求"}
]
}]
}
用户也可以选择"其他"自由输入需求。
如果用户选了有年费的等级(如高端卡),用 AskUserQuestion 补充问:
{
"questions": [{
"question": "对年费有什么要求吗?",
"header": "年费偏好",
"options": [
{"label": "免年费优先", "description": "刷卡或绑卡即可免年费,不想额外花钱"},
{"label": "可接受年费", "description": "愿意付费换更多权益和高端服务"}
]
}]
}
引导后,根据用户点击的选项映射到脚本参数:
| 用户选择 | 脚本参数 |
|---|---|
| 航旅出行 | --benefit "航延" |
| 购物返现 | --keyword "返现" |
| 餐饮娱乐 | --keyword "美团" |
| 加油充电 | --keyword "加油" |
| 互联网会员 | --keyword "会员" |
| 免年费优先 | --free-annual-fee |
| 医疗健康 | --keyword "医疗" |
| 留学教育 | --keyword "留学" |
| 不想交年费 | --free-annual-fee |
| 可接受年费 | 不加 --free-annual-fee |
然后进入 Step 3。
使用 Bash 工具运行脚本,根据用户需求组合参数:
python "C:\Users\CITIC\.workbuddy\skills\card-recommend-skill\scripts\card_recommend.py" --keyword "关键词" --level 等级代码 --benefit "权益关键词" --free-annual-fee --top 5 --json
参数说明:
| 参数 | 说明 | 示例 |
|---|---|---|
--keyword | 关键词匹配(名称、标签) | --keyword "免年费" |
--level | 卡等级代码 | --level W3 |
--benefit | 权益关键词 | --benefit "航延" |
--free-annual-fee | 仅免年费卡片(开关) | --free-annual-fee |
--top | 返回前 N 张卡片 | --top 3 |
--json | 以 JSON 格式输出(推荐使用) | --json |
--guide | 输出引导选项数据 | --guide |
典型调用示例:
| 场景 | 命令 |
|---|---|
| 综合推荐 Top 5 | python card_recommend.py --top 5 --json |
| 免年费卡片 | python card_recommend.py --free-annual-fee --json |
| 航旅权益 | python card_recommend.py --benefit "航延" --json |
| i白金卡等级 | python card_recommend.py --level W3 --json |
| 关键词搜索 | python card_recommend.py --keyword "京东" --json |
| 多条件组合 | python card_recommend.py --free-annual-fee --benefit "航延" --top 3 --json |
脚本路径(使用绝对路径):
C:\Users\CITIC\.workbuddy\skills\card-recommend-skill\scripts\card_recommend.py
根据脚本返回的结果,格式化为用户友好的推荐信息。
使用 --json 参数时,脚本输出格式为:
{
"count": 3,
"cards": [
{
"name": "卡片名称",
"product_name": "产品系列名",
"level_code": "W3",
"level_name": "i白金卡",
"image_url": "https://...",
"apply_url": "https://...?sid=R00003&platform=wb",
"benefits": [
{"title": "权益标题", "brief": "权益简述", "detail": "权益详述"}
],
"tags": "搜索标签",
"new_customer_gift": "新户礼遇",
"is_free_annual_fee": true,
"is_default_face": true
}
]
}
对每张推荐的卡片,按以下格式输出(每张卡之间用 --- 分隔,首推卡加 🏆 标识):
---
### 🏆 卡片名称(首推)

**卡等级**:等级名称 | **年费**:年费政策(免年费则加 ✅)
**新户礼遇**:新户礼遇内容(若无则不显示此行)🎁
**推荐理由**:[根据用户的原始需求,写1-2句为什么推荐这张卡,要具体、有针对性]
**核心权益**:
1. **权益标题** — 权益简述
2. **权益标题** — 权益简述
3. **权益标题** — 权益简述
🔗 **[立即申请](完整申请URL)**
---
排版要点:
<img src="url" style="width:220px; border-radius:8px;"> 控制大小,不要用 (会过大)### 卡片名称(不加 🏆)**标题** — 简述 格式,比冒号更清晰**[立即申请](url)**,加 🔗 前缀--- 分隔,视觉上更清晰推荐 3-5 张最匹配的卡片。
当用户要求对比时,使用表格形式对比关键维度:
| 维度 | 卡片A | 卡片B | 卡片C |
|---|---|---|---|
| 年费政策 | ... | ... | ... |
| 核心权益1 | ... | ... | ... |
| 核心权益2 | ... | ... | ... |
| 卡等级 | ... | ... | ... |
| 申请链接 | ... | ... | ... |
以下是一些自然流畅的引导话术,可根据语境灵活调整:
开场引导:
补充追问:
缩小范围:
推荐后追加:
python card_recommend.py --free-annual-fee --json
python card_recommend.py --benefit "航延" --json
python card_recommend.py --keyword "返现" --json
python card_recommend.py --keyword "卡名1" --top 1 --json
python card_recommend.py --keyword "卡名2" --top 1 --json
用表格形式对比结果。
→ 进入 Step 2 引导流程,先问使用场景,再精准推荐
→ 进入 Step 2 引导流程,先问使用场景,再精准推荐
| 代码 | 含义 | 年费大致区间 |
|---|---|---|
| W3 | i白金卡 | 刷卡免年费 |
| W2 | 白金卡 | 刷卡免年费 |
| B3 | 精英/精逸白金卡 | 480-2000元 |
| K4 | 精逸级白金卡 | 2000元 |
| E4 | 尊贵级白金卡 | 2000元 |
| C5 | 尊尚白金卡 | 3600元 |
| F7 | 高端白金卡 | 6800元 |
| 00 | 尊贵/高端白金卡 | 2000元+ |
| TU | 特殊白金等级 | 视产品而定 |
| GOLD | 金卡 | 刷卡免年费 |
--json 输出 - JSON 格式便于程序化处理,避免文本解析出错R00002,其他平台使用 R00003,完全由环境自动决定gi)只保留一个条目,脚本已自动处理brief 字段,用户追问时再展示 detail 字段详细的字段说明见 references/api_data.md。核心映射关系:
| 业务含义 | 数据路径 | 说明 |
|---|---|---|
| 卡片名称 | datas[].ch[].cn | 卡片完整名称 |
| 产品系列名 | datas[].pn | 同一产品系列名 |
| 卡面图片 | cdnPath + datas[].ch[].ci | 拼接 CDN 前缀得到完整 URL |
| 权益列表 | datas[].ch[].cr[] | 每项含标题 t、简述 d、详述 dt |
| 申请链接 | datas[].pu 或 datas[].au | 优先使用 pu,脚本自动拼接 sid + platform |
| 卡等级 | datas[].ch[].f | 代码含义见等级映射表 |
| 搜索标签 | datas[].fl | 逗号分隔关键词 |
| 新户礼遇 | datas[].ch[].ncg | 新户专属权益标语 |
| 默认卡面 | datas[].ch[].if == "1" | 产品推荐时优先展示 |