小智ai机器人可以连接OpenClaw龙虾实现双向通信啦
问题背景:10秒超时限制
现象
用户通过小智MCP问星玥问题,小智一直收不到回复,飞书却能正常收到。
根本原因
l小智MCP超时:10秒后强制中断
lOpenClaw处理:需要30-60秒
l结果:根本来不及返回
失败尝试记录
方案1:直接返回(失败)
小智提问→ 调用OpenClaw → 30秒处理 → 超时,回复丢失
方案2:快速确认(部分成功)
小智提问→ 快速返回收到啦 → 后台处理 → 答案只到飞书
问题:小智能听到收到啦,但听不到真正答案。
最终方案:两步回答法
核心思路
把一次回答拆成两步:
1.用户问问题→ 快速返回收到了让我查查
2.用户问查到了吗→ 返回缓存的真正答案
使用示例
第一步:用户:小龙虾帮我查今天天气小智:收到了让我查查准备好后问我查到了吗哦~(后台处理中…)
第二步:用户:小龙虾查到了吗小智:(读真正答案)今天西安天气晴,最高28度…
技术实现
核心代码逻辑
步骤一:快速确认如果不包含查答案关键词:
l快速返回确认
l记录当前问题
l后台处理(不阻塞)
步骤二:返回答案如果包含查答案关键词:
l从缓存读取答案
l返回给小智
智能识别模式
问题
用户说龙虾查到了吗,小智误认为是新问题(包含触发词龙虾)。
解决方案
增加智能识别模式:
l龙虾查到了
l小龙虾查到了
l龙虾怎么样了
l龙虾好了吗
l龙虾结果
l龙虾查到了没
效果对比
|
方案 |
小智能听到吗 |
答案完整性 |
用户体验 |
|
直接返回 |
超时 |
丢失 |
差 |
|
快速确认 |
只听到收到 |
只有飞书收到 |
一般 |
|
两步回答 |
能听到 |
完整 |
好 |
适用场景
最适合
l查询热点新闻
l查询天气信息
l复杂问题咨询
l需要AI思考的问题
不需要
l简单问候你好
l播放音乐指令
l设置提醒
l查询本地缓存内容
使用技巧
推荐说法
l小龙虾帮我查一下xxx
l等待几秒后问:小龙虾查到了吗
不推荐
l连续追问同一个问题
l不等处理完成就问查到了吗
安装部署
服务管理命令
# 查看状态
systemctl status xiaozhi-bridge
# 重启服务
systemctl restart xiaozhi-bridge
# 查看日志
tail -f /tmp/xiaozhi-bridge.log
版本历史(这是我研究时间这个功能的版本历史)
|
版本 |
更新内容 |
|
v3.5.1 |
智能识别龙虾查到了吗作为查答案请求 |
|
v3.5 |
两步回答法先确认再返回答案 |
|
v3.4 |
快速确认+后台推飞书 |
|
v3.3 |
维护对话历史 |
|
v3.2 |
清理Markdown格式 |
|
v3.0 |
先回复小智再推飞书 |
|
v2.0 |
初始版本 |
总结
两步回答法完美解决了小智MCP的10秒超时限制:
1.用户问问题→ 快速确认
2.用户问查到了吗→ 返回答案
3.智能识别不会误判
4.答案完整体验良好
夜雨聆风