前文,分享了openclaw免费部署教程:
永久免费
OpenClaw
部署和实战,7x24在线,手把手教程
上面带大家跑通了接入飞书的流程。
不管是飞书,还是QQ、微信等IM工具,最常用的交互方式是文字。
语音,才是最天然的聊天交互。
如何把小智语音对话机器人和openclaw打通?
其基本流程是:
/>
进一步,小智的能力就不再局限于接入的MCP工具,而是openclaw背后的海量Skills。
今日分享,聊聊:小智Pro的具体做法👇:
- 平台侧:建立和
openclaw的通信 - 用户侧:接入自己的
openclaw,并通过设备端MCP指挥openclaw
/>
建立和openclaw的通信
1.1
通信协议
要实现和openclaw通信,传输层本质上是WebSocket。
飞书、微信都是一种终端。
如何进行区分不同终端和不同会话?
答:client.id和session_key
session
/>
我们可以在openclaw控制台,选择查看指定session的对话:
/>1.2
核心接口
基于openclaw的通信协议,关键请求方法整理如下:
/>
我们把所有方法通过self.request接口封装,底层协议采用
WebSocket
传输,示例代码如下:
asyncdef
"""发送聊天消息到指定session"""
return
self.request('chat.send',
self.session_key,
"""获取聊天历史"""
return
self.request('chat.history',
self.session_key,
"""列出所有session"""
return
self.request('sessions.list')
async
"""列出agents"""
return
self.request('agents.list')
async
"""获取配置"""
return
self.request('config.get')
1.3
响应解析
响应结果中,重点关注agent和chat事件,从日志中查看几个关键节点的数据结构:
2026-02-1517:38:44
'ae76555e-1d6e-4dc1-acea-294e67e0dcce',
'ts':
1771148324960--1126353816726381137,等待
回复...
runId=1771148324960--1126353816726381137,
'start',
runId=1771148324960--1126353816726381137,
'收到',
runId=1771148324960--1126353816726381137,
state=delta,
runId=1771148324960--1126353816726381137,
'delta':
runId=1771148324960--1126353816726381137,
state=delta,
'收到,我去检查下人设文件'}],
'timestamp':
runId=1771148324960--1126353816726381137,
'收到,我去检查下人设文件。
',
'delta':
runId=1771148324960--1126353816726381137,
'end',
runId=1771148324960--1126353816726381137,
state=final,
收到任何消息或者任务,先立即回复我\'收到\',然后再去具体执行\n\n以后我会先回"收到",再干活。
记住了。
'}],
'timestamp':
1771148351507}
1.4
架构设计
基于以上分析,小智Pro采用双WebSocket桥接架构:
- 后端服务作为中间代理(Proxy)
- 一端连接
前端客户端/Esp32设备端
- 一端连接用户的
OpenClawGateway
/>
前端连接成功后,可以尝试给openclaw发一条消息:
/>2.
调用
以上,小智Pro已打通和openclaw的通信。
设备端如何调用呢?
本质上还是通过MCP,再看文章开头的流程图:
/>
因此,我们只需在设备端新增一个
Tool:self.openclaw.send。
但是,小智的语音识别很难精准命中openclaw,所以最好给openclaw一个中文名字:
/>
欧克劳,就他了。
测试发送成功,并收到了openclaw的回应:
/>3.
用户接入openclaw流程
3.1
修改人设设定
因为openclaw接入的是推理模型,thinking阶段耗时较长。
为了减少等待时长,需要修改下openclaw的人设:
/>3.2
前端建立连接
首先,在openclaw控制台获取你公网可访问的Gateway
URL和用于鉴权的Token。
/>
然后,前往小智Pro控制台,填入对应字段:
/>
注:session_key需遵循以下命名规范:
agent:<agent_id>:<label>如果不需要区分会话,可用openclaw控制台的Default
Session
Key。
连接成功后,可在小智Pro控制台进行对话和查看历史对话记录:
/>
人设修改后,在前端看下延时:
/>
/>
简单指令,基本秒回~
再让小智给openclaw发送一个任务指令:
/>
/>
回到openclaw控制台验收下:
/>
成功搞定!
写在最后
本文分享了小智Pro:让小智接管
OpenClaw的实现方案。
如果对你有帮助,不妨点赞收藏备用。
欢迎体验小智Pro更多功能,请戳👇:
https://mkwyqeoebedx.sealosbja.site
注:接管
OpenClaw能力需设备端固件v2.2.2.2版支持。
目前已全面适配小智官方仓库收录的开发板型号,下载地址:
https://github.com/hougeai/xiaozhiPro/releases
/>
有任何问题,欢迎进群交流。


