“本文整理了从腾讯云服务器、PadLocal Token 和微信小号准备,到 WeChaty 代码、智能处理层、PM2 守护和风险控制的完整流程。机器人可对接腾讯云混元知识库或 Hermes Agent。”

前言:为什么选择这个方案?

2026年,做微信群 @ 机器人最常见的需求是:别人在群里 @ 我,机器人能自动从我的知识库里找答案并自然回复

之前很多人尝试用 Hermes Agent 的扫码方式,但实际测试发现存在严重问题:

  • Hermes 扫码登录后使用的是 iLink Bot 身份很难被拉入普通微信群
  • 即使拉进去,@ 提及事件经常收不到,群聊功能极不稳定。
  • 适合私聊,不适合你需要的“拉入任意群 + @ 自动回复”场景。

因此,本文推荐目前最成熟、群支持最好的方案:

WeChaty + wechaty-puppet-padlocal 部署在腾讯云服务器

这个方案的核心优势

  • 群聊支持极强:PadLocal 使用 Pad 协议,能正常被拉入任意微信群,@ 提及识别稳定。
  • 7 × 24 小时云端运行:部署在腾讯云,轻量服务器每月几十块,永不掉线。
  • 完全不需要本地 Mac:不需要一直开微信客户端。
  • 可灵活对接智能大脑:可以直接调用腾讯云混元 + 知识库,也能把 Hermes Agent 当成智能处理层(只用它的记忆和工具能力)。
  • 小白友好:有成熟社区和 PadLocal 服务支持,踩坑少。

风险提醒(必须先看):使用个人微信号做机器人始终存在封号风险。强烈建议使用小号测试,回复频率不要太高。本文仅供学习交流。


一、整体架构图(小白也能看懂)

微信群里有人 @ 机器人

腾讯云服务器上的 WeChaty(puppet-padlocal
↓ 识别是群消息 + @ 了我
提取纯文本内容 + 发送者 + 群名

调用智能处理层(推荐下面两种之一)

  • A. 腾讯云 Agent / 混元大模型 + 知识库(RAG)
  • B. Hermes Agent(部署在另一台或同一台服务器,作为大脑)


生成自然回复文本

WeChaty 把回复发回原群(可 @ 对方)

这个架构把“消息收发”和“智能思考”分开,稳定且易扩展。


二、准备工作(0 基础必做)

1. 腾讯云账号准备

  • 注册腾讯云账号并完成 实名认证(学生党有优惠)。
  • 准备好支付方式。

2. 服务器购买推荐(2026 年最新)

强烈推荐购买「轻量应用服务器 Lighthouse」(比普通 CVM 更适合这个场景):

  • 配置:2 核 4G(够用)或 4 核 8G(推荐,处理知识库更快)
  • 镜像:Ubuntu 22.04 / 24.04
  • 地域:新加坡或香港(如果你在日本延迟好);国内用户可选广州
  • 带宽:3 Mbps 起步
  • 存储:50 GB 以上

预计费用:首月可能有活动,之后每月 30–80 元左右。

购买后记录好:

  • 公网 IP
  • root 密码(或 SSH 密钥)

3. 微信小号准备

  • 准备一个新注册或长期不用的微信小号作为机器人专用号。
  • 不要用主力号

4. 购买 PadLocal Token(必须步骤)

PadLocal 是目前最稳定的 Pad 协议服务商。

  1. 访问 https://github.com/wechaty/puppet-padlocal 注册账号。
  2. 购买 Token(有按量和包月套餐,新手建议先买小额测试)。
  3. 购买后复制你的 Token(格式类似 puppet_padlocal_xxxxxxxx)。

为什么必须买 PadLocal?

免费的 Web 协议容易被封,群聊支持差。PadLocal 虽然要钱,但稳定性和群功能远超免费方案,性价比很高。


三、腾讯云服务器初始化

Step 1:SSH 登录服务器

Windows 用户推荐使用 TermiusPuTTY

Mac/Linux 用户直接终端执行:

ssh root@你的公网IP

首次登录会要求修改密码,按提示操作即可。

Step 2:更新系统并安装基础工具

apt update && apt upgrade -y
apt install curl wget git vim ufw -y

Step 3:安装 Node.js(推荐 LTS 版本)

curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs

# 验证安装
node -v
npm -v

四、创建 WeChaty 项目并安装依赖

mkdir wechat-group-bot && cd wechat-group-bot
npm init -y

# 安装核心依赖
npm install wechaty wechaty-puppet-padlocal dotenv axios

# 可选:安装 pm2 用于守护进程
npm install -g pm2

创建 .env 文件

WECHATY_PUPPET=wechaty-puppet-padlocal
WECHATY_PUPPET_PADLOCAL_TOKEN=你的padlocal_token
AGENT_API_URL=http://localhost:3000/api/reply   # 后面会建这个服务

五、核心代码编写(bot.js

创建 bot.js 文件,内容如下(已添加详细注释):

import { WechatyBuilder } from 'wechaty'
import { PuppetPadlocal } from 'wechaty-puppet-padlocal'
import dotenv from 'dotenv'
import axios from 'axios'

dotenv.config()

const bot = WechatyBuilder.build({
  puppet: new PuppetPadlocal({
    token: process.env.WECHATY_PUPPET_PADLOCAL_TOKEN
  })
})

// 监听所有消息
bot.on('message', async (message) => {
  // 1. 忽略自己发的消息,防止循环
  if (message.self()) return

  const room = message.room()
  if (!room) return // 只处理群消息

  // 2. 检测是否被 @ 了
  const isMentioned = await message.mentionSelf()
  if (!isMentioned) return

  const from = message.from()
  const groupName = await room.topic()

  // 3. 提取 @ 后的纯文本
  let queryText = message.text()
  queryText = queryText.replace(/@[^@\s]+\s*/g, '').trim()

  if (!queryText) {
    await room.say('我在,有什么可以帮你的吗?', from)
    return
  }

  console.log(`[收到@] 群:${groupName} | 发送者:${from?.name()} | 内容:${queryText}`)

  try {
    // 4. 调用智能处理层(后面会建这个接口)
    const res = await axios.post(process.env.AGENT_API_URL, {
      query: queryText,
      groupName: groupName,
      senderName: from?.name() || '群友'
    }, { timeout: 25000 })

    const replyText = res.data.reply || '我思考了一下,暂时没有找到合适答案。'

    // 5. 回复并 @ 对方(更自然)
    await room.say(replyText, from)

    console.log(`[已回复] ${replyText.substring(0, 80)}...`)
  } catch (err) {
    console.error('调用智能层失败:', err.message)
    await room.say('收到消息了,但我这边处理出错了,稍后再试试~', from)
  }
})

bot.start()
  .then(() => console.log('🚀 WeChaty Bot 已启动,等待扫码登录...'))
  .catch(console.error)

六、智能处理层(推荐两种方式)

方式 A:直接调用腾讯云混元 + 知识库(最简单)

在项目中创建 server.js(轻量后端):

import Fastify from 'fastify'
import dotenv from 'dotenv'

dotenv.config()
const fastify = Fastify({ logger: true })

async function callTencentAgent(query, groupName, senderName) {
  // TODO: 这里替换成真实的腾讯云 Agent / 混元 + 知识库调用代码
  // 你可以在腾讯云控制台创建知识库 + Agent,然后用官方 SDK 调用

  // 示例返回(实际请替换)
  return {
    reply: `收到你在「${groupName}」的问题:「${query}」。我已经在知识库里帮你查了,答案是:...(这里是真实答案)`
  }
}

fastify.post('/api/reply', async (request) => {
  const { query, groupName, senderName } = request.body
  if (!query) return { reply: '你好,有什么可以帮你的吗?' }

  const result = await callTencentAgent(query, groupName, senderName)
  return result
})

fastify.listen({ port: 3000, host: '0.0.0.0' })

方式 B:把 Hermes 当成大脑(如果你喜欢 Hermes 的自我进化能力)

你可以单独部署一个 Hermes Agent(只用它的记忆和工具),然后在 callTencentAgent 函数里调用 Hermes 的 API 接口。两者可以协同工作。


七、部署与守护进程(PM2)

# 启动 bot
pm2 start bot.js --name wechat-bot

# 启动智能处理服务
pm2 start server.js --name agent-server

# 设置开机自启
pm2 startup
pm2 save

# 查看日志
pm2 logs wechat-bot
pm2 logs agent-server

八、首次扫码登录

运行后,终端或日志里会出现二维码。用机器人微信小号扫码登录。登录成功后,控制台会显示 “Bot is ready” 或类似信息。


九、拉入群聊并测试

  1. 用你的主力微信把机器人小号拉入测试群。
  2. 在群里发送:@机器人昵称 你好,请测试一下
  3. 机器人应该会回复。

十、进阶优化(让机器人更智能)

  1. 加入知识库 RAG:在腾讯云创建知识库,上传你的文档,然后在 server.js 中调用对应 API。
  2. System Prompt 优化:让回复更像真人。
  3. 增加上下文记忆:用 Map 或 Redis 记录最近几轮对话。
  4. 限流与冷却:同一个群 10 秒内只回复一次,避免刷屏。
  5. Docker 部署(进阶):把整个项目打包成 Docker,方便迁移和备份。

十一、常见问题排查

  • 扫码后一直不在线:检查 PadLocal Token 是否正确,服务器网络是否正常。
  • @ 了没反应:确认 message.mentionSelf() 是否为 true,检查日志。
  • 回复超时:智能处理层响应太慢,增加超时时间或优化 Prompt。
  • 被微信风控:降低回复频率,使用小号,加入随机延迟。

十二、封号风险与最佳实践

  • 优先使用企业微信(最安全)。
  • 个人微信:新号 + 低频 + 自然回复。
  • 不要做营销、广告、大量群发。
  • 定期检查微信登录设备管理。

结语

通过本文,你已经完整掌握了在腾讯云上部署 WeChaty + PadLocal 微信群 @ 智能机器人的全流程。

这个方案目前是个人微信群机器人里群支持最稳定、社区最成熟的方案,同时还能灵活对接腾讯云知识库或 Hermes 作为智能大脑。

后续我可以继续写:

  • 完整 Docker 部署版
  • 企业微信版本
  • Hermes + WeChaty 混合架构详细教程
  • 知识库 RAG 高级调优

有任何问题欢迎在评论区留言,我会持续更新和回复。

点赞 + 收藏 + 关注,谢谢支持!

参考资料

  • WeChaty 官方文档
  • puppet-padlocal 官网
  • 腾讯云轻量应用服务器文档
  • Hermes Agent 官方文档(仅作智能层参考)
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐