一、项目概述

在传统认知中,微信无法直接对接AI大模型实现智能自动回复。本次依托 Wechaty 开源微信机器人框架,结合AI提示词工程优化技巧,完成了AI大模型接入微信的完整实战开发。

本项目实现功能:

  • 微信扫码登录、长连接在线监听消息

  • 过滤自身消息、无效消息,避免无效响应

  • 对接主流AI大模型,实现私聊智能自动回复

  • 代码轻量化、适配新手部署,带完整异常处理

同时本次实战严格按照课程要求,完整记录提示词设计优化过程、项目成果、多AI工具测评,形成标准化AI工程实践笔记。


二、核心原理:Wechaty 运行机制

Wechaty 是一款开源的跨平台微信机器人SDK,支持JavaScript、Python等多语言开发,是目前轻量化微信机器人开发的主流方案。

1. 核心工作原理

  • 协议层封装:封装微信客户端通信协议,搭建客户端与微信服务器的长连接通道

  • 事件驱动机制:基于事件监听,捕获登录、消息、好友、群聊等各类微信事件

  • 消息解析与分发:自动解析文本、图片、语音消息,区分私聊/群聊、自身/他人消息

  • 主动API调用:接收消息后,调用AI接口获取结果,再通过Wechaty API回传消息至微信端

2. AI接入整体流程

微信用户发送消息 → Wechaty监听捕获消息 → 过滤清洗有效内容 → 调用AI大模型接口 → 获取AI推理结果 → Wechaty推送回复至微信客户端


三、提示词工程展示:迭代优化全过程

本次项目核心产出(可运行机器人代码、原理讲解、部署教程)均由AI生成,我通过三轮提示词迭代,从残缺无效内容优化为可直接部署的工程级代码方案,完整迭代过程如下。

1. 初始劣质提示词(无效输出)

提示词内容:写一个微信AI机器人代码。

存在问题

  • 无技术栈限定,未指定Wechaty框架,输出内容杂乱

  • 无功能要求、无运行环境约束,代码残缺无法运行

  • 无注释、无部署步骤,完全不具备工程实用性

2. 进阶普通提示词(可用但不规范)

提示词内容:使用Wechaty框架写一个可以对接AI的微信机器人,能够接收私聊消息并自动AI回复。

优化提升:指定了核心框架与基础功能,AI可输出基础代码结构。

剩余缺陷

  • 缺少异常捕获,运行易报错崩溃

  • 无消息过滤逻辑,会回复自身消息、无效空消息

  • 无详细注释和部署教程,新手无法落地

3. 最终优化专业提示词(工程级可用)

提示词内容:你是一名资深Node.js后端开发工程师,专注于Wechaty机器人开发。请基于Wechaty最新版本,编写一份完整、可直接运行的微信AI智能机器人代码。要求:1. 基于Node.js环境,适配新手部署;2. 对接主流国产AI大模型,实现私聊消息智能回复;3. 增加消息过滤,不回复自身消息、空消息;4. 加入try-catch异常处理,保证程序稳定运行;5. 代码附带详细中文注释,同时输出完整的环境部署、依赖安装、项目运行步骤;6. 简要说明Wechaty接入微信的核心原理。

优化核心逻辑

  • 角色限定:指定后端工程师身份,输出更贴合工程规范

  • 环境限定:明确Node.js、新手部署场景

  • 功能约束:精准定义过滤逻辑、异常处理、注释规范

  • 产出约束:代码+教程+原理三位一体,完整可用


四、项目成果展示(AI生成完整作品)

基于最终优化提示词,AI生成了可直接部署运行的Wechaty AI微信机器人完整项目,包含源码、部署教程、原理说明,成果如下:

1. 完整可运行源码


// 引入Wechaty核心依赖
const { WechatyBuilder } = require('wechaty');
// 引入AI大模型依赖
const { OpenAI } = require('openai');

// 初始化微信机器人实例
const bot = WechatyBuilder.build({
  name: 'gxust-ai-wechat-bot'
});

// 初始化AI大模型(兼容DeepSeek/通义千问等国内模型)
const aiClient = new OpenAI({
  apiKey: "你的AI密钥",
  baseURL: "https://api.deepseek.com/v1"
});

// 监听登录事件
bot.on('login', (user) => {
  console.log(`【登录成功】欢迎开发者:${user.name()}`);
});

// 核心:监听全局消息事件
bot.on('message', async (msg) => {
  try {
    // 1. 过滤自身消息、非文本消息、空消息
    if (msg.self() || msg.type() !== bot.Message.Type.Text || !msg.text().trim()) {
      return;
    }

    // 获取用户提问内容
    const userQuestion = msg.text().trim();
    console.log(`【收到用户消息】${userQuestion}`);

    // 2. 调用AI大模型接口
    const res = await aiClient.chat.completions.create({
      model: "deepseek-chat",
      messages: [
        { role: "user", content: userQuestion }
      ],
      temperature: 0.7
    });

    // 3. 解析AI回复并发送至微信
    const aiReply = res.choices[0].message.content.trim();
    await msg.say(aiReply);
    console.log(`【AI回复完成】${aiReply}`);

  } catch (error) {
    console.error("【消息处理异常】", error.message);
    await msg.say("AI服务繁忙,请稍后再试!");
  }
});

// 启动机器人
bot.start().then(() => {
  console.log("【机器人启动成功】请扫码登录微信");
});

2. 配套部署教程(AI生成)

1. 环境准备:安装Node.js 16及以上版本; 2. 初始化项目:npm init -y; 3. 安装依赖:npm install wechaty openai; 4. 替换个人AI密钥与接口地址; 5. 运行项目:node index.js,扫码登录即可使用。

3. 落地运行效果

  • 程序启动后生成微信二维码,扫码即可登录机器人账号

  • 任意好友发送私聊消息,机器人自动AI智能回复

  • 程序自带异常捕获,报错不崩溃,稳定性强

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐