go-wechaty
go-wechaty 是一款专为 Go 语言开发者打造的微信聊天机器人开发框架。它旨在帮助开发者快速构建能够自动收发消息、处理好友请求及管理群聊的智能机器人,将原本复杂的微信协议交互封装为简洁易用的 API 接口。
对于希望利用 Go 语言高性能特性来实现微信自动化运营、客服系统或社群管理工具的技术人员而言,go-wechaty 极大地降低了开发门槛。其核心亮点在于“极简代码”理念,官方示例显示仅需六行代码即可启动一个具备基础监听功能的机器人。此外,它采用了独特的架构设计,通过 Wechaty Gateway 将基于 TypeScript 编写的底层 Puppet(驱动模块)转换为 gRPC 服务,使得 Go 程序能够无缝调用丰富的微信功能生态,既保留了 Go 语言的执行效率,又复用了成熟的社区资源。无论是需要开发自动化脚本的工程师,还是研究即时通讯交互的研究者,都能借助 go-wechaty 高效地实现创意原型或生产级应用。
使用场景
某电商运营团队希望利用个人微信号构建一个 7x24 小时自动客服机器人,以即时响应社群内的订单查询与售后问题。
没有 go-wechaty 时
- 开发门槛极高:团队主力语言为 Go,但市面上成熟的微信机器人方案多基于 Python 或 Node.js,迫使后端工程师跨语言重构或学习陌生技术栈。
- 协议维护困难:自行逆向微信私有协议不仅耗时耗力,还极易因微信版本更新导致服务瞬间瘫痪,稳定性无法保障。
- 功能实现繁琐:仅实现基础的“扫码登录”和“消息接收”就需要编写数百行底层网络代码,难以快速验证业务逻辑。
- 并发处理脆弱:缺乏成熟的会话管理模型,面对社群高并发消息时,容易出现消息丢失或响应延迟,严重影响用户体验。
使用 go-wechaty 后
- 原生语言开发:直接利用团队熟悉的 Go 语言,仅需 6 行核心代码即可启动机器人,无缝集成现有的微服务架构。
- 屏蔽底层复杂度:go-wechaty 封装了复杂的 RPA 协议细节,通过 gRPC 网关复用成熟的 Puppet 服务,让开发者专注于业务逻辑而非协议维护。
- 事件驱动编程:提供清晰的
OnMessage、OnLogin等事件钩子,开发人员可像搭积木一样快速定义“收到关键词即回复”的业务规则。 - 企业级稳定性:依托 Wechaty 社区数千个项目的验证,天然支持高并发消息队列处理,确保在促销高峰期客服响应依然流畅稳定。
go-wechaty 让 Go 语言开发者能以最低成本将个人微信号转化为具备企业级稳定性的智能业务终端。
运行环境要求

快速开始
go-wechaty

连接聊天机器人
Wechaty 是一个用于微信 个人 账号的 RPA SDK,可以帮助你用 6 行 Go 代码创建一个聊天机器人。
开发者的声音
“Wechaty 是一个很棒的解决方案,我相信会有更多用户认可它。” 链接
— @Gcaufy,腾讯工程师,WePY 的作者“太好用,好用的想哭”
— @xinbenlv,Google 工程师,HaoShiYou.org 的创始人“最好的微信开发库” 链接
— @Jarvis,百度工程师“Wechaty 让运营人员有更多时间思考如何进行活动策划、留存用户以及实现商业变现。” 链接
— @lijiarui,Juzi.BOT 的创始人兼 CEO。“如果你懂 JavaScript……就试试 Wechaty 吧,它非常容易上手。”
— @Urinx Uri Lee,WeixinBot(Python) 的作者
更多内容请参见 Wiki:开发者之声
加入我们
Wechaty 已被数千名开发者应用于众多聊天机器人项目中。如果你想与其他开发者交流,只需在微信中扫描下方二维码,并输入暗号 go wechaty,加入我们的 Wechaty Go 开发者之家。
立即扫描吧,因为其他 Wechaty Go 开发者也想与你交流呢!(暗号:go wechaty)
使用方法
package main
import (
"fmt"
"github.com/wechaty/go-wechaty/wechaty"
"github.com/wechaty/go-wechaty/wechaty-puppet/schemas"
"github.com/wechaty/go-wechaty/wechaty/user"
)
func main() {
wechaty.NewWechaty().
OnScan(func(context *wechaty.Context, qrCode string, status schemas.ScanStatus, data string) {
fmt.Printf("扫描二维码登录: %s\nhttps://wechaty.github.io/qrcode/%s\n", status, qrCode)
}).
OnLogin(func(context *wechaty.Context, user *user.ContactSelf) {
fmt.Printf("用户 %s 登录成功\n", user)
}).
OnMessage(func(context *wechaty.Context, message *user.Message) {
fmt.Printf("收到消息:%s\n", message)
}).DaemonStart()
}
要求
- Go 1.18+
安装
# 获取 wechaty
go get github.com/wechaty/go-wechaty
开发
make install
make test
常见问题解答
- wechaty-puppet-service:找不到 WECHATY_PUPPET_SERVICE_TOKEN?
- go-wechaty 是 wechaty(TypeScript)的 Go 语言实现。启动 Wechaty 需要使用 Puppets,但目前已知这些 Puppet 主要是用 TypeScript 编写的。为了让 go-wechaty 能够使用这些 Puppet,我们可以使用 wechaty-gateway 将 Puppet 转换为 gRPC 服务,然后让 go-wechaty 连接到该 gRPC 服务:go-wechaty -> wechaty-gateway -> puppet。文档:https://wechaty.js.org/docs/puppet-services/diy/
- Puppet 列表:https://wechaty.js.org/docs/puppet-providers/
参考资料
- 12 分钟学会 Go 语言
- 如何编写 Go 代码
- 从面向对象语言到 Golang 的旅程——Sergey Kibish @DevFest Switzerland 2018
- The Go Blog — 发布 Go 模块
- Effective Go
针对 Node.js 开发者的 Golang
历史
master
v0.4(2020 年 6 月 19 日)
Go Wechaty 和 Scala Wechaty BETA 版本发布!
更多信息请参阅我们博客中的多语言 Wechaty Beta 版本发布活动:
v0.1(2020 年 4 月 3 日)
- 欢迎我们的第二位和第三位 Go Wechaty 贡献者:
- Bojie LI(李博杰)https://github.com/SilkageNet #9
- Chaofei DING(丁超飞)https://github.com/dchaofei #20
- 启用 GitHub Actions
- 添加 Makefile 以方便开发
- 重新组织模块目录:从
src/wechaty改为wechaty - 将示例机器人重命名为
examples/ding-dong-bot.go
v0.0.1(2020 年 3 月 12 日)
- 项目创建。
- 欢迎我们的第一位 Go Wechaty 贡献者:
- Xiaoyu DING(丁小雨)https://github.com/dingdayu #2
相关项目
- Wechaty — 面向微信个人账号的对话式 AI 聊天机器人 SDK(TypeScript)
- Python Wechaty — 面向微信个人账号的 Python 对话式 AI 聊天机器人 SDK(Python)
- Go Wechaty — 面向微信个人账号的 Go 对话式 AI 聊天机器人 SDK(Go)
- Java Wechaty — 面向微信个人账号的 Java 对话式 AI 聊天机器人 SDK(Java)
- Scala Wechaty — 面向微信个人账号的 Scala 对话式 AI 聊天机器人 SDK(Scala)
徽章
[](https://github.com/wechaty/go-wechaty)
贡献者
- @SilkageNet - Bojie LI (李博杰)
- @huan - Huan LI (李卓桓)
创建者
版权与许可
- 代码及文档 © 2020 Wechaty 贡献者 https://github.com/wechaty
- 代码采用 Apache-2.0 许可证发布
- 文档采用知识共享许可协议发布
感谢
版本历史
v0.4.122024/04/01v0.4.112023/09/21v0.4.102023/08/09v0.4.92022/11/19v0.4.82022/11/11v0.4.72022/11/05v0.4.62022/10/21v0.4.52022/10/15v0.4.42022/05/22v0.4.32022/05/16v0.4.22022/05/12v0.4.02022/04/26v0.3.82022/04/16v0.3.72022/04/16v0.3.62021/12/23v0.3.12021/04/16v0.3.02021/04/13v0.2.12020/11/29v0.2.02020/11/11v0.1.12020/05/29常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
funNLP
funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。
gpt4all
GPT4All 是一款让普通电脑也能轻松运行大型语言模型(LLM)的开源工具。它的核心目标是打破算力壁垒,让用户无需依赖昂贵的显卡(GPU)或云端 API,即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。 对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说,GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点,让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者,还是单纯想体验私有化 AI 聊天的普通用户,都能从中受益。 技术上,GPT4All 基于高效的 `llama.cpp` 后端,支持多种主流模型架构(包括最新的 DeepSeek R1 蒸馏模型),并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端,支持 Windows、macOS 和 Linux 等多平台一键安装,还为开发者提供了便捷的 Python 库,可轻松集成到 LangChain 等生态中。通过简单的下载和配置,用户即可立即开始探索本地大模型的无限可能。

