通过小爱音箱语音控制 OpenClaw(橘子),实现语音交互。
"让橘子" + 你的问题
示例:
用户:让橘子,今天天气怎么样? 小爱:正在连接橘子哦... 小爱:今天天气晴朗,气温 25 度,适合外出哦~
在 micnb.yml 中添加:
# OpenClaw 配置
OPENCLAW_GATEWAY_URL: "ws://localhost:18789" # 默认值
OPENCLAW_SESSION_KEY: "agent:cloud:main" # 默认值
如果需要修改默认值,可以设置环境变量:
export OPENCLAW_GATEWAY_URL="ws://your-openclaw-url:18789"
export OPENCLAW_SESSION_KEY="agent:cloud:main"
OpenClawConnection 类 - 长连接管理
getOpenClawConnection() - 获取连接实例(单例模式)sendToOpenClaw() - 发送消息并等待回复closeOpenClawConnection() - 关闭连接启动时自动连接:
// app.js
const connection = getOpenClawConnection(gatewayUrl, sessionKey);
await connection.connect();
console.log('✅ OpenClaw 长连接已建立');
消息发送:
// config.js
const response = await sendToOpenClaw(
this.openclaw.gatewayUrl,
userQuestion,
this.openclaw.sessionKey
);
关闭时清理:
// app.js
process.on('SIGTERM', () => {
connection.close();
process.exit(0);
});
MiGPT 启动 ↓ 创建 OpenClawConnection 实例 ↓ WebSocket 连接到 OpenClaw Gateway ↓ ✅ 长连接建立成功
小爱音箱 (语音) ↓ 语音转文字 MiGPT (识别"让橘子") ↓ 复用已有连接 OpenClaw Gateway (ws://localhost:18789) ↓ AI 处理 OpenClaw Agent (agent:cloud:main) ↓ 返回结果 MiGPT (播放) ↓ TTS 小爱音箱 (语音输出)
连接断开 ↓ 检测连接状态 ↓ 自动重连 (最多 5 次) ↓ 等待 3 秒 * 尝试次数 ↓ 重新建立连接
🍊 正在初始化 OpenClaw 连接 - 启动时开始连接✅ OpenClaw 长连接已建立 - 连接成功🔌 正在连接 OpenClaw - 正在建立连接✅ OpenClaw WebSocket 已连接 - WebSocket 连接成功✅ 橘子回复 - 收到 OpenClaw 回复❎ 橘子连接失败 - 连接失败🔒 OpenClaw WebSocket 已关闭 - 连接关闭🔄 正在重连 OpenClaw - 自动重连中/root/files/miclaw/cnb/openclawConnector.js - WebSocket 长连接管理器/root/files/miclaw/cnb/config.js - 配置文件/root/files/miclaw/cnb/app.js - 启动脚本/root/files/miclaw/cnb/package.json - 依赖配置创建:2026-03-12 作者:🍊 橘子 更新:2026-03-12 16:20 - 支持长连接模式