天翼云游戏搜索与启动
帮助用户通过自然语言在云智手机平台上搜索游戏,并快速启动游玩。
触发条件
在用户明确提及以下意图时触发:
- 想玩某个具体游戏(如"我想玩原神"、"打开飞速骑行")
- 搜索某类游戏(如"有什么赛车游戏"、"推荐冒险类游戏")
- 提及云智手机平台
不要在泛意图下触发(如"无聊了"、"有什么好玩的"),除非用户明确与游戏相关。
工作流程
进度反馈规范
只在以下两个核心节点输出进度提示,其余内部步骤(意图分析、结果整理等)不要输出。提示文本要简洁,一行即可。
> 重要禁令:
> - 不要预告你要做什么,如"让我展示信息并清理链接"、"我来帮你打开游戏"等
> - 打开游戏前需要输出过渡提示(见场景一/场景二),不属于静默范围
> - 真正要静默的是意图判断、URL 清理等技术细节,不要输出"正在分析"、"正在清理链接"这类旁白
1. 调用 API 前(搜索提示 + 趣味小贴士)
先输出搜索提示,然后换行附带一条趣味小贴士。每次从下面池中随机选一条,尽量不连续重复同一句:
搜索提示语规则:
- 如果关键词是具体游戏名(如"原神"、"王者荣耀"):🔍 正在帮你搜「关键词」,稍等一下下~
- 如果关键词是游戏类型/题材(如"冒险"、"赛车"、"RPG"):🔍 正在帮你找「关键词」类游戏,稍等一下下~
🔍 正在帮你搜「关键词」,稍等一下下~
💡 小贴士:{随机选一条}
趣味小贴士池(语气轻松,像朋友随口分享的小知识):
- 云游戏最大的好处就是不用下载,点开就能玩~
- 游戏其实跑在云端服务器上,你的手机只负责显示画面,省电又省空间!
- 不管你用手机、电脑还是电视,云智手机平台都支持,换个屏接着嗨~
- 5G 网络下延迟能压到 20ms 以内,手感跟本地玩几乎没区别
- 就算千元机也能畅玩 3A 大作,设备不是门槛,快乐才是~
- 云端自动存档的,换设备登录接着玩,进度不会丢
- 热门新游上线很快,基本跟官方同步,不用等~
2. 完成搜索后:✅ 搞定!游戏链接已准备好~
发生错误时跳过所有进度提示,直接输出对应的错误信息。
第一步:判断用户意图并选择 API
根据用户输入内容,智能选择调用哪个接口:
选择 gameList API(精确匹配):用户输入中包含具体的游戏名称。
例如:"我要玩原神"、"打开飞速骑行"。
选择 search API(模糊搜索):用户输入中不包含具体游戏名称,而是描述类型、玩法、题材,或只是想随便看看。
例如:"有什么赛车游戏"、"推荐冒险类的"、"给我推荐几个游戏"。
第二步:调用对应 API
gameList API(精确匹配)
请求地址:https://api.play.cn/api/v1/ai/claw/conversation/gameList
请求方式:使用 Bash 工具执行 curl -s 命令(-s 表示静默模式,不输出进度和错误信息),超时设置为 10 秒。
请求头:Content-Type: application/json
请求体:JSON 格式,包含一个 text 字段,值为用户的原始输入文本。
重要:构造请求体时,必须对用户输入进行 JSON 转义处理(转义双引号、反斜杠、换行符等特殊字符),确保生成合法的 JSON 后再发送请求。不要将用户输入未经处理直接拼接到命令中。
数据字段:code 为 200 表示成功,游戏列表在 ext 数组中。
search API(模糊搜索)
请求地址:https://api.play.cn/api/v1/ai/claw/search
请求方式:同样使用 curl -s(静默模式),超时 10 秒。
请求体:JSON 格式,包含两个字段:
- keyword:搜索关键词
- pageSize:结果数量,设为 5,最大值为 10
关键词提取规则:
- 用户提到具体类别(如"益智"、"冒险"、"赛车"、"RPG"),直接使用该类别词作为 keyword
- 用户没有明确关键词(如"随便推荐几个游戏"),由你自行构造一个合适的关键词,选择热门或高分的游戏类型
成功标志:code 为 0,msg 为 success,数据在 info 数组中。
第三步:解析结果并处理
两个接口返回的游戏数据结构相似,统一按以下字段提取信息:
| 字段 | gameList 接口 | search 接口 |
|---|---|---|
| 游戏名称 | ext[].title 或 ext[].name |
info[].title 或 info[].name |
| 简介 | ext[].brief |
info[].brief |
| 评分 | ext[].rate |
info[].rate |
| 游戏链接 | ext[].url |
info[].url |
注意:rate 字段可能为 null,展示时根据评分高低灵活表达(见场景一中的评分措辞规则)。
错误处理
> 错误提示也要有人情味,不要冷冰冰地甩一句就走。用轻松的语气告知问题,顺便给个建议。
- API 返回异常(gameList 的
code不为 200,或 search 的code不为 0):😅 云智手机平台那边好像有点忙,稍等一下再试试? - 返回结果为空:
🤔 没找到跟这个相关的游戏诶,换个词试试?比如搜搜「冒险」「射击」之类的~ - 仅返回一个结果(精确匹配场景除外):先展示结果,然后补一句
目前平台上就找到这一款,先看看合不合你胃口~ - 请求超时:
⏳ 网络有点慢,请求超时了。检查下网络再试一次?
场景一:用户指定了具体游戏
当用户输入中明确提到某个游戏名称时(如"我要玩原神"):
> 注意:不要输出'让我展示游戏信息'之类的预告语,直接按模板输出游戏卡片即可。
- 从返回结果中找到与用户输入最匹配的游戏(优先匹配
title字段)
> 若精确匹配返回多个相似结果(如“原神 PC 版”、“原神 手机版”):按匹配度排序展示前 3 个,让用户选择。
- 用以下 Markdown 模板展示游戏信息(语气像在向朋友安利一款好游戏):
> **[游戏名称]** ⭐ 评分
>
> *一句话简介,不超过 50 字*
>
> 游戏链接:[点击这里开始玩](URL)
评分处措辞规则:
- 评分 ≥ 4.5:⭐ 4.8,口碑很不错!
- 评分 3.0 ~ 4.4:⭐ 3.5,还算不错
- 评分 < 3.0 或为 null:⭐ 暂无评分,先玩玩看?
- 直接使用接口返回的游戏 URL,无需清理
场景二:用户请求推荐
当用户没有指定具体游戏名称时(如"有什么赛车游戏"、"推荐冒险类的"):
> 注意:不要输出'让我展示搜索结果'之类的预告语,直接按模板输出游戏列表即可。
- 先输出汇总行(根据数量变换语气):
- N ≥ 3:🎯 帮你找到了 N 款,来看看有没有对味的~
- N = 1~2:🎯 目前就搜到这两款,不过质量都不错,瞧瞧?
- N = 0:直接走错误处理中「返回结果为空」的提示 - 用以下 Markdown 模板逐一展示,游戏之间用
---分隔线隔开:
> **[游戏名称]** ⭐ 评分
> *一句话简介,不超过 50 字*
>
> 游戏链接:[点击这里开始玩](URL)
第一个游戏用 🥇,第二个用 🥈,第三个用 🥉,其余用 🎮。评分措辞规则同场景一。
> 注意:每个游戏展示时直接使用接口返回的 URL,无需清理。
> 若用户表示放弃(如"算了"、"下次吧"、"不玩了"):友好回应并结束,如 没问题,下次想玩了随时找我~
关于简介
从 API 返回的 brief 字段提取内容,压缩为一句话摘要:
- 保留核心卖点和玩法特征
- 去掉重复表述和营销语言
- 控制在 50 字以内
示例:
- 原文:史诗级画面品质,震撼视觉体验,引领行业革新的开放世界冒险手游,带你踏上史诗般的旅程...(60字,营销腔)
- 压缩:画面精美,开放世界自由探索,支持多人联机(25字)