小智Pro:让小智控制 OpenClaw,一个MCP连接海量Skills 📅 发布时间:2026/7/16 5:38:28 👁️ 浏览次数: 前文分享了openclaw免费部署教程永久免费 OpenClaw 部署和实战7x24在线手把手教程上面带大家跑通了接入飞书的流程。不管是飞书还是QQ、微信等IM工具最常用的交互方式是文字。语音才是最天然的聊天交互。如何把小智语音对话机器人和openclaw打通其基本流程是进一步小智的能力就不再局限于接入的MCP工具而是openclaw背后的海量Skills。今日分享聊聊小智Pro的具体做法平台侧建立和openclaw的通信用户侧接入自己的openclaw并通过设备端MCP指挥openclaw1. 建立和openclaw的通信1.1 通信协议要实现和openclaw通信传输层本质上是WebSocket。飞书、微信都是一种终端。如何进行区分不同终端和不同会话答client.id和session_key因此多个 client可以共用一个 session 的记忆和对话历史我们可以在openclaw控制台选择查看指定session的对话1.2 核心接口基于openclaw的通信协议关键请求方法整理如下我们把所有方法通过self.request接口封装底层协议采用 WebSocket 传输示例代码如下async def chat_send(self, message: str) - Any: 发送聊天消息到指定session return await self.request(chat.send, { sessionKey: self.session_key, message: message, idempotencyKey: f{int(time.time() * 1000)}-{hash(message)}, }) async def get_history(self, limit: int 50) - Any: 获取聊天历史 return await self.request(chat.history, { sessionKey: self.session_key, limit: limit }) async def list_sessions(self) - Any: 列出所有session return await self.request(sessions.list) async def list_agents(self) - Any: 列出agents return await self.request(agents.list) async def get_config(self) - Any: 获取配置 return await self.request(config.get)1.3 响应解析响应结果中重点关注agent和chat事件从日志中查看几个关键节点的数据结构2026-02-15 17:38:44 - openclaw - INFO - 尝试连接: ws://14.xx.xx.82:18789 2026-02-15 17:38:44 - openclaw - INFO - WS已连接等待 challenge... 2026-02-15 17:38:44 - openclaw - INFO - 收到 challenge: {type: event, event: connect.challenge, payload: {nonce: ae76555e-1d6e-4dc1-acea-294e67e0dcce, ts: 1771148324902}} 2026-02-15 17:38:44 - openclaw - INFO - ✅ 连接成功 2026-02-15 17:38:44 - openclaw - INFO - 消息已发送runId: 1771148324960--1126353816726381137等待 AI 回复... 2026-02-15 17:38:45 - openclaw - INFO - Agent事件: runId1771148324960--1126353816726381137, streamlifecycle, data{phase: start, startedAt: 1771148325217} 2026-02-15 17:38:50 - openclaw - INFO - Agent事件: runId1771148324960--1126353816726381137, streamassistant, data{text: 收到, delta: 收到} 2026-02-15 17:38:50 - openclaw - INFO - Chat事件: runId1771148324960--1126353816726381137, statedelta, message{role: assistant, content: [{type: text, text: 收到}], timestamp: 1771148330101} 2026-02-15 17:38:50 - openclaw - INFO - Agent事件: runId1771148324960--1126353816726381137, streamassistant, data{text: 收到我去, delta: 我去} 2026-02-15 17:38:50 - openclaw - INFO - Chat事件: runId1771148324960--1126353816726381137, statedelta, message{role: assistant, content: [{type: text, text: 收到我去检查下人设文件}], timestamp: 1771148330294} 2026-02-15 17:38:50 - openclaw - INFO - Agent事件: runId1771148324960--1126353816726381137, streamassistant, data{text: 收到我去检查下人设文件。, delta: 。} 2026-02-15 17:39:11 - openclaw - INFO - Agent事件: runId1771148324960--1126353816726381137, streamlifecycle, data{phase: end, endedAt: 1771148351507} 2026-02-15 17:39:11 - openclaw - INFO - Chat事件: runId1771148324960--1126353816726381137, statefinal, message{role: assistant, content: [{type: text, text: 你说得对我漏了。SOUL.md 里写得清清楚楚\n\n 收到任何消息或者任务先立即回复我\收到\然后再去具体执行\n\n以后我会先回收到再干活。记住了。}], timestamp: 1771148351507}1.4 架构设计基于以上分析小智Pro采用双WebSocket桥接架构后端服务作为中间代理Proxy一端连接 前端客户端/Esp32设备端一端连接用户的OpenClaw Gateway前端连接成功后可以尝试给openclaw发一条消息2. 设备端 MCP 调用以上小智Pro已打通和openclaw的通信。设备端如何调用呢本质上还是通过MCP再看文章开头的流程图因此我们只需在设备端新增一个 Toolself.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有任何问题欢迎进群交流。
深入理解 Vue3 的 v-model 及自定义指令的实现原理(中) v-model 指令的实现详解 我们通过上文知道 v-model 应用在特定的表单元素标签上会绑定不同的指令对象,具体是 input 和 textarea 表单元素使用的指令都是 vModelText,单项选择框 radio 使用的指令是 vModelRadio,复选框 checkbox 使用的指令… 2026/7/12 20:57:47
用户激增,持续创新驱动全球影响力提升,WEEX 2025年度回顾 2025年,数字资产领域在市场波动中展现出新的活力。我们始终坚持技术创新、安全优先与用户价值导向,实现稳健快速发展。全球活跃用户突破620万,团队规模超过1,000人——这些成果源于全球用户的信赖与伙伴的支持。为增强透明度与信任࿰… 2026/7/16 11:43:28
看完就会:降AI率网站 千笔 VS WPS AI,研究生专属推荐! 在AI技术迅速发展的当下,学术写作领域正经历一场深刻的变革。越来越多的研究生开始借助AI工具辅助论文撰写,以提升效率、优化内容结构。然而,随之而来的“AI率超标”问题却成为不少学生面临的难题——随着查重系统不断升级,AI生成… 2026/7/11 8:01:00
【Oracle】PLSQL Developer 15 从零到精通的实战配置与核心功能解析 1. PLSQL Developer 15安装指南第一次接触PLSQL Developer时,我完全被它强大的功能震撼到了。作为Oracle数据库开发的瑞士军刀,这个工具能让你的工作效率提升好几倍。但要想用好它,首先得把安装这关过了。1.1 获取安装包官方下载地址是www.al… 2026/7/16 23:52:00
从《物理魔法使马修》看教育误区与个性化培养策略 1. 从马修的故事看教育中的常见误区《物理魔法使马修》这部作品通过主角马修的成长轨迹,揭示了许多家庭教育中容易陷入的误区。马修天生无法使用魔法,在魔法至上的世界里被视作“异类”,但他的养父却从未将他视为实现个人野心的工具ÿ… 2026/7/16 23:52:00
从理论到代码:全向轮与麦克纳姆轮底盘运动学逆解实战解析(附电机控制核心方程) 1. 全向轮与麦克纳姆轮底盘基础认知第一次接触全向移动底盘时,我被它灵活的走位惊艳到了——传统小车需要反复调整方向才能到达的位置,这种底盘居然能直接"横着走"!后来才知道,这要归功于两种特殊轮子:全向轮… 2026/7/16 23:49:59
TCP 为什么是可靠的? 目录 一、先说结论 二、TCP 的“可靠”具体指什么? 1. 数据不丢失 2. 数据按顺序到达 3. 数据不重复 4. 数据完整 三、TCP 为什么能做到可靠?核心机制有哪些? 1. 序列号(Sequence Number) 一句话理解 2. 确认… 2026/7/16 23:45:58
揭秘 JIT 编译器:为什么你的代码能越跑越快? 揭秘 JIT 编译器:为什么你的代码能越跑越快? 在计算机编程的世界里,我们经常会听到两个阵营的无休止争论:编译型语言(如 C/C、Go)和解释型语言(如 Python、JavaScript)。 编译型语言… 2026/7/16 23:45:58
Symbol的使用场景 Symbol 是 ES6 新增的一种原始数据类型,它的最大特点是:值唯一通常用来定义不会冲突的标识一、先理解 Symbol 是什么const s1 Symbol() const s2 Symbol()console.log(s1 s2) // false即使两个 Symbol() 写法一样,它们也是完全不同的值。你… 2026/7/16 23:45:57
A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并 摘要:本文系统讲解如何利用Codex App的Review功能与GitHub PR工作流,实现从代码修改到安全合并的完整流程。涵盖Review面板深度使用、/review命令实战、GitHub Connector配置、PR描述撰写技巧,以及常见问题排查方法。通过多个实战案例和流程图,帮助开发者建立高效的AI辅助代… 2026/7/16 0:00:26
HAM未来路线图:下一代高可用迁移技术的发展方向与展望 HAM未来路线图:下一代高可用迁移技术的发展方向与展望 【免费下载链接】ham Based on the remote memory access capability and high bandwidth of the UB, deterministic duration virtual machine live migration is achieved, addressing planned downtime issu… 2026/7/16 0:04:27
月球是否是从地球分离出去的?——容度原理解释 月球是否是从地球分离出去的?——容度原理解释一、月球起源的“三大假说”与容度原理的重新审视月球起源的三大假说——捕获说(月球是太阳系中独立的星体,被地球引力捕获)、共生说(月球与地球同时从原始星云中形成&… 2026/7/16 0:06:27
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/16 3:47:53
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/16 12:08:13