[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-wechaty--go-wechaty":3,"tool-wechaty--go-wechaty":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[15,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":98,"env_os":99,"env_gpu":99,"env_ram":99,"env_deps":100,"category_tags":104,"github_topics":105,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":107,"updated_at":108,"faqs":109,"releases":145},8316,"wechaty\u002Fgo-wechaty","go-wechaty","Go Wechaty is a Conversational SDK for Chatbot Makers Written in Go","go-wechaty 是一款专为 Go 语言开发者打造的微信聊天机器人开发框架。它旨在帮助开发者快速构建能够自动收发消息、处理好友请求及管理群聊的智能机器人，将原本复杂的微信协议交互封装为简洁易用的 API 接口。\n\n对于希望利用 Go 语言高性能特性来实现微信自动化运营、客服系统或社群管理工具的技术人员而言，go-wechaty 极大地降低了开发门槛。其核心亮点在于“极简代码”理念，官方示例显示仅需六行代码即可启动一个具备基础监听功能的机器人。此外，它采用了独特的架构设计，通过 Wechaty Gateway 将基于 TypeScript 编写的底层 Puppet（驱动模块）转换为 gRPC 服务，使得 Go 程序能够无缝调用丰富的微信功能生态，既保留了 Go 语言的执行效率，又复用了成熟的社区资源。无论是需要开发自动化脚本的工程师，还是研究即时通讯交互的研究者，都能借助 go-wechaty 高效地实现创意原型或生产级应用。","# go-wechaty\n\n![Go Version](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fgo-mod\u002Fgo-version\u002Fwechaty\u002Fgo-wechaty)\n[![Go](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fworkflows\u002FGo\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Factions?query=workflow%3AGo)\n[![Maintainability](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_readme_eee3fb5bb03b.png)](https:\u002F\u002Fcodeclimate.com\u002Fgithub\u002Fwechaty\u002Fgo-wechaty\u002Fmaintainability)\n\n![Go Wechaty](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_readme_f7524074c5de.png)\n\n[![Go Wechaty Getting Started](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo%20Wechaty-Getting%20Started-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty-getting-started)\n[![Wechaty in Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n\n## Connecting Chatbots\n\n[![Powered by Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20By-Wechaty-brightgreen.svg)](https:\u002F\u002Fgithub.com\u002FWechaty\u002Fwechaty)\n\nWechaty is a RPA SDK for Wechat **Individual** Account that can help you create a chatbot in 6 lines of Go.\n\n## Voice of the Developers\n\n> \"Wechaty is a great solution, I believe there would be much more users recognize it.\" [link](https:\u002F\u002Fgithub.com\u002FWechaty\u002Fwechaty\u002Fpull\u002F310#issuecomment-285574472)  \n> &mdash; \u003Ccite>@Gcaufy, Tencent Engineer, Author of [WePY](https:\u002F\u002Fgithub.com\u002FTencent\u002Fwepy)\u003C\u002Fcite>\n>\n> \"太好用，好用的想哭\"  \n> &mdash; \u003Ccite>@xinbenlv, Google Engineer, Founder of HaoShiYou.org\u003C\u002Fcite>\n>\n> \"最好的微信开发库\" [link](http:\u002F\u002Fweibo.com\u002F3296245513\u002FEc4iNp9Ld?type=comment)  \n> &mdash; \u003Ccite>@Jarvis, Baidu Engineer\u003C\u002Fcite>\n>\n> \"Wechaty让运营人员更多的时间思考如何进行活动策划、留存用户，商业变现\" [link](http:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FdWHAj8XtiKG-1fIS5Og79g)  \n> &mdash; \u003Ccite>@lijiarui, Founder & CEO of Juzi.BOT.\u003C\u002Fcite>\n>\n> \"If you know js ... try Wechaty, it's easy to use.\"  \n> &mdash; \u003Ccite>@Urinx Uri Lee, Author of [WeixinBot(Python)](https:\u002F\u002Fgithub.com\u002FUrinx\u002FWeixinBot)\u003C\u002Fcite>\n\nSee more at [Wiki:Voice Of Developer](https:\u002F\u002Fgithub.com\u002FWechaty\u002Fwechaty\u002Fwiki\u002FVoice%20Of%20Developer)\n\n## Join Us\n\nWechaty is used in many ChatBot projects by thousands of developers. If you want to talk with other developers, just scan the following QR Code in WeChat with secret code _go wechaty_, join our **Wechaty Go Developers' Home**.\n\n![Wechaty Friday.BOT QR Code](https:\u002F\u002Fwechaty.js.org\u002Fimg\u002Ffriday-qrcode.svg)\n\nScan now, because other Wechaty Go developers want to talk with you too! (secret code: _go wechaty_)\n\n## Usage\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty-puppet\u002Fschemas\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty\u002Fuser\"\n)\n\nfunc main() {\n\twechaty.NewWechaty().\n\t\tOnScan(func(context *wechaty.Context, qrCode string, status schemas.ScanStatus, data string) {\n\t\t\tfmt.Printf(\"Scan QR Code to login: %s\\nhttps:\u002F\u002Fwechaty.github.io\u002Fqrcode\u002F%s\\n\", status, qrCode)\n\t\t}).\n\t\tOnLogin(func(context *wechaty.Context, user *user.ContactSelf) {\n\t\t\tfmt.Printf(\"User %s logined\\n\", user)\n\t\t}).\n\t\tOnMessage(func(context *wechaty.Context, message *user.Message) {\n\t\t\tfmt.Printf(\"Message: %s\\n\", message)\n\t\t}).DaemonStart()\n}\n```\n\n## Requirements\n\n1. Go 1.18+\n\n## Install\n\n```shell\n# go get wechaty\n\ngo get github.com\u002Fwechaty\u002Fgo-wechaty\n```\n\n## Development\n\n```sh\nmake install\nmake test\n```\n\n## QA\n- wechaty-puppet-service: WECHATY_PUPPET_SERVICE_TOKEN not found ? \n  - go-wechaty is the go language implementation of [wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty) (TypeScript). Puppet is required to start wechaty, but it is currently known that puppets are written in TypeScript language. In order to enable go-wechaty to use these puppets, we can use wechaty-gateway to convert puppets into grpc service, let go-wechaty connect to the grpc service, go-wechaty -> wechaty-gateway -> puppet, document: https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002Fdiy\u002F\n  - puppet list: https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-providers\u002F  \n\n## See Also\n\n- [Learn Go in 12 Minutes](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=C8LgvuEBraI)\n- [How to Write Go Code](https:\u002F\u002Fgolang.org\u002Fdoc\u002Fcode.html)\n- [Journey from OO language to Golang - Sergey Kibish @DevFest Switzerland 2018](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=1ZjvhGfpwJ8)\n- [The Go Blog - Publishing Go Modules](https:\u002F\u002Fblog.golang.org\u002Fpublishing-go-modules)\n- [Effective Go](https:\u002F\u002Fgolang.org\u002Fdoc\u002Feffective_go.html)\n\n### Golang for Node.js Developer\n\n- [Golang for Node.js Developers - Examples of Golang examples compared to Node.js for learning](https:\u002F\u002Fgithub.com\u002Fmiguelmota\u002Fgolang-for-nodejs-developers)\n- [Learning Go as a Node.js Developer](https:\u002F\u002Fnemethgergely.com\u002Flearning-go-as-a-nodejs-developer\u002F)\n- [Golang Tutorial for Node.js Developers](https:\u002F\u002Fblog.risingstack.com\u002Fgolang-tutorial-for-nodejs-developers-getting-started\u002F)\n\n## History\n\n### master\n\n### v0.4 (Jun 19, 2020)\n\nGo Wechaty Scala Wechaty **BETA** Released!\n\nRead more from our Multi-language Wechaty Beta Release event from our blog:\n\n- [Multi Language Wechaty Beta Release Announcement!](https:\u002F\u002Fwechaty.js.org\u002F2020\u002F06\u002F19\u002Fmulti-language-wechaty-beta-release\u002F)\n\n### v0.1 (Apr 03 2020)\n\n1. Welcome our second and third Go Wechaty contributors:\n    - Bojie LI (李博杰) \u003Chttps:\u002F\u002Fgithub.com\u002FSilkageNet> [#9](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F9)\n    - Chaofei DING (丁超飞) \u003Chttps:\u002F\u002Fgithub.com\u002Fdchaofei> [#20](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F20)\n1. Enable [GitHub Actions](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Factions?query=workflow%3AGo)\n    1. Enable linting: [golint](https:\u002F\u002Fgithub.com\u002Fgolang\u002Flint)\n    1. Enable testing: [testing](https:\u002F\u002Fgolang.org\u002Fpkg\u002Ftesting\u002F)\n1. Add Makefile for easy developing\n1. Re-structure module directories: from `src\u002Fwechaty` to `wechaty`\n1. Rename example bot to `examples\u002Fding-dong-bot.go`\n\n### v0.0.1 (Mar 12, 2020)\n\n1. Project created.\n1. Welcome our first Go Wechaty contributor:\n    - Xiaoyu DING （丁小雨） \u003Chttps:\u002F\u002Fgithub.com\u002Fdingdayu> [#2](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F2)\n\n## Related Projects\n\n- [Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty) - Conversatioanl AI Chatot SDK for Wechaty Individual Accounts (TypeScript)\n- [Python Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpython-wechaty) - Python WeChaty Conversational AI Chatbot SDK for Wechat Individual Accounts (Python)\n- [Go Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty) - Go WeChaty Conversational AI Chatbot SDK for Wechat Individual Accounts (Go)\n- [Java Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fjava-wechaty) - Java WeChaty Conversational AI Chatbot SDK for Wechat Individual Accounts (Java)\n- [Scala Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fscala-wechaty) - Scala WeChaty Conversational AI Chatbot SDK for WechatyIndividual Accounts (Scala)\n\n## Badge\n\n[![Wechaty in Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n\n```md\n[![Wechaty in Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n```\n\n## Contributors\n\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F0)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F0)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F1)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F1)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F2)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F2)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F3)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F3)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F4)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F4)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F5)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F5)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F6)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F6)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F7)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F7)\n\n1. [@SilkageNet](https:\u002F\u002Fgithub.com\u002FSilkageNet) - Bojie LI (李博杰)\n1. [@huan](https:\u002F\u002Fgithub.com\u002Fhuan) - Huan LI (李卓桓)\n\n## Creators\n\n- [@dchaofei](https:\u002F\u002Fgithub.com\u002Fdchaofei) - Chaofei DING (丁超飞)\n- [@dingdayu](https:\u002F\u002Fgithub.com\u002Fdingdayu) - Xiaoyu DING (丁小雨) \n\n## Copyright & License\n\n- Code & Docs © 2020 Wechaty Contributors \u003Chttps:\u002F\u002Fgithub.com\u002Fwechaty>\n- Code released under the Apache-2.0 License\n- Docs released under Creative Commons\n\n## Thanks\n\u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002F?from=go-wechaty\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_readme_18a4fa6b3289.png\" width = \"75px\" height = \"75px\" alt=\"goland.png\" \u002F>\u003C\u002Fa>\n","# go-wechaty\n\n![Go 版本](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fgo-mod\u002Fgo-version\u002Fwechaty\u002Fgo-wechaty)\n[![Go](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fworkflows\u002FGo\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Factions?query=workflow%3AGo)\n[![可维护性](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_readme_eee3fb5bb03b.png)](https:\u002F\u002Fcodeclimate.com\u002Fgithub\u002Fwechaty\u002Fgo-wechaty\u002Fmaintainability)\n\n![Go Wechaty](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_readme_f7524074c5de.png)\n\n[![Go Wechaty 入门](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo%20Wechaty-Getting%20Started-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty-getting-started)\n[![Wechaty 的 Go 实现](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n\n## 连接聊天机器人\n\n[![由 Wechaty 提供支持](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20By-Wechaty-brightgreen.svg)](https:\u002F\u002Fgithub.com\u002FWechaty\u002Fwechaty)\n\nWechaty 是一个用于微信 **个人** 账号的 RPA SDK，可以帮助你用 6 行 Go 代码创建一个聊天机器人。\n\n## 开发者的声音\n\n> “Wechaty 是一个很棒的解决方案，我相信会有更多用户认可它。” [链接](https:\u002F\u002Fgithub.com\u002FWechaty\u002Fwechaty\u002Fpull\u002F310#issuecomment-285574472)  \n> &mdash; \u003Ccite>@Gcaufy，腾讯工程师，[WePY](https:\u002F\u002Fgithub.com\u002FTencent\u002Fwepy) 的作者\u003C\u002Fcite>\n>\n> “太好用，好用的想哭”  \n> &mdash; \u003Ccite>@xinbenlv，Google 工程师，HaoShiYou.org 的创始人\u003C\u002Fcite>\n>\n> “最好的微信开发库” [链接](http:\u002F\u002Fweibo.com\u002F3296245513\u002FEc4iNp9Ld?type=comment)  \n> &mdash; \u003Ccite>@Jarvis，百度工程师\u003C\u002Fcite>\n>\n> “Wechaty 让运营人员有更多时间思考如何进行活动策划、留存用户以及实现商业变现。” [链接](http:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FdWHAj8XtiKG-1fIS5Og79g)  \n> &mdash; \u003Ccite>@lijiarui，Juzi.BOT 的创始人兼 CEO。\u003C\u002Fcite>\n>\n> “如果你懂 JavaScript……就试试 Wechaty 吧，它非常容易上手。”  \n> &mdash; \u003Ccite>@Urinx Uri Lee，[WeixinBot(Python)](https:\u002F\u002Fgithub.com\u002FUrinx\u002FWeixinBot) 的作者\u003C\u002Fcite>\n\n更多内容请参见 [Wiki:开发者之声](https:\u002F\u002Fgithub.com\u002FWechaty\u002Fwechaty\u002Fwiki\u002FVoice%20Of%20Developer)\n\n## 加入我们\n\nWechaty 已被数千名开发者应用于众多聊天机器人项目中。如果你想与其他开发者交流，只需在微信中扫描下方二维码，并输入暗号 _go wechaty_，加入我们的 **Wechaty Go 开发者之家**。\n\n![Wechaty Friday.BOT 二维码](https:\u002F\u002Fwechaty.js.org\u002Fimg\u002Ffriday-qrcode.svg)\n\n立即扫描吧，因为其他 Wechaty Go 开发者也想与你交流呢！（暗号：_go wechaty_）\n\n## 使用方法\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty-puppet\u002Fschemas\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty\u002Fuser\"\n)\n\nfunc main() {\n\twechaty.NewWechaty().\n\t\tOnScan(func(context *wechaty.Context, qrCode string, status schemas.ScanStatus, data string) {\n\t\t\tfmt.Printf(\"扫描二维码登录： %s\\nhttps:\u002F\u002Fwechaty.github.io\u002Fqrcode\u002F%s\\n\", status, qrCode)\n\t\t}).\n\t\tOnLogin(func(context *wechaty.Context, user *user.ContactSelf) {\n\t\t\tfmt.Printf(\"用户 %s 登录成功\\n\", user)\n\t\t}).\n\t\tOnMessage(func(context *wechaty.Context, message *user.Message) {\n\t\t\tfmt.Printf(\"收到消息：%s\\n\", message)\n\t\t}).DaemonStart()\n}\n```\n\n## 要求\n\n1. Go 1.18+\n\n## 安装\n\n```shell\n# 获取 wechaty\n\ngo get github.com\u002Fwechaty\u002Fgo-wechaty\n```\n\n## 开发\n\n```sh\nmake install\nmake test\n```\n\n## 常见问题解答\n\n- wechaty-puppet-service：找不到 WECHATY_PUPPET_SERVICE_TOKEN？  \n  - go-wechaty 是 [wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty)（TypeScript）的 Go 语言实现。启动 Wechaty 需要使用 Puppets，但目前已知这些 Puppet 主要是用 TypeScript 编写的。为了让 go-wechaty 能够使用这些 Puppet，我们可以使用 wechaty-gateway 将 Puppet 转换为 gRPC 服务，然后让 go-wechaty 连接到该 gRPC 服务：go-wechaty -> wechaty-gateway -> puppet。文档：https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002Fdiy\u002F  \n  - Puppet 列表：https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-providers\u002F  \n\n## 参考资料\n\n- [12 分钟学会 Go 语言](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=C8LgvuEBraI)\n- [如何编写 Go 代码](https:\u002F\u002Fgolang.org\u002Fdoc\u002Fcode.html)\n- [从面向对象语言到 Golang 的旅程——Sergey Kibish @DevFest Switzerland 2018](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=1ZjvhGfpwJ8)\n- [The Go Blog — 发布 Go 模块](https:\u002F\u002Fblog.golang.org\u002Fpublishing-go-modules)\n- [Effective Go](https:\u002F\u002Fgolang.org\u002Fdoc\u002Feffective_go.html)\n\n### 针对 Node.js 开发者的 Golang\n\n- [Node.js 开发者入门 Golang — 通过对比 Node.js 示例学习 Golang](https:\u002F\u002Fgithub.com\u002Fmiguelmota\u002Fgolang-for-nodejs-developers)\n- [作为 Node.js 开发者学习 Go 语言](https:\u002F\u002Fnemethgergely.com\u002Flearning-go-as-a-nodejs-developer\u002F)\n- [Node.js 开发者 Golang 教程 — 入门指南](https:\u002F\u002Fblog.risingstack.com\u002Fgolang-tutorial-for-nodejs-developers-getting-started\u002F)\n\n## 历史\n\n### master\n\n### v0.4（2020 年 6 月 19 日）\n\nGo Wechaty 和 Scala Wechaty **BETA** 版本发布！\n\n更多信息请参阅我们博客中的多语言 Wechaty Beta 版本发布活动：\n\n- [多语言 Wechaty Beta 版本发布公告！](https:\u002F\u002Fwechaty.js.org\u002F2020\u002F06\u002F19\u002Fmulti-language-wechaty-beta-release\u002F)\n\n### v0.1（2020 年 4 月 3 日）\n\n1. 欢迎我们的第二位和第三位 Go Wechaty 贡献者：\n    - Bojie LI（李博杰）\u003Chttps:\u002F\u002Fgithub.com\u002FSilkageNet> [#9](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F9)\n    - Chaofei DING（丁超飞）\u003Chttps:\u002F\u002Fgithub.com\u002Fdchaofei> [#20](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F20)\n1. 启用 [GitHub Actions](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Factions?query=workflow%3AGo)\n    1. 启用代码风格检查：[golint](https:\u002F\u002Fgithub.com\u002Fgolang\u002Flint)\n    1. 启用测试：[testing](https:\u002F\u002Fgolang.org\u002Fpkg\u002Ftesting\u002F)\n1. 添加 Makefile 以方便开发\n1. 重新组织模块目录：从 `src\u002Fwechaty` 改为 `wechaty`\n1. 将示例机器人重命名为 `examples\u002Fding-dong-bot.go`\n\n### v0.0.1（2020 年 3 月 12 日）\n\n1. 项目创建。\n1. 欢迎我们的第一位 Go Wechaty 贡献者：\n    - Xiaoyu DING（丁小雨）\u003Chttps:\u002F\u002Fgithub.com\u002Fdingdayu> [#2](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F2)\n\n## 相关项目\n\n- [Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty) — 面向微信个人账号的对话式 AI 聊天机器人 SDK（TypeScript）\n- [Python Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpython-wechaty) — 面向微信个人账号的 Python 对话式 AI 聊天机器人 SDK（Python）\n- [Go Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty) — 面向微信个人账号的 Go 对话式 AI 聊天机器人 SDK（Go）\n- [Java Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fjava-wechaty) — 面向微信个人账号的 Java 对话式 AI 聊天机器人 SDK（Java）\n- [Scala Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fscala-wechaty) — 面向微信个人账号的 Scala 对话式 AI 聊天机器人 SDK（Scala）\n\n## 徽章\n\n[![Wechaty 的 Go 实现](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n\n```md\n[![Wechaty 的 Go 实现](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n```\n\n## 贡献者\n\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F0)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F0)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F1)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F1)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F2)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F2)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F3)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F3)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F4)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F4)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F5)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F5)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F6)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F6)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Fimages\u002F7)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgo-wechaty\u002Flinks\u002F7)\n\n1. [@SilkageNet](https:\u002F\u002Fgithub.com\u002FSilkageNet) - Bojie LI (李博杰)\n1. [@huan](https:\u002F\u002Fgithub.com\u002Fhuan) - Huan LI (李卓桓)\n\n## 创建者\n\n- [@dchaofei](https:\u002F\u002Fgithub.com\u002Fdchaofei) - Chaofei DING (丁超飞)\n- [@dingdayu](https:\u002F\u002Fgithub.com\u002Fdingdayu) - Xiaoyu DING (丁小雨) \n\n## 版权与许可\n\n- 代码及文档 © 2020 Wechaty 贡献者 \u003Chttps:\u002F\u002Fgithub.com\u002Fwechaty>\n- 代码采用 Apache-2.0 许可证发布\n- 文档采用知识共享许可协议发布\n\n## 感谢\n\u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002F?from=go-wechaty\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_readme_18a4fa6b3289.png\" width = \"75px\" height = \"75px\" alt=\"goland.png\" \u002F>\u003C\u002Fa>","# go-wechaty 快速上手指南\n\ngo-wechaty 是一个基于 Go 语言的微信机器人 SDK，仅需几行代码即可为微信个人号创建聊天机器人。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：支持 Linux, macOS 或 Windows。\n*   **Go 语言版本**：必须安装 **Go 1.18** 或更高版本。\n    *   国内开发者可使用清华源或阿里云镜像加速安装：[https:\u002F\u002Fgolang.google.cn\u002Fdl\u002F](https:\u002F\u002Fgolang.google.cn\u002Fdl\u002F)\n*   **依赖服务**：go-wechaty 本身不包含底层协议实现，需要配合 Puppet Service 使用（通常通过 `WECHATY_PUPPET_SERVICE_TOKEN` 环境变量配置）。\n\n## 安装步骤\n\n在项目目录下初始化 Go 模块并安装 go-wechaty：\n\n```shell\ngo get github.com\u002Fwechaty\u002Fgo-wechaty\n```\n\n> **提示**：如果下载速度较慢，建议配置国内 GOPROXY 镜像：\n> ```shell\n> export GOPROXY=https:\u002F\u002Fgoproxy.cn,direct\n> ```\n\n## 基本使用\n\n创建一个名为 `main.go` 的文件，填入以下代码。这是最基础的机器人示例，实现了扫码登录监听和消息接收功能。\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty-puppet\u002Fschemas\"\n\t\"github.com\u002Fwechaty\u002Fgo-wechaty\u002Fwechaty\u002Fuser\"\n)\n\nfunc main() {\n\twechaty.NewWechaty().\n\t\tOnScan(func(context *wechaty.Context, qrCode string, status schemas.ScanStatus, data string) {\n\t\t\tfmt.Printf(\"Scan QR Code to login: %s\\nhttps:\u002F\u002Fwechaty.github.io\u002Fqrcode\u002F%s\\n\", status, qrCode)\n\t\t}).\n\t\tOnLogin(func(context *wechaty.Context, user *user.ContactSelf) {\n\t\t\tfmt.Printf(\"User %s logined\\n\", user)\n\t\t}).\n\t\tOnMessage(func(context *wechaty.Context, message *user.Message) {\n\t\t\tfmt.Printf(\"Message: %s\\n\", message)\n\t\t}).DaemonStart()\n}\n```\n\n**运行机器人：**\n\n在终端中设置 Token 并运行程序（请将 `\u003CYOUR_TOKEN>` 替换为您实际获取的 Puppet Service Token）：\n\n```shell\nexport WECHATY_PUPPET_SERVICE_TOKEN=\u003CYOUR_TOKEN>\ngo run main.go\n```\n\n运行后，控制台将输出二维码链接，使用微信扫描即可登录并开始接收消息。","某电商运营团队希望利用个人微信号构建一个 7x24 小时自动客服机器人，以即时响应社群内的订单查询与售后问题。\n\n### 没有 go-wechaty 时\n- **开发门槛极高**：团队主力语言为 Go，但市面上成熟的微信机器人方案多基于 Python 或 Node.js，迫使后端工程师跨语言重构或学习陌生技术栈。\n- **协议维护困难**：自行逆向微信私有协议不仅耗时耗力，还极易因微信版本更新导致服务瞬间瘫痪，稳定性无法保障。\n- **功能实现繁琐**：仅实现基础的“扫码登录”和“消息接收”就需要编写数百行底层网络代码，难以快速验证业务逻辑。\n- **并发处理脆弱**：缺乏成熟的会话管理模型，面对社群高并发消息时，容易出现消息丢失或响应延迟，严重影响用户体验。\n\n### 使用 go-wechaty 后\n- **原生语言开发**：直接利用团队熟悉的 Go 语言，仅需 6 行核心代码即可启动机器人，无缝集成现有的微服务架构。\n- **屏蔽底层复杂度**：go-wechaty 封装了复杂的 RPA 协议细节，通过 gRPC 网关复用成熟的 Puppet 服务，让开发者专注于业务逻辑而非协议维护。\n- **事件驱动编程**：提供清晰的 `OnMessage`、`OnLogin` 等事件钩子，开发人员可像搭积木一样快速定义“收到关键词即回复”的业务规则。\n- **企业级稳定性**：依托 Wechaty 社区数千个项目的验证，天然支持高并发消息队列处理，确保在促销高峰期客服响应依然流畅稳定。\n\ngo-wechaty 让 Go 语言开发者能以最低成本将个人微信号转化为具备企业级稳定性的智能业务终端。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_go-wechaty_f7524074.png","wechaty","Wechaty","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fwechaty_b2deea55.png","Conversational RPA SDK for Chatbot Makers",null,"wechaty@googlegroups.com","chatieio","https:\u002F\u002Fwechaty.js.org","https:\u002F\u002Fgithub.com\u002Fwechaty",[86,90],{"name":87,"color":88,"percentage":89},"Go","#00ADD8",99.6,{"name":91,"color":92,"percentage":93},"Makefile","#427819",0.4,552,91,"2026-04-11T10:04:18","Apache-2.0",4,"",{"notes":101,"python":99,"dependencies":102},"该工具为 Go 语言实现，非 Python 项目。核心依赖是 Wechaty Puppet 服务，由于官方 Puppet 多由 TypeScript 编写，Go 版本通常需通过 wechaty-gateway 将 Puppet 转换为 gRPC 服务进行连接使用（需配置 WECHATY_PUPPET_SERVICE_TOKEN 环境变量）。",[103],"Go 1.18+",[15],[106,76],"go","2026-03-27T02:49:30.150509","2026-04-17T09:54:07.840387",[110,115,120,125,130,135,140],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},37209,"调用 message.Recall() 撤回消息时报错 'Cannot read properties of undefined (reading 'clientmsgid')' 如何解决？","该问题通常是因为版本不匹配或缓存机制导致。解决方案如下：\n1. 将 go-wechaty 升级到 v0.4.3 版本。\n2. 注意撤回消息逻辑依赖于 puppet-padlocal 的缓存，revokeinfo 只有在发送消息时才会存入缓存，如果消息未通过该傀儡发送则无法撤回。\n参考代码逻辑：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpuppet-padlocal\u002Fblob\u002F6eef8d8d2a8487ec719ba3181ff5c36c13e45293\u002Fsrc\u002Fpuppet-padlocal.ts#L1488","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F125",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},37210,"go-wechaty 连接 Puppet Service 时，关于 Token 前缀和 TLS 的配置应该如何设置？","Token 前缀与 TLS 没有必然联系。在 TypeScript 版本中默认开启 TLS，但由于原证书标准过旧导致 go-wechaty 无法解析，因此 go-wechaty 默认禁用了 TLS。\n如果遇到连接失败：\n1. 检查是否设置了正确的 Token 前缀。\n2. 尝试显式禁用 TLS 进行连接测试。\n3. 确认服务端版本（0.411+）引入了 Token 前缀机制，需确保客户端配置与之匹配。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F167",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},37211,"在企业微信中使用 go-wechaty 发送小程序（MiniProgram）失败报错 'Unexpected end of JSON input' 怎么办？","这是一个已知的 Bug，已在后续版本修复。\n解决方案：\n1. 更新 go-wechaty 到包含修复 PR #130 之后的版本。\n2. 确保 MiniProgramPayload 结构体字段填写正确，特别是 Appid, Username, PagePath 等关键信息。\n如果问题依旧，请检查发送的 Schema 格式是否符合企微接口规范。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F128",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},37212,"如何在群聊消息中获取被 @ 用户的 wxID（当消息内容包含 @昵称 时）？","早期版本代码存在解析 Bug，导致无法正确提取 @ 列表。\n解决方案：\n1. 升级 go-wechaty 到已合并修复的版本（master 分支）。\n2. 修复原理是将字符串分割逻辑从 `strings.Split` 改为正则表达式分割：\n   原代码：`atList := strings.Split(m.Text(), config.AtSepratorRegex)`\n   修复后：`atList := regexp.MustCompile(config.AtSepratorRegex).Split(m.Text(), -1)`\n升级后可直接通过 Message 对象获取提及列表。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F138",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},37213,"使用 Docker 运行 wechaty 时提示断线或登录失败，常见原因是什么？","常见原因是 Docker 卷映射路径配置错误，导致会话数据（MemoryCard）无法持久化或读取。\n排查步骤：\n1. 检查 Docker 启动命令中的 `-v` 参数，确保映射路径正确指向存储 memory-card.json 的目录。\n2. 日志中出现 `save() to StorageFile` 但随后连接失败，通常意味着文件写入位置与实际读取位置不一致。\n3. 修正映射路径后重启容器即可解决。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F107",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},37214,"go-wechaty 日志输出太多（如心跳日志），如何调整日志级别或优化日志系统？","目前官方建议通过提交 PR 共同优化日志系统。\n临时解决方案：\n1. 可以通过代码设置环境变量 `WECHATY_LOG` 来调整日志级别（例如设置为 'warn' 或 'error' 以减少 info\u002Fverb 级别的输出）。\n2. 关注社区关于日志等级设置的 PR 更新，未来版本将支持更灵活的日志配置。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F97",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},37215,"Wechaty 支持哪些编程语言和 Puppet 提供商？如何选择适合自己的方案？","Wechaty 支持多种语言（Polyglot）：TypeScript, JavaScript, Java, Python, Go, PHP 等。\nPuppet 提供商选择建议：\n1. 企业用户推荐使用：Service (PadLocal), Xp, Wechat, Wechat4u。\n2. 个人用户推荐使用：Service, Xp, Wechat, Wechat4u。\n快速启动网关命令示例：\n`wechaty gateway --puppet {WECHATY_PUPPET} --port {PORT} --token {TOKEN}`\n详细文档请参考：https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpolyglot\u002F 和 https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-providers\u002F","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fissues\u002F109",[146,151,156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241],{"id":147,"version":148,"summary_zh":149,"released_at":150},297727,"v0.4.12","## 变更内容\n* 重构(puppetservice): 移除 hostie 环境变量，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F157 中完成\n* 功能(location): 支持位置消息，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F162 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.11...v0.4.12","2024-04-01T10:12:00",{"id":152,"version":153,"summary_zh":154,"released_at":155},297728,"v0.4.11","## 变更内容\n* 功能新增：服务发现，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F153 中实现。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.10...v0.4.11","2023-09-21T03:41:59",{"id":157,"version":158,"summary_zh":159,"released_at":160},297729,"v0.4.10","## 变更内容\n* 文档：添加 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F144 中的评论\n* 修复：消息日期问题，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F152 中修复\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.9...v0.4.10","2023-08-09T03:31:18",{"id":162,"version":163,"summary_zh":164,"released_at":165},297730,"v0.4.9","## 变更内容\n* 功能（filebox）：支持发送语音消息，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F143 中实现。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.8...v0.4.9","2022-11-19T04:07:46",{"id":167,"version":168,"summary_zh":169,"released_at":170},297731,"v0.4.8","## 变更内容\n* 修复：@dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F142 中修复了 message.Self 导致的 panic\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.7...v0.4.8","2022-11-11T10:14:22",{"id":172,"version":173,"summary_zh":174,"released_at":175},297732,"v0.4.7","## 变更内容\n* 功能（日志）：日志级别，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F141 中实现\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.6...v0.4.7","2022-11-05T05:29:12",{"id":177,"version":178,"summary_zh":179,"released_at":180},297733,"v0.4.6","## 变更内容\n* 修复：在 `ready` 事件中，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F137 中完成\n* 修复（消息）：`MentionList`，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F139 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.5...v0.4.6","2022-10-21T08:04:20",{"id":182,"version":183,"summary_zh":184,"released_at":185},297734,"v0.4.5","## 变更内容\n* 修复：在 `on ready` 中，由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F137 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.5...v0.4.6","2022-10-15T09:18:50",{"id":187,"version":188,"summary_zh":189,"released_at":190},297735,"v0.4.4","## 变更内容\n* 修复：@dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F130 中实现了旧版 Puppet 服务与小程序的兼容性。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.3...v0.4.4","2022-05-22T05:13:27",{"id":192,"version":193,"summary_zh":194,"released_at":195},297736,"v0.4.3","## 变更内容\n* 由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F124 中提交的分发更新\n* 由 @dchaofei 在 https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F127 中修复的脏数据死循环问题\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.2...v0.4.3","2022-05-16T08:21:42",{"id":197,"version":198,"summary_zh":199,"released_at":200},297737,"v0.4.2","## What's Changed\r\n* make linter happy by @dchaofei in https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fpull\u002F123\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty\u002Fcompare\u002Fv0.4.1...v0.4.2","2022-05-12T13:52:22",{"id":202,"version":203,"summary_zh":204,"released_at":205},297738,"v0.4.0","1、升级 puppet-sevice 的 grpc\r\n2、支持 filebox uuid \r\n3、其他优化","2022-04-26T13:27:57",{"id":207,"version":208,"summary_zh":209,"released_at":210},297739,"v0.3.8","fix MentionText()","2022-04-16T16:33:22",{"id":212,"version":213,"summary_zh":214,"released_at":215},297740,"v0.3.7","Support gRpc automatic reconnection","2022-04-16T07:38:46",{"id":217,"version":218,"summary_zh":219,"released_at":220},297741,"v0.3.6","1、修复发送图片失败\r\n2、优化 example @yy1987316 ","2021-12-23T08:49:00",{"id":222,"version":223,"summary_zh":224,"released_at":225},297742,"v0.3.1","- 删除 hostie 文件夹\r\n- 优化找不到 endpoint 的提示","2021-04-16T13:00:21",{"id":227,"version":228,"summary_zh":229,"released_at":230},297743,"v0.3.0","- rename puppet_hosite->puppet_service\r\n- fix parase-miniapp\r\n- support dirty event\r\n- support WECHATY_PUPPET_SERVICE_TOKEN","2021-04-13T08:34:06",{"id":232,"version":233,"summary_zh":234,"released_at":235},297744,"v0.2.1","Feature send miniprogram\r\nupdate go-grpc\r\nfix sync room\u002Fmessage\u002Fcontact failed\r\n","2020-11-29T10:04:22",{"id":237,"version":238,"summary_zh":239,"released_at":240},297745,"v0.2.0","Feature add grpc authority\r\nFeature add plugin\r\nFeature add api\r\nfix bug","2020-11-11T06:29:28",{"id":242,"version":243,"summary_zh":244,"released_at":245},297746,"v0.1.1","- Finish ding-dong\r\n- Feature new discoverHostieEndPoint replace discoverHostieIP\r\n- Feature Image Message\r\n- Feature env WECHATY_PUPPET_HOSTIE_TOKEN & WECHATY_PUPPET_HOSTIE_ENDPOINT\r\n- Feature FileBox\r\n- Feature MemoryCard\r\n- Feature ...","2020-05-29T02:50:08"]