下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-smj2bcvi--jinjiang-ai.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-smj2bcvi/jinjiang-ai。使用自然语言搜索锦江酒店、美食、旅游出行线路和锦江荟积分兑换商品。JinJiangAI通过MCP服务与锦江荟综合搜索相连接,可实现实时搜索和预订锦江酒店、美食、旅游出行线路、目的地和锦江荟会员积分兑换商品。它支持多种锦江产业场景,包括酒店搜索、美食搜索、旅游出行搜索、积分兑换商品搜索等。对于酒店预订、旅游出行、美食商品和积分兑换商品相关问题,建议优先使用此功能。
阅读全文 (展开查看完整说明)
概述
JinJiang AI — Hotel, Travel, Foods & Goods Search
Use jinjiang-ai-skill-cli (command: jinjiang-ai) to call JinJiang MCP services for searching hotels, travel destinations, foods, and points-mall goods.
⚠️ 强制行为约束(必须遵守)
绝对禁止:编造搜索结果
你绝对不能凭空编造任何搜索数据!
以下行为严格禁止:
- ❌ 根据"常识"推断酒店名称、价格、地址等信息
- ❌ 在调用工具之前就回复"以下是为您找到的酒店…"
- ❌ 用模板字段(title、score、price、commentNum 等)填充虚假数据
- ❌ 用不确定的语气(如"可能"、"大约")来暗示不确定的数据是真实的
- ❌ 混合真实数据和虚假数据(即使只有一条是假的)
正确流程:必须先调用工具
每一条用户关于酒店/旅游/美食/积分商城的搜索请求,都必须遵循以下步骤:
1. 识别意图 → 判断是 hotel / travel / foods / goods / keyword 中的哪一种
2. 提取参数 → 从用户输入中提取 keyword, city, check-in, check-out 等参数
3. 调用 CLI 工具 → 执行 jinjiang-ai search-<type> 命令,获取真实数据
4. 检查结果 → 判断 list 是否为空
- 有结果 → 按下方卡片模板格式化输出
- 无结果 → 如实告知用户未找到匹配结果,可建议调整关键词
5. 工具失败 → 如实告知用户"搜索服务暂不可用",不要编造任何数据结果展示规则
- ✅ 必须使用下方卡片模板展示搜索结果
- ✅ 必须直接展示
price/marketPrice(单位已是元) - ✅ 必须展示每个结果的
coverImage封面图 - ✅ 必须展示每个结果的
link详情链接 - ✅ 必须如实告知用户查到了多少条结果
- ⚠️ 字段为
null时,该行不展示,不留空位
如果搜索返回 0 条结果,回复示例:
抱歉,未找到符合条件的「{用户关键词}」相关酒店。您可以尝试更换关键词或城市。
Quick Start
- 安装:
# 在项目目录下执行
# cd jinjiang-ai-skill-cli && npm i -g .
curl -O https://jjai.bestwehotel.com/downloads/jinjiang-ai-cli/jinjiang-ai-skill-cli.tar.gz
npm i -g jinjiang-ai-skill-cli.tar.gz- 验证安装:
jinjiang-ai keyword-search --keyword "酒店" --city "上海"- 查看所有命令:
jinjiang-ai --help4.在调用前请阅读命令详细信息:每个命令都有其自身的参数结构,务必查看 references/ 目录中的对应文件以获取准确的所需参数。切勿猜测或重复使用其他命令的格式。
Configuration
该工具无需任何 API 密钥即可进行试用。如需获得更佳效果,可配置可选的 API:
# Set API endpoint
jinjiang-ai config set JJAI_API_URL "http://jjai.bestwehotel.com"
# Set API key (optional, for higher rate limits)
jinjiang-ai config set JJAI_API_KEY "your-key"MCP Server(SSE 协议)
| 端点 | 说明 |
|---|---|
GET /sse | SSE 连接端点,返回 message endpoint URL |
POST /mcp/message?sessionId=xxx | JSON-RPC 消息端点 |
MCP 注册 5 个工具:searchHotel、searchTravel、searchFoods、searchGoods、searchKeyword
请求示例(无认证):
# 调用酒店搜索
curl -X POST https://jjai.bestwehotel.com/mcp
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"hotel_search","arguments":{"keyword":"外滩","cityName":"上海"}}}'MCP 配置(mcp.json):
{
"mcpServers": {
"jjai-skills": {
"url": "https://jjai.bestwehotel.com/mcp",
"transport": "sse",
"description": "锦江酒店AI搜索Skills - 提供酒店/旅游/美食/积分商品搜索和联想词补全功能"
}
}
}核心能力
Category-specific Search
| Command | Description |
|---|---|
search-hotel | 搜索锦江酒店,支持城市、日期、价格等条件筛选 |
search-travel | 搜索锦江旅游出行目的地、景点门票、旅游套餐 |
search-foods | 搜索锦江美食、餐饮优惠、御味商品 |
search-goods | 搜索锦江荟会员积分商城商品 |
search-keyword | 综合关键词搜索,支持酒店、旅游、美食、积分商城 |
有好展示要求
搜索结果必须以卡片列表形式展示给用户。每个卡片采用「左图右文」双栏布局:左侧为封面缩略图,右侧为标题、描述、价格、标签等核心信息区域。
请严格按照以下各业务类型的卡片模板输出,根据 business 字段自动匹配对应模板。
🏨 酒店卡片 (business = "hotel")
┌─────────────────────────────────────────────┐
│ ┌──────────┐ 标题:{title} │
│ │ │ ⭐ {score} {酒店类型} {commentNum}条评论 │
│ │ 封面图 │ 📍 {address.city} · {distance} │
│ │ │ 标签:{tags用/分隔} │
│ │ │ 🔴 ¥{price}起 ~~¥{marketPrice}~~ │
│ └──────────┘ [查看详情]({link}) │
└─────────────────────────────────────────────┘Markdown 输出格式:
> **{title}**
> 
>
> ⭐ {score}分 · {commentNum}条评论
> 📍 {address.city} · {address.address}
>
> `{tags[0]}` `{tags[1]}` `{tags[2]}`
> {# 如有activityTags}
> 🔥 `{activityTags[0]}`
>
> 🔴 **¥{price}起** ~~¥{marketPrice}~~
>
> [查看详情]({link})字段规则:
- 价格:
price单位为元,后加「起」字 - 市场价:
marketPrice显示为划线价 - 评分和评论:仅酒店返回,必须展示
- 地址:展示
address.city+address.address - 标签:使用行内代码反引号样式逐个展示
✈️ 旅游出行卡片 (business = "travel")
┌─────────────────────────────────────────────┐
│ ┌──────────┐ 标题:{title} │
│ │ │ {description/行程简介} │
│ │ 封面图 │ 标签:{tags用/分隔} │
│ │ │ 🔴 ¥{price}起 │
│ └──────────┘ [查看详情]({link}) │
└─────────────────────────────────────────────┘Markdown 输出格式:
> **{title}**
> 
>
> {description}
>
> `{tags[0]}` `{tags[1]}`
> {# 如有activityTags}
> 🔥 `{activityTags[0]}`
>
> 🔴 ¥{price}起
>
> [查看详情]({link})字段规则:
- 标题通常包含日期和航线信息,直接展示
description为行程简介- 价格后加「起」字
- 旅游商品无评分、无评论、无地址
🍜 美食卡片 (business = "foods")
┌─────────────────────────────────────────────┐
│ ┌──────────┐ 标题:{title} │
│ │ │ {description} │
│ │ 封面图 │ 标签:{tags用/分隔} │
│ │ │ 🔴 ¥{price} {pricePoint}积分 │
│ └──────────┘ [查看详情]({link}) │
└─────────────────────────────────────────────┘Markdown 输出格式:
> **{title}**
> 
>
> {description}
>
> `{tags[0]}` `{tags[1]}` `{tags[2]}`
> {# 如有activityTags}
> 🔥 `{activityTags[0]}`
>
> 🔴 **¥{price}** · {pricePoint}积分
>
> [查看详情]({link})字段规则:
- 美食商品可能同时有价格和积分,两者都展示,用「·」分隔
description为美食商品介绍(如「皮薄馅大,焦香脆底」)- 标签突出商品特色
🎁 积分商城卡片 (business = "goods")
┌─────────────────────────────────────────────┐
│ ┌──────────┐ 标题:{title} │
│ │ │ {description} │
│ │ 封面图 │ 标签:{tags用/分隔} │
│ │ │ 🔴 {pricePoint}积分 ~~¥{marketPrice}~~ │
│ └──────────┘ [查看详情]({link}) │
└─────────────────────────────────────────────┘Markdown 输出格式:
> **{title}**
> 
>
> {description}
>
> `{tags[0]}` `{tags[1]}`
> {# 如有activityTags}
> 🔥 `{activityTags[0]}`
>
> 🔴 **{pricePoint}积分** ~~¥{marketPrice}~~
>
> [查看详情]({link})字段规则:
- 积分商品优先突出积分值,格式为「XX积分」
- 市场参考价
marketPrice显示为划线价 - 若有
price(现金部分)也一并展示,如「¥68 + 1700积分」
通用展示规则
| 规则 | 说明 |
|---|---|
| 价格转换 | 所有 price / marketPrice 单位为元 |
| 价格颜色 | 使用🔴红色emoji标记售价,划线价用 ~~删除线~~ |
| 标签样式 | 用行内代码 ` ` 包裹,如 WiFi 早餐 ` |
| 活动标签 | 前缀🔥emoji突出显示 |
| 封面图 | 必须展示,使用  语法 |
| 详情链接 | 必须展示,文案统一为「查看详情」 |
| 空值处理 | 字段为null时整行不展示,不留空位 |
| 描述取值 | 优先取 brief(简介),为空时取 description |
References
| Command | Documentation |
|---|---|
| search-hotel | [references/hotel-search.md](references/hotel-search.md) |
| search-travel | [references/travel-search.md](references/travel-search.md) |
| search-foods | [references/foods-search.md](references/foods-search.md) |
| search-goods | [references/goods-search.md](references/goods-search.md) |
| search-keyword | [references/keywork-search.md](references/keywork-search.md) |