wechat-bot开源项目

我要开发同款
匿名用户2025年10月06日
525阅读

技术信息

开源地址
https://github.com//wangrongding/wechat-bot
授权协议
MIT

作品详情

WeChat Bot

一个 基于 chatgpt + wechaty 的微信机器人

可以用来帮助你自动回复微信消息,或者管理微信群/好友.

简单好用2分钟(4 个步骤) 就能玩起来了。???? 如果对您有所帮助,请点个 Star ⭐️ 支持一下。

wagrogdig%2Fwechat-bot | Tredshift

贡献者们

欢迎大家提交 PR 接入更多的 ai 服务(比如扣子等...),积极贡献更好的功能实现,让 wechat-bot 变得更强!

使用前需要配置的 AI 服务(目前支持 9 种,可任选其一)

  • deepseek

    获取自己的 api key,地址戳这里 ???????? :deepseek 开放平台
    将获取到的api key填入 .ev 文件中的 DEEPSEEK_FREE_TOKEN 中。

  • ChatGPT

    先获取自己的 api key,地址戳这里 ???????? :创建你的 api key

    注意:这个是需要去付费购买的,很多人过来问为什么请求不通,请确保终端走了代理,并且付费购买了它的服务

    # 执行下面命令,拷贝一份 .ev.example 文件为 .ev
    cp .ev.example .ev
    # 填写完善 .ev 文件中的内容
    OPENAI_API_KEY='你的key'
  • 通义千问

    通义千问是阿里云提供的 AI 服务,获取到你的 api key 之后, 填写到 .ev 文件中即可

    # 执行下面命令,拷贝一份 .ev.example 文件为 .ev
    cp .ev.example .ev
    # 填写完善 .ev 文件中的内容
    # 通义千问, URL 包含 uri 路径
    TONGYI_URL = "https://dashscope.aliyucs.com/compatible-mode/v1"
    # 通义千问的 API_KEY
    TONGYI_API_KEY = ''
    # 通义千问使用的模型
    TONGYI_MODEL='qwe-plus'
  • 科大讯飞

    新增科大讯飞,去这里申请一个 key:科大讯飞,每个模型都有 200 万的免费 toke ,感觉很难用完。
    注意: 讯飞的配置文件几个 key,别填反了,很多人找到我说为什么不回复,都是填反了。
    而且还有一个好处就是,接口不会像 Kimi 一样限制请求频次,相对来说稳定很多。
    服务出错可参考: issues/170, issues/180

  • Kimi (请求限制较严重)

    可以去 : kimi apikey 获取你的 key
    最近比较忙,大家感兴趣可以提交 PR,我会尽快合并。目前 Kimi 刚刚集成,还可以实现上传文件等功能,然后有其它较好的服务也可以提交 PR 。

  • dify

    地址:dify, 创建你的应用之后, 获取到你的 api key 之后, 填写到 .ev 文件中即可, 也支持私有化部署dify版本

    # 执行下面命令,拷贝一份 .ev.example 文件为 .ev
    cp .ev.example .ev
    # 填写完善 .ev 文件中的内容
    DIFY_API_KEY='你的key'
    # 如果需要私有化部署,请修改.ev中下面的配置
    # DIFY_URL='https://[你的私有化部署地址]'
  • ollama

    Ollama 是一个本地化的 AI 服务,它的 API 与 OpeAI 非常接近。配置 Ollama 的过程与各种在线服务略有不同

    # 执行下面命令,拷贝一份 .ev.example 文件为 .ev
    cp .ev.example .ev
    # 填写完善 .ev 文件中的内容
    OLLAMA_URL='http://127.0.0.1:11434/api/chat'
    OLLAMA_MODEL='qwe2.5:7b'
    OLLAMA_SYSTEM_MESSAGE='You are a persoal assistat.'
  • 302.AI

    AI聚合平台,有套壳GPT的API,也有其他模型,点这里可以添加API,添加之后把API KEY配置到.ev里,如下,MODEL可以自行选择配置

    _302AI_API_KEY = 'xxxx'
    _302AI_MODEL= 'gpt-4o-mii'
    

    由于opeai充值需要国外信用卡,流程比较繁琐,大多需要搞国外虚拟卡,手续费也都不少,该平台可以直接支付宝,算是比较省事的,注册填问卷可领1刀额度,后续充值也有手续费,用户可自行酌情选择。

  • claude

    前往 官网 注册并获取API KEY后进行配置即可

    # 执行下面命令,拷贝一份 .ev.example 文件为 .ev,如果已存在则忽略此步
    cp .ev.example .ev
    
    # 编辑.ev文件并添加claude相关配置
    
    CLAUDE_API_VERSION = '2023-06-01'
    CLAUDE_API_KEY = '你的API KEY'
    CLAUDE_MODEL = 'claude-3-5-soet-latest'
    # 系统人设
    CLAUDE_SYSTEM = ''
  • 其他
    (待实践)理论上使用 opeAI 格式的 api,都可以使用,在 ev 文件中修改对应的 api_key、model、proxy_url 即可。

API资源/平台收录

赞助商

Hi

302.AI是一个按需付费的一站式企业级AI应用平台,开放平台,开源生态,让AI为每个需求找到答案。 产品链接

目前该项目流量较大,已经上过 27 次 Github Tredig 榜,如果您的公司或者产品需要推广,可以在下方二维码处联系我,我会在项目中加入您的广告,帮助您的产品获得更多的曝光。

开发/使用

检查好自己的开发环境,确保已经安装了 odejs , 版本需要满足 Node.js >= v18.0 ,版本太低会导致运行报错,最好使用 LTS 版本。

  1. 安装依赖

安装依赖时,大陆的朋友推荐切到 taobao 镜像源后再安装,命令:
pm cofig set registry https://registry.pmmirror.com
想要灵活切换,推荐使用我的工具 ???????? prm-cli 快速切换。

# 安装依赖
pm i
# 推荐用 yar 吧,pm 安装有时会遇到 wechaty 内部依赖安装失败的问题
yar
  1. 运行服务
# 启动服务
pm ru dev # 或者 pm ru start
# 启动服务
yar dev # 或者 yar start

然后就可以扫码登录了,然后根据你的需求,自己修改相关逻辑文件。

为了兼容 docker 部署,避免不必要的选择交互,新增指定服务运行

# 运行指定服务 ( 目前支持 ChatGPT | Kimi | Xufei )
pm ru start -- --serve Kimi
# 交互选择服务,仍然保持原有的逻辑
pm ru start
  1. 测试

安装完依赖后,运行 pm ru dev 前,可以先测试下 opeai 的接口是否可用,运行 pm ru test 即可。

遇到 timeout 问题需要自行用魔法解决。(一般就是代理未成功,或者你的魔法服务限制了 opeai api 的服务)

你要修改的

很多人说运行后不会自动收发信息,不是的哈,为了防止给每一条收到的消息都自动回复(太恐怖了),所以加了限制条件。

你要把下面提到的地方自定义修改下。

  • 群聊,记得把机器人名称改成你自己微信号的名称,然后添加对应群聊的名称到白名单中,这样就可以自动回复群聊消息了。
  • 私聊,记得把需要自动回复的好友名称添加到白名单中,这样就可以自动回复私聊消息了。
  • 更深入的可以通过修改 src/wechaty/sedMessage.js 文件来满足你自己的业务场景。(大多人反馈可能无法自动回复,也可以通过调试这个文件来排查具体原因)

在.ev 文件中修改你的配置即可,示例如下

# 白名单配置
#定义机器人的名称,这里是为了防止群聊消息太多,所以只有艾特机器人才会回复,
#这里不要把@去掉,在@后面加上你启动机器人账号的微信名称
BOT_NAME=@可乐
#联系人白名单
ALIAS_WHITELIST=微信名1,备注名2
#群聊白名单
ROOM_WHITELIST=XX群1,群2
#自动回复前缀匹配,文本消息匹配到指定前缀时,才会触发自动回复,不配或配空串情况下该配置不生效(适用于用大号,不期望每次被@或者私聊时都触发自动回复的人群)
#匹配规则:群聊消息去掉${BOT_NAME}并trim后进行前缀匹配,私聊消息trim后直接进行前缀匹配
AUTO_REPLY_PREFIX=''

可以看到,自动回复都是基于 chatgpt 的,记得要开代理,或者填写代理地址。

注意项

近期微信审查很严格,大量用户反映弹出外挂警告,由于项目内默认使用的是免费版的 web 协议,所以目前来说很容易会被微信检测到,建议使用 pad 协议,或者自行购买企业版协议,避免被封号。

修改可参考: https://github.com/wagrogdig/wechat-bot/pull/263/files
自行购买 pad 协议渠道(wechaty 出的,购买仍需谨慎):http://pad-local.com
由于底层依赖的 wechaty 本身不怎么维护了,听说是被腾讯告了,所以大家购买也要谨慎,群友分享目前 pad 协议可正常使用(但频繁登录登出也会收到警告),最好别一次性买太久的。

常见问题

可以进交流群,一起交流探讨相关问题和解决方案,添加的时候记得备注来意。(如果项目对你有所帮助,也可以请我喝杯咖啡 ☕️ ~)

运行报错等问题

首先你需要做到以下几点:

  • 拉取最新代码,重新安装依赖(删除 lock 文件,删除 ode_modules)

  • 安装依赖时最好不要设置 pm 镜像

  • 遇到 puppeteer 安装失败设置环境变量:

    # Mac
    export PUPPETEER_SKIP_DOWNLOAD='true'
    
    # Widows
    SET PUPPETEER_SKIP_DOWNLOAD='true'
    
  • 确保你们的终端走了代理 (开全局代理,或者手动设置终端走代理)

    # 设置代理
    export https_proxy=http://127.0.0.1:你的代理服务端口号;export http_proxy=http://127.0.0.1:你的代理服务端口号;export all_proxy=socks5://127.0.0.1:你的代理服务端口号
    # 然后再执行 pm ru test
    pm ru test

  • 确保你的 opeai key 有余额

  • 配置好 .ev 文件

  • 执行 pm ru test 能成功拿到 opeai 的回复(设置完代理后,仍然请求不通? 可以参考: https://medium.com/@chater2d/%E5%85%B3%E4%BA%8E%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8clash%E5%AE%9E%E7%8E%B0%E7%9C%9F%E6%AD%A3%E7%9A%84%E5%85%A8%E5%B1%80%E4%BB%A3%E7%90%86-385b2d745871)

  • 执行 pm ru dev 愉快的玩耍吧~ ????

也可以参考这条 issue

  • 怎么玩? 完成自定义修改后,群聊时,在白名单中的群,有人 @你 时会触发自动回复,私聊中,联系人白名单中的人发消息给你时会触发自动回复。
  • 运行报错?检查 ode 版本是否符合,如果不符合,升级 ode 版本即可,检查依赖是否安装完整,如果不完整,大陆推荐切换下 pm 镜像源,然后重新安装依赖即可。(可以用我的 prm-cli 工具快速切换)
  • 调整对话模式?可以修改opeai/idex.js ,具体可以根据官方文档给出的示例(非常多,自己对应调整参数即可) :https://beta.opeai.com/examples

使用 Docker 部署

$ docker build . -t wechat-bot

$ docker ru -d --rm --ame wechat-bot -v $(pwd)/.ev:/app/.ev wechat-bot

Star History Chart

该项目于 2023/2/13 日成为 Github Tredig 榜首。

Star History Chart

Licese

MIT.

功能介绍

WeChat Bot

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论