OpenClaw 接入微信:打造你的专属微信 AI 助手

0 阅读1分钟

完整教程,从零开始,手把手教你实现微信 AI 机器人

为什么接入微信?

  • 用户习惯:中国人都在用微信
  • 便捷性:无需打开其他 App,直接在微信聊天
  • 自动化:消息自动处理、定时提醒、信息查询
  • 隐私:本地运行,数据不外传

方案对比

方案优点缺点
企业微信官方支持,稳定需要企业认证
微信公众号免费,简单功能受限
Web 微信免费,功能全需扫码登录
ComWechat功能最强配置复杂

本文采用 Web 微信 + OpenClaw 方案。

前置准备

  1. OpenClaw 已安装

    openclaw --version
    
  2. 一个微信账号(建议小号测试)

  3. Node.js 18+

步骤 1:安装依赖

# 安装 wechaty(微信机器人框架)
npm install wechaty wechaty-puppet-wechat

步骤 2:配置 OpenClaw

编辑 ~/.openclaw/config.yaml

channels:
  - name: wechat
    type: wechat
    enabled: true
    puppet: wechaty-puppet-wechat

步骤 3:创建启动脚本

// wechat-bot.js
const { WechatyBuilder } = require('wechaty');

const bot = WechatyBuilder.build();

bot
  .on('scan', (qrcode) => {
    console.log('扫码登录:');
    require('qrcode-terminal').generate(qrcode, { small: true });
  })
  .on('login', (user) => {
    console.log(`登录成功: ${user}`);
  })
  .on('message', async (msg) => {
    const contact = msg.talker();
    const text = msg.text();

    // 调用 OpenClaw API
    const response = await fetch('http://localhost:3000/api/chat', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ message: text })
    });

    const reply = await response.json();
    await msg.say(reply.text);
  });

bot.start();

步骤 4:运行

# 启动 OpenClaw
openclaw start

# 启动微信机器人
node wechat-bot.js

步骤 5:扫码登录

终端会显示二维码,用微信扫码登录。

常见问题

Q: 登录失败?

Web 微信有时会被限制,尝试:

  1. 换一个微信号
  2. 等待 24 小时
  3. 使用企业微信方案

Q: 消息回复慢?

检查:

  1. 网络连接
  2. OpenClaw 是否正常运行
  3. 模型 API 是否超时

Q: 支持群聊吗?

支持!修改消息处理逻辑:

if (msg.room()) {
  // 群聊消息
  const room = await msg.room();
  await room.say(reply.text);
}

进阶功能

1. 指令系统

if (text.startsWith('/')) {
  const cmd = text.slice(1).split(' ');
  switch (cmd[0]) {
    case 'weather':
      return getWeather(cmd[1]);
    case 'news':
      return getNews();
    // ...
  }
}

2. 定时提醒

const { Schedule } = require('node-schedule');

// 每天 8:00 发送早报
Schedule.scheduleJob('0 8 * * *', async () => {
  const contact = await bot.Contact.find({ name: '杨虎' });
  await contact.say('早安!今日简报:...');
});

3. 关键词触发

const triggers = {
  '天气': getWeather,
  '新闻': getNews,
  '翻译': translate,
};

for (const [keyword, handler] of Object.entries(triggers)) {
  if (text.includes(keyword)) {
    return handler(text);
  }
}

安全提醒

  1. 不要发敏感信息(密码、银行卡等)
  2. 使用小号测试
  3. 遵守微信使用规范
  4. 定期检查登录状态

总结

微信接入 OpenClaw 后,你就有了一个:

  • 24 小时在线的 AI 助手
  • 自动回复的客服机器人
  • 定时提醒的私人秘书
  • 多功能的查询工具

💬 有问题?评论区留言!

🎯 需要帮助安装?微信:yang1002378395