[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-wechaty--getting-started":3,"tool-wechaty--getting-started":65},[4,17,27,36,44,56],{"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 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[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":23,"last_commit_at":33,"category_tags":34,"status":16},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[13,26,14,35],"视频",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":10,"last_commit_at":42,"category_tags":43,"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":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"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,52,35,53,14,54,15,13,55],"数据工具","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"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,52,54],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":10,"env_os":103,"env_gpu":104,"env_ram":104,"env_deps":105,"category_tags":115,"github_topics":116,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":121,"updated_at":122,"faqs":123,"releases":153},7972,"wechaty\u002Fgetting-started","getting-started","A Starter Project Template for Wechaty works out-of-the-box","getting-started 是专为 Wechaty 框架打造的开箱即用入门模板，旨在帮助开发者零门槛启动聊天机器人项目。Wechaty 本身是一款强大的对话式 RPA（机器人流程自动化）SDK，支持微信、企业微信、WhatsApp 等多种即时通讯平台，但初学者往往受困于复杂的环境配置。getting-started 完美解决了这一痛点，它预置了标准的项目结构，确保在 Linux、Mac 或 Windows 系统上无需额外调整即可直接运行。\n\n该项目特别适合刚接触 Wechaty 的开发者使用。无论是希望在本地机器快速搭建，还是倾向于使用 Gitpod、Google Cloud Shell 等云端 IDE 进行免环境部署的初学者，都能通过它迅速上手。其核心功能直观清晰：当机器人收到\"ding\"消息时，会自动回复\"dong\"，帮助用户立即验证消息收发流程是否正常。\n\n技术层面，getting-started 基于 TypeScript 和 ES Modules 构建，兼容 Node.js v16 及以上版本，并支持 Web、Pad、Windows、Mac 等多种底层协议（Puppet）","getting-started 是专为 Wechaty 框架打造的开箱即用入门模板，旨在帮助开发者零门槛启动聊天机器人项目。Wechaty 本身是一款强大的对话式 RPA（机器人流程自动化）SDK，支持微信、企业微信、WhatsApp 等多种即时通讯平台，但初学者往往受困于复杂的环境配置。getting-started 完美解决了这一痛点，它预置了标准的项目结构，确保在 Linux、Mac 或 Windows 系统上无需额外调整即可直接运行。\n\n该项目特别适合刚接触 Wechaty 的开发者使用。无论是希望在本地机器快速搭建，还是倾向于使用 Gitpod、Google Cloud Shell 等云端 IDE 进行免环境部署的初学者，都能通过它迅速上手。其核心功能直观清晰：当机器人收到\"ding\"消息时，会自动回复\"dong\"，帮助用户立即验证消息收发流程是否正常。\n\n技术层面，getting-started 基于 TypeScript 和 ES Modules 构建，兼容 Node.js v16 及以上版本，并支持 Web、Pad、Windows、Mac 等多种底层协议（Puppet）。作为进入 Wechaty 生态的第一站，它让开发者能跳过繁琐的配置环节，将精力专注于业务逻辑与人工智能功能的开发，是开启智能对话机器人创作之旅的理想起点。","# Wechaty Getting Started [![Powered by Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20By-Wechaty-brightgreen.svg)](https:\u002F\u002Fwechaty.js.org)\n\n[![Node.js CI](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fworkflows\u002FNode.js%20CI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Factions?query=workflow%3A%22Node.js+CI%22)\n![Node.js v16](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%3E%3D16-green.svg)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%3C%2F%3E-TypeScript-blue.svg)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![ES Modules](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FES-Modules-brightgreen)](https:\u002F\u002Fgithub.com\u002FChatie\u002Ftsconfig\u002Fissues\u002F16)\n\n## About Wechaty\n\n[Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty\u002F) is a Conversational RPA(Robotic Process Automation) SDK(Software Development Kit) for Chatbot Makers. It's well designed with an easy to use API. It supports all operating systems including Linux, OSX, Win32, Docker, and lots of IMs(Instant Messaging services) including WeChat, WeCom, Whatsapp, Lark, Gitter, etc.\n\nAs a developer, you can use Wechaty to easily build your bot, effectively manage message sending and receiving, room creation and sending out invitations, contact friends, and delightfully add artificial intelligence between users and your bot.\n\n## About Wechaty Getting Started Project\n\nIf you are a total beginner to Wechaty, this project is the best starting point for you. You can run it on a Cloud IDE in a couple of steps or on a local setup on your machine as described in the sections below.\n\nIf you encounter difficulties or have any questions, you are welcome to ask for help in our Discord Community at \u003Chttps:\u002F\u002Fdiscord.gg\u002F7q8NBZbQzt>.\n\nNotice: the current active version of Wechaty is v1.x which is not compatible with most of the v0.x modules.\n\n- **`wechaty@0.x`** - To use the Wechaty v0.x, please visit the [Wechaty Getting Started v0.x](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Ftree\u002Fv0.x) branch.\n\n### Features of Wechaty Getting Started project\n\n1. It works out of the box on Linux, Mac or Windows.\n1. Supports all puppets like Web, Pad, Windows, and Mac.\n1. It replies with a `dong` message when it receives a `ding` message.\n\n### Wechaty Getting Started video tutorial\n\n\u003Cdiv align=\"center\">\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fyoutu.be\u002FGdmikkU4ZfM?si=cpsuh7RyQjtgLE5F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_b625ce100d77.webp\" border=0 width=\"60%\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\nAbove is a short run-through of deploying the ding-dong-bot using WeChat, WhatsApp, and WeCom.\n\n### Running Wechaty Getting Started Project on a cloud based IDE\n\nThe fastest way to getting started with Wechaty is to use a Cloud based IDE for running the Wechaty Getting Started Project. You can either use Gitpod or Google Cloud Shell.\n\nIf you are a total beginner, then we recommed Gitpod.\n\n#### Using [Gitpod ❤️ Wechaty](docs\u002Fgitpod.md)\n\nGitpod  is an online and open source platform for automated and ready-to-code development environments. You can click the button below to access a complete setup of [Wechaty Getting Started ding-dong BOT](examples\u002Fding-dong-bot.ts) project on gitpod. If you have never used gitpod before, you will be required to login using your gitHub account.\n\n[![GitPod Ready-to-Code][gitpod_img]][gitpod_link]\n\nYou can learn more about [Gitpod ❤️ Wechaty](docs\u002Fgitpod.md) from our blog: [Getting Started Without Leaving Your Browser: Wechaty ❤️ Gitpod, @huan, Feb 06, 2021](https:\u002F\u002Fwechaty.js.org\u002F2021\u002F02\u002F06\u002Fwechaty-getting-started-without-leave-your-browser\u002F)\n\n#### Using Google Cloud Shell\n\nGoogle Cloud Shell is an online development and operations environment accessible anywhere with your browser. You can run this project on Google Cloud Shell by clicking the button below.\n\n[![Open in Cloud Shell][shell_img]][shell_link]\n\n> Generated via [open-in-cloud-shell](https:\u002F\u002Fcloud.google.com\u002Fshell\u002Fdocs\u002Fopen-in-cloud-shell)\n\nAfter opening the Google Cloud Shell editor, there should be an open tutorial in the right panel which you can follow to learn more about Wechaty.\n\nLearn more about running this project on Google Cloud Shell from our blog: [Google Cloud Shell Tutorials for Wechaty, @huan, Feb 20, 2021](https:\u002F\u002Fwechaty.js.org\u002F2021\u002F02\u002F20\u002Fgoogle-cloud-shell-tutorials\u002F)\n\n### Running Wechaty Getting Started project on your local machine\n\n#### Prerequisites\n\nFor you to run this project on your local machine, you need to:\n\n1. Have [Node.js](https:\u002F\u002Fnodejs.dev\u002F) v16+ installed on your machine. You can run the command `node -v` on the terminal to check whether you have `Node.js` installed. If you have it, you should be able to see the version printed on the terminal  like `v16.13.0`. Your version might be different from `v16.13.0`. If it is not installed or your version is below 16, You need to install the latest version by following the links below:\n    - [Windows](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F#windows)\n    - [Linux(Debian\u002FUbuntu)](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F#debian-and-ubuntu-based-linux-distributions)\n    - [macOS](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F#macos)\n    > Node.js for other platforms can be found at \u003Chttps:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F>\n\n2. Have [Wechaty Puppet Service TOKEN](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F) if you want to use RPA protocols other than Web\n\n#### Step 1: Clone this Repository\n\nYou need to clone this repository to your local machine and then switch to `wechaty-getting-started` directory by running the commands below.\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started.git\ncd getting-started\n```\n\n#### Step 2: Install Dependencies\n\nYou need to install dependencies by running the command below.\n\n```sh\nnpm install\n```\n\n#### Step 3: Run the Bot\n\nYou can use `export` to set environment variables in Linux, and use `set` in Windows. If you run into errors while running this command, check the troubleshooting tips in step 4.\n\n##### Linux\n\n```shell\nexport WECHATY_LOG=verbose\nexport WECHATY_PUPPET=wechaty-puppet-wechat\nnpm start\n# the above is equals to the below command:\n# npx ts-node examples\u002Fding-dong-bot.ts\n```\n\n##### Windows\n\n```shell\nset WECHATY_LOG=verbose\nset WECHATY_PUPPET=wechaty-puppet-wechat\nnpm start\n# the above is equals to the below command:\n# npx ts-node examples\u002Fding-dong-bot.ts\n```\n\nYou are all set!\n\n#### Step 4: Troubleshooting\n\nIf you run into problems while following the above steps, try the options below. You are also welcome to ask questions in our [gitter chatroom](https:\u002F\u002Fgitter.im\u002Fwechaty\u002Fwechaty).\n\n1. You might also need [windows-build-tool](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fwindows-build-tool) if you are using windows:\n\n    ```sh\n    npm install windows-build-tools\n    ```\n\n## Working with Different Puppets\n\nIn our getting started example, the ding-dong BOT uses [wechaty-puppet-wechat4u](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty-puppet-wechat4u) when `WECHATY_PUPPET` is not set, which is just for newcomer's convenience.\n\nBy default, Wechaty will use the [Puppet Service](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F) for logging in your bot. You can use other [Puppet Provider](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty-puppet\u002Fwiki\u002FDirectory) like Whatsapp Web protocol( [wechaty-puppet-whatsapp](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty-puppet-whatsapp)).\n\nIf you want to use a Wechaty Puppet Provider for a different protocol, then you need to specify a puppet service provider name (the same as its NPM name) by setting the `WECHATY_PUPPET` environment variable.\n\nThanks to the great contributions from our community, there are many Wechaty Puppets which can be used by Wechaty. They have helped us use protocols like Web, Pad, Mac, and Windows.\n\n### Wechaty Puppets\n\n| Protocol | NPM |\n| :--- | :--- |\n| Puppet Service | `wechaty-puppet-service` |\n| Whatsapp Web | `wechaty-puppet-whatsapp` |\n| WeChat Web | `wechaty-puppet-wechat` |\n| WeChat Pad | `wechaty-puppet-padlocal` |\n\n> Visit our website to learn more about [Wechaty Puppet Service Providers](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F)\n\nFor example, if you want to use the `padlocal` puppet, you should set `WECHATY_PUPPET=wechaty-puppet-padlocal` before you run `npm start`. You also need a TOKEN for `wechaty-puppet-padlocal` which you need to set to the `WECHATY_PUPPET_PADLOCAL_TOKEN` environment variable. You can apply for the PadLocal TOKEN from [here](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002Fpadlocal\u002F). The code snippets below illustrate what has been described above on Linux\u002F MacOS and on Windows.\n\n### On Linux \u002F macOS\n\n```sh\nexport WECHATY_PUPPET=wechaty-puppet-padlocal\nexport WECHATY_PUPPET_PADLOCAL_TOKEN='puppet_padlocal_your-token-here'\nnpm start\n```\n\n### On Windows\n\n```sh\nset WECHATY_PUPPET=wechaty-puppet-padlocal\nset WECHATY_PUPPET_PADLOCAL_TOKEN='puppet_padlocal_your-token-here'\nnpm start\n```\n\nLearn more about installing Wechaty on windows from this [blog post](https:\u002F\u002Fwechaty.js.org\u002F2018\u002F07\u002F24\u002Fwechaty-installation-in-windows-10\u002F).\n\n## Advanced tutorials\n\n### 1. Wechaty Tutorial\n\n\u003Cdiv align=\"center\">\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fwechaty.js.org\u002F2017\u002F01\u002F01\u002Fgetting-started-wechaty\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_7da591f4e4f6.jpg\" border=0 width=\"60%\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\nAbove is a 10 minute video tutorial. It is using version 0.14 or older versions of Wechaty therefore it is also outdated. It is a good way to start if you are new to Wechaty.\n\n### 2. More Examples\n\n> Note: Before you attempt more examples, make sure you have tried out the wechaty getting started project in this repository.\n\n- [Official Wechaty Examples Directory](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Ftree\u002Fmaster\u002Fexamples)\n\n## API REFERENCE\n\n1. Official API Docs: \u003Chttps:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fapi>\n\n## MORE RESOURCES\n\n### 1. Docker Wechaty Getting Started\n\n[![Docker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_5fba5d2f78e8.png)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdocker-wechaty-getting-started)\n\n\u003Chttps:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdocker-wechaty-getting-started>\n\n### 2. Heroku Wechaty Getting Started\n\n[![Heroku](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_28204c50e928.png)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fheroku-wechaty-getting-started)\n\n\u003Chttps:\u002F\u002Fgithub.com\u002Fwechaty\u002Fheroku-wechaty-getting-started>\n\n### 3. Wechaty Home\n\n\u003Chttps:\u002F\u002Fwechaty.github.io>\n\n## FAQ\n\n### 1. I can not login with my Wechat account\n\nWeChat account registered after 2017 will not be able to login via Web API.  Learn more about it at \u003Chttps:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fissues\u002F872>\n\nSolution: You can use Wechaty support protocols other than Web API, such as pad. Learn more at \u003Chttps:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fissues\u002F1296>\n\n### 2. What is a `Puppet` in Wechaty\n\nThe term [Puppet](https:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fwiki\u002FPuppet) in Wechaty is an Abstract Class for implementing protocol plugins. The plugins are the components that help Wechaty to control Wechat and that's the reason why we call it puppet.\n\nThe plugins are named `PuppetXXX`, for example [PuppetWeChat](https:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty-puppet-wechat) is using the [google puppeteer](https:\u002F\u002Fgithub.com\u002FGoogleChrome\u002Fpuppeteer) to control the [WeChat Web API](https:\u002F\u002Fwx.qq.com) via a chrome browser, [PuppetPadchat](https:\u002F\u002Fgithub.com\u002Flijiarui\u002Fwechaty-puppet-padchat) uses the WebSocket protocol to connect with a Protocol Server for controlling the iPad Wechat program. For more details you can go to [Puppet in wiki](https:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fwiki\u002FPuppet).\n\nLearn more about Wechaty Puppet from our documentation at [Wechaty Puppet](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fspecifications\u002Fpuppet)\n\n## Wechaty Getting Started in Multiple Languages\n\n[![Wechaty in Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Python-blue)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpython-wechaty)\n[![Wechaty in Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n[![Wechaty in Java](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Java-f80)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fjava-wechaty)\n[![Wechaty in Scala](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Scala-890)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fscala-wechaty)\n[![Wechaty in PHP](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-PHP-99c)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fphp-wechaty)\n[![Wechaty in .NET(C#)](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-.NET-629)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdotnet-wechaty)\n\n- [TypeScript Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started)\n- [Python Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpython-wechaty-getting-started)\n- [Go Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty-getting-started)\n- [Java Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fjava-wechaty-getting-started)\n- [Scala Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fscala-wechaty-getting-started)\n- [PHP Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fphp-wechaty-getting-started)\n- [.NET(C#) Wechaty Getting Started](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdotnet-wechaty-getting-started)\n\n## History\n\n### main v1.18 (Mar 14, 2022)\n\nAdd CQRS Wechaty examples.\n\n### v1.11 (Oct 30, 2021)\n\nBranch: [v1.11](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Ftree\u002Fv1.11): release v1.11 of Wechaty.\n\n1. v0.13: Enable ESM (ES Module) support ([chatie\u002Ftsconfig#16](https:\u002F\u002Fgithub.com\u002FChatie\u002Ftsconfig\u002Fissues\u002F16))\n\n### v0.8 (Feb 20, 2021)\n\n[![Open in Cloud Shell][shell_img]][shell_link]\n\nUsing Google Cloud Shell for a quick setup!\n\n### v0.6 (Feb 11, 2021)\n\n[![GitPod Ready-to-Code][gitpod_img]][gitpod_link]\n\nUsing Gitpod for a quick setup!\n\n### v0.0.1 (Jan 12, 2017)\n\nInit version\n\n## Contributors\n\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F0)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F0)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F1)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F1)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F2)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F2)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F3)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F3)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F4)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F4)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F5)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F5)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F6)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F6)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F7)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F7)\n\n## Maintainers\n\n[@wechaty\u002Fcontributors](https:\u002F\u002Fgithub.com\u002Forgs\u002Fwechaty\u002Fteams\u002Fcontributors\u002Fmembers)\n\n## Copyright & License\n\n- Code & Docs © 2018-now Huan and [Wechaty Contributors](https:\u002F\u002Fwechaty.js.org\u002Fcontributors\u002F)\n- Code released under the Apache-2.0 License\n- Docs released under Creative Commons\n\n[gitpod_img]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitpod-Ready--to--Code-blue?logo=gitpod\n[gitpod_link]: https:\u002F\u002Fgitpod.io\u002F#https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\n\n[shell_img]: https:\u002F\u002Fgstatic.com\u002Fcloudssh\u002Fimages\u002Fopen-btn.svg\n[shell_link]: https:\u002F\u002Fssh.cloud.google.com\u002Fcloudshell\u002Feditor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fwechaty%2Fgetting-started&cloudshell_open_in_editor=examples\u002Fding-dong-bot.ts&cloudshell_workspace=.&cloudshell_tutorial=examples\u002Ftutorials\u002Fgoogle-cloud-shell-tutorial.md\n","# Wechaty 入门 [![由 Wechaty 提供支持](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20By-Wechaty-brightgreen.svg)](https:\u002F\u002Fwechaty.js.org)\n\n[![Node.js CI](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fworkflows\u002FNode.js%20CI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Factions?query=workflow%3A%22Node.js+CI%22)\n![Node.js v16](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%3E%3D16-green.svg)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%3C%2F%3E-TypeScript-blue.svg)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![ES Modules](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FES-Modules-brightgreen)](https:\u002F\u002Fgithub.com\u002FChatie\u002Ftsconfig\u002Fissues\u002F16)\n\n## 关于 Wechaty\n\n[Wechaty](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty\u002F) 是一个面向聊天机器人开发者的对话式 RPA（机器人流程自动化）SDK（软件开发工具包）。它设计精良，API 简单易用。支持所有操作系统，包括 Linux、OSX、Win32 和 Docker，以及众多即时通讯平台，如微信、企业微信、WhatsApp、飞书、Gitter 等。\n\n作为开发者，您可以使用 Wechaty 轻松构建自己的机器人，高效管理消息的收发、创建群聊并发送邀请、添加好友，并在用户与您的机器人之间巧妙地融入人工智能功能。\n\n## 关于 Wechaty 入门项目\n\n如果您是 Wechaty 的完全新手，那么这个项目将是您的最佳起点。您可以在几分钟内通过云端 IDE 运行它，也可以按照以下章节的说明在本地机器上进行设置。\n\n如果您遇到困难或有任何疑问，欢迎在我们的 Discord 社区 \u003Chttps:\u002F\u002Fdiscord.gg\u002F7q8NBZbQzt> 寻求帮助。\n\n注意：当前 Wechaty 的活跃版本是 v1.x，它与大多数 v0.x 模块不兼容。\n\n- **`wechaty@0.x`** - 如果您想使用 Wechaty v0.x，请访问 [Wechaty 入门 v0.x 分支](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Ftree\u002Fv0.x)。\n\n### Wechaty 入门项目的特性\n\n1. 在 Linux、Mac 或 Windows 上开箱即用。\n1. 支持所有客户端，如 Web、Pad、Windows 和 Mac。\n1. 当收到 `ding` 消息时，会回复一条 `dong` 消息。\n\n### Wechaty 入门视频教程\n\n\u003Cdiv align=\"center\">\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fyoutu.be\u002FGdmikkU4ZfM?si=cpsuh7RyQjtgLE5F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_b625ce100d77.webp\" border=0 width=\"60%\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n以上是一个简短的演示，展示了如何使用微信、WhatsApp 和企业微信部署 ding-dong 机器人。\n\n### 在云端 IDE 上运行 Wechaty 入门项目\n\n开始使用 Wechaty 最快的方式是使用云端 IDE 来运行 Wechaty 入门项目。您可以选择 Gitpod 或 Google Cloud Shell。\n\n如果您是完全的新手，我们推荐使用 Gitpod。\n\n#### 使用 [Gitpod ❤️ Wechaty](docs\u002Fgitpod.md)\n\nGitpod 是一个在线开源平台，用于提供自动化的、开箱即用的开发环境。您可以点击下方按钮，在 Gitpod 上访问 [Wechaty 入门 ding-dong BOT](examples\u002Fding-dong-bot.ts) 项目的完整配置。如果您之前从未使用过 Gitpod，您需要使用 GitHub 账号登录。\n\n[![GitPod 开箱即用][gitpod_img]][gitpod_link]\n\n您可以通过我们的博客了解更多关于 [Gitpod ❤️ Wechaty](docs\u002Fgitpod.md) 的信息：[无需离开浏览器即可入门：Wechaty ❤️ Gitpod，@huan，2021 年 2 月 6 日](https:\u002F\u002Fwechaty.js.org\u002F2021\u002F02\u002F06\u002Fwechaty-getting-started-without-leave-your-browser\u002F)\n\n#### 使用 Google Cloud Shell\n\nGoogle Cloud Shell 是一个可通过浏览器随时随地访问的在线开发和运维环境。您可以通过点击下方按钮在 Google Cloud Shell 上运行该项目。\n\n[![在 Cloud Shell 中打开][shell_img]][shell_link]\n\n> 由 [open-in-cloud-shell](https:\u002F\u002Fcloud.google.com\u002Fshell\u002Fdocs\u002Fopen-in-cloud-shell) 生成\n\n打开 Google Cloud Shell 编辑器后，右侧面板中应该会有一个打开的教程，您可以按照该教程进一步了解 Wechaty。\n\n有关在 Google Cloud Shell 上运行该项目的更多信息，请参阅我们的博客：[Wechaty 的 Google Cloud Shell 教程，@huan，2021 年 2 月 20 日](https:\u002F\u002Fwechaty.js.org\u002F2021\u002F02\u002F20\u002Fgoogle-cloud-shell-tutorials\u002F)\n\n### 在本地机器上运行 Wechaty 入门项目\n\n#### 前提条件\n\n要在您的本地机器上运行该项目，您需要：\n\n1. 已在您的机器上安装 [Node.js](https:\u002F\u002Fnodejs.dev\u002F) v16 或更高版本。您可以在终端运行 `node -v` 命令来检查是否已安装 Node.js。如果已安装，您应该能在终端看到类似 `v16.13.0` 的版本号。您的版本可能与 `v16.13.0` 不同。如果未安装或版本低于 16，您需要按照以下链接安装最新版本：\n    - [Windows](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F#windows)\n    - [Linux（Debian\u002FUbuntu）](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F#debian-and-ubuntu-based-linux-distributions)\n    - [macOS](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F#macos)\n    > 其他平台的 Node.js 可以在 \u003Chttps:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002Fpackage-manager\u002F> 找到。\n\n2. 如果您想使用 Web 以外的 RPA 协议，需要拥有 [Wechaty Puppet Service TOKEN](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F)。\n\n#### 步骤 1：克隆此仓库\n\n您需要将此仓库克隆到本地机器上，然后通过以下命令切换到 `wechaty-getting-started` 目录。\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started.git\ncd getting-started\n```\n\n#### 步骤 2：安装依赖项\n\n您需要通过以下命令安装依赖项。\n\n```sh\nnpm install\n```\n\n#### 步骤 3：运行机器人\n\n在 Linux 中可以使用 `export` 设置环境变量，在 Windows 中则使用 `set`。如果在运行此命令时遇到错误，请查看第 4 步中的故障排除提示。\n\n##### Linux\n\n```shell\nexport WECHATY_LOG=verbose\nexport WECHATY_PUPPET=wechaty-puppet-wechat\nnpm start\n# 上述命令等同于以下命令：\n# npx ts-node examples\u002Fding-dong-bot.ts\n```\n\n##### Windows\n\n```shell\nset WECHATY_LOG=verbose\nset WECHATY_PUPPET=wechaty-puppet-wechat\nnpm start\n# 上述命令等同于以下命令：\n# npx ts-node examples\u002Fding-dong-bot.ts\n```\n\n现在您已经准备好了！\n\n#### 步骤 4：故障排除\n\n如果您在按照上述步骤操作时遇到问题，请尝试以下方法。您也可以在我们的 [gitter 聊天室](https:\u002F\u002Fgitter.im\u002Fwechaty\u002Fwechaty) 中提问。\n\n1. 如果您使用的是 Windows，可能还需要 [windows-build-tool](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fwindows-build-tool)：\n\n    ```sh\n    npm install windows-build-tools\n    ```\n\n## 使用不同的木偶\n\n在我们的入门示例中，当未设置 `WECHATY_PUPPET` 时，ding-dong BOT 会使用 [wechaty-puppet-wechat4u](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty-puppet-wechat4u)，这主要是为了方便新手使用。\n\n默认情况下，Wechaty 会使用 [Puppet Service](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F) 来登录你的机器人。你也可以使用其他 [Puppet Provider](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty-puppet\u002Fwiki\u002FDirectory)，比如 WhatsApp Web 协议（[wechaty-puppet-whatsapp](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fwechaty-puppet-whatsapp)）。\n\n如果你想使用 Wechaty Puppet Provider 的其他协议，就需要通过设置环境变量 `WECHATY_PUPPET` 来指定一个木偶服务提供商名称（与它的 NPM 名称相同）。\n\n感谢社区的大力贡献，目前有许多 Wechaty 木偶可供 Wechaty 使用。它们帮助我们支持 Web、Pad、Mac 和 Windows 等多种协议。\n\n### Wechaty 木偶\n\n| 协议 | NPM |\n| :--- | :--- |\n| Puppet Service | `wechaty-puppet-service` |\n| Whatsapp Web | `wechaty-puppet-whatsapp` |\n| 微信 Web | `wechaty-puppet-wechat` |\n| 微信 Pad | `wechaty-puppet-padlocal` |\n\n> 访问我们的官网了解更多关于 [Wechaty Puppet 服务提供商](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F) 的信息。\n\n例如，如果你想使用 `padlocal` 木偶，你应该在运行 `npm start` 之前设置 `WECHATY_PUPPET=wechaty-puppet-padlocal`。同时，你还需要为 `wechaty-puppet-padlocal` 准备一个 TOKEN，并将其设置到环境变量 `WECHATY_PUPPET_PADLOCAL_TOKEN` 中。你可以从 [这里](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002Fpadlocal\u002F) 申请 PadLocal TOKEN。下面的代码片段展示了上述内容在 Linux\u002FmacOS 和 Windows 上的具体操作。\n\n### 在 Linux \u002F macOS 上\n\n```sh\nexport WECHATY_PUPPET=wechaty-puppet-padlocal\nexport WECHATY_PUPPET_PADLOCAL_TOKEN='puppet_padlocal_your-token-here'\nnpm start\n```\n\n### 在 Windows 上\n\n```sh\nset WECHATY_PUPPET=wechaty-puppet-padlocal\nset WECHATY_PUPPET_PADLOCAL_TOKEN='puppet_padlocal_your-token-here'\nnpm start\n```\n\n更多关于在 Windows 上安装 Wechaty 的信息，请参阅这篇 [博客文章](https:\u002F\u002Fwechaty.js.org\u002F2018\u002F07\u002F24\u002Fwechaty-installation-in-windows-10\u002F)。\n\n## 进阶教程\n\n### 1. Wechaty 教程\n\n\u003Cdiv align=\"center\">\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fwechaty.js.org\u002F2017\u002F01\u002F01\u002Fgetting-started-wechaty\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_7da591f4e4f6.jpg\" border=0 width=\"60%\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n以上是一个 10 分钟的视频教程。它使用的是 Wechaty 0.14 或更早版本，因此已经有些过时了。如果你是 Wechaty 的新手，这是一个不错的入门方式。\n\n### 2. 更多示例\n\n> 注意：在尝试更多示例之前，请确保你已经试用了本仓库中的 Wechaty 入门项目。\n\n- [官方 Wechaty 示例目录](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Ftree\u002Fmaster\u002Fexamples)\n\n## API 参考\n\n1. 官方 API 文档： \u003Chttps:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fapi>\n\n## 更多资源\n\n### 1. Docker Wechaty 入门\n\n[![Docker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_5fba5d2f78e8.png)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdocker-wechaty-getting-started)\n\n\u003Chttps:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdocker-wechaty-getting-started>\n\n### 2. Heroku Wechaty 入门\n\n[![Heroku](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_readme_28204c50e928.png)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fheroku-wechaty-getting-started)\n\n\u003Chttps:\u002F\u002Fgithub.com\u002Fwechaty\u002Fheroku-wechaty-getting-started>\n\n### 3. Wechaty 主页\n\n\u003Chttps:\u002F\u002Fwechaty.github.io>\n\n## 常见问题解答\n\n### 1. 我无法用我的微信账号登录\n\n2017 年之后注册的微信账号将无法通过 Web API 登录。更多信息请参见 \u003Chttps:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fissues\u002F872>。\n\n解决方案：你可以使用 Wechaty 支持的其他协议，比如 pad。更多信息请参见 \u003Chttps:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fissues\u002F1296>。\n\n### 2. Wechaty 中的“木偶”是什么？\n\n在 Wechaty 中，“木偶”（[Puppet](https:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fwiki\u002FPuppet)）是一个用于实现协议插件的抽象类。这些插件是帮助 Wechaty 控制微信的关键组件，这也是我们称之为“木偶”的原因。\n\n插件通常命名为“PuppetXXX”，例如 [PuppetWeChat](https:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty-puppet-wechat) 使用 [Google Puppeteer](https:\u002F\u002Fgithub.com\u002FGoogleChrome\u002Fpuppeteer) 通过 Chrome 浏览器控制 [微信 Web API](https:\u002F\u002Fwx.qq.com)，而 [PuppetPadchat](https:\u002F\u002Fgithub.com\u002Flijiarui\u002Fwechaty-puppet-padchat) 则使用 WebSocket 协议连接到协议服务器来控制 iPad 版微信程序。更多详细信息可以参考 [维基中的木偶章节](https:\u002F\u002Fgithub.com\u002FChatie\u002Fwechaty\u002Fwiki\u002FPuppet)。\n\n有关 Wechaty 木偶的更多信息，请参阅我们的文档 [Wechaty 木偶](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fspecifications\u002Fpuppet)。\n\n## Wechaty 多语言入门\n\n[![Python 版本的 Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Python-blue)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpython-wechaty)\n[![Go 版本的 Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Go-7de)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty)\n[![Java 版本的 Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Java-f80)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fjava-wechaty)\n[![Scala 版本的 Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-Scala-890)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fscala-wechaty)\n[![PHP 版本的 Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-PHP-99c)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fphp-wechaty)\n[![.NET(C#) 版本的 Wechaty](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWechaty-.NET-629)](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdotnet-wechaty)\n\n- [TypeScript 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started)\n- [Python 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fpython-wechaty-getting-started)\n- [Go 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgo-wechaty-getting-started)\n- [Java 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fjava-wechaty-getting-started)\n- [Scala 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fscala-wechaty-getting-started)\n- [PHP 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fphp-wechaty-getting-started)\n- [.NET(C#) 版本的 Wechaty 入门](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fdotnet-wechaty-getting-started)\n\n## 历史\n\n### main v1.18（2022年3月14日）\n\n添加 CQRS Wechaty 示例。\n\n### v1.11（2021年10月30日）\n\n分支：[v1.11](https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Ftree\u002Fv1.11)：发布 Wechaty v1.11。\n\n1. v0.13：启用 ESM（ES 模块）支持（[chatie\u002Ftsconfig#16](https:\u002F\u002Fgithub.com\u002FChatie\u002Ftsconfig\u002Fissues\u002F16)）。\n\n### v0.8（2021年2月20日）\n\n[![在 Cloud Shell 中打开][shell_img]][shell_link]\n\n使用 Google Cloud Shell 快速搭建！\n\n### v0.6（2021年2月11日）\n\n[![GitPod Ready-to-Code][gitpod_img]][gitpod_link]\n\n使用 Gitpod 快速搭建！\n\n### v0.0.1（2017年1月12日）\n\n初始版本\n\n## 贡献者\n\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F0)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F0)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F1)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F1)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F2)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F2)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F3)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F3)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F4)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F4)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F5)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F5)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F6)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F6)\n[![contributor](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Fimages\u002F7)](https:\u002F\u002Fsourcerer.io\u002Ffame\u002Fhuan\u002Fwechaty\u002Fgetting-started\u002Flinks\u002F7)\n\n## 维护者\n\n[@wechaty\u002Fcontributors](https:\u002F\u002Fgithub.com\u002Forgs\u002Fwechaty\u002Fteams\u002Fcontributors\u002Fmembers)\n\n## 版权与许可\n\n- 代码及文档 © 2018至今 Huan 和 [Wechaty 贡献者](https:\u002F\u002Fwechaty.js.org\u002Fcontributors\u002F)\n- 代码采用 Apache-2.0 许可证发布\n- 文档采用知识共享许可协议发布\n\n[gitpod_img]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitpod-Ready--to--Code-blue?logo=gitpod\n[gitpod_link]: https:\u002F\u002Fgitpod.io\u002F#https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\n\n[shell_img]: https:\u002F\u002Fgstatic.com\u002Fcloudssh\u002Fimages\u002Fopen-btn.svg\n[shell_link]: https:\u002F\u002Fssh.cloud.google.com\u002Fcloudshell\u002Feditor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fwechaty%2Fgetting-started&cloudshell_open_in_editor=examples\u002Fding-dong-bot.ts&cloudshell_workspace=.&cloudshell_tutorial=examples\u002Ftutorials\u002Fgoogle-cloud-shell-tutorial.md","# Wechaty 快速上手指南\n\nWechaty 是一款专为聊天机器人开发者设计的对话式 RPA（机器人流程自动化）SDK。它支持微信、企业微信、WhatsApp、飞书等多种即时通讯协议，并兼容 Linux、macOS、Windows 及 Docker 环境。本指南将帮助你快速在本地运行一个基础的“丁丁东东”（Ding-Dong）机器人示例。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n1.  **Node.js**: 版本需为 **v16** 或更高。\n    *   检查版本命令：`node -v`\n    *   若未安装或版本过低，请访问 [Node.js 官网](https:\u002F\u002Fnodejs.org\u002F) 下载最新版。\n    *   *国内用户推荐*：可使用 [cnpm](https:\u002F\u002Fnpmmirror.com\u002F) 或配置淘宝镜像源加速依赖安装。\n2.  **Git**: 用于克隆项目代码。\n3.  **Puppet Token (可选)**:\n    *   默认示例使用 `wechaty-puppet-wechat` (基于 Web 协议)。注意：2017 年后注册的微信账号可能无法通过 Web 协议登录。\n    *   若需使用其他协议（如 Pad、Windows 等），需提前在 [Wechaty Puppet Service](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fpuppet-services\u002F) 获取对应的 TOKEN。\n\n## 安装步骤\n\n### 1. 克隆项目\n将仓库克隆到本地并进入项目目录：\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started.git\ncd getting-started\n```\n\n### 2. 安装依赖\n安装项目所需的 npm 包。国内建议使用镜像源以提高速度：\n\n```sh\n# 使用官方源\nnpm install\n\n# 或使用国内镜像源 (推荐)\nnpm install --registry=https:\u002F\u002Fregistry.npmmirror.com\n```\n\n> **注意**：Windows 用户若在安装过程中遇到编译错误，可能需要先安装构建工具：\n> `npm install windows-build-tools`\n\n## 基本使用\n\n本项目默认包含一个最简单的机器人示例：当收到消息\"ding\"时，自动回复\"dong\"。\n\n### 运行默认示例 (Web 协议)\n\n根据你的操作系统，设置环境变量并启动机器人：\n\n**Linux \u002F macOS:**\n\n```sh\nexport WECHATY_LOG=verbose\nexport WECHATY_PUPPET=wechaty-puppet-wechat\nnpm start\n```\n\n**Windows (CMD):**\n\n```shell\nset WECHATY_LOG=verbose\nset WECHATY_PUPPET=wechaty-puppet-wechat\nnpm start\n```\n\n启动后，终端会显示一个二维码。使用微信扫描二维码即可登录，随后机器人将开始工作。\n\n### 切换其他协议 (例如 PadLocal)\n\n如果你需要使用非 Web 协议（以 PadLocal 为例），需指定 Puppet 名称并配置对应的 TOKEN：\n\n**Linux \u002F macOS:**\n\n```sh\nexport WECHATY_PUPPET=wechaty-puppet-padlocal\nexport WECHATY_PUPPET_PADLOCAL_TOKEN='puppet_padlocal_your-token-here'\nnpm start\n```\n\n**Windows (CMD):**\n\n```shell\nset WECHATY_PUPPET=wechaty-puppet-padlocal\nset WECHATY_PUPPET_PADLOCAL_TOKEN='puppet_padlocal_your-token-here'\nnpm start\n```\n\n请将 `'puppet_padlocal_your-token-here'` 替换为你实际申请的 Token。\n\n---\n*更多高级示例请查看项目中的 `examples` 目录，或访问 [Wechaty 官方文档](https:\u002F\u002Fwechaty.js.org\u002Fdocs\u002Fapi)。*","某初创团队希望快速构建一个跨平台（微信、企业微信、WhatsApp）的客服自动回复机器人，以处理用户常见的“在吗”类问候。\n\n### 没有 getting-started 时\n- **环境配置繁琐**：开发者需手动安装 Node.js、配置 TypeScript 及 ES Modules 环境，常因版本不兼容（如 v0.x 与 v1.x 混淆）导致项目无法启动。\n- **多端适配困难**：若要同时支持微信和 WhatsApp，需分别查找并调试不同的 Puppet 插件，缺乏统一的接入标准。\n- **起步代码缺失**：没有现成的“收到消息即回复”的最小可行示例，开发者需从零编写消息监听与发送逻辑，耗时耗力。\n- **部署门槛高**：本地开发受限于操作系统（如 Windows 下缺少某些依赖），且缺乏云端一键运行方案，团队协作效率低。\n\n### 使用 getting-started 后\n- **开箱即用**：直接克隆项目即可在 Linux、Mac 或 Windows 上运行，内置正确的 Node.js v16+ 与 TypeScript 配置，彻底消除环境报错。\n- **统一多端接口**：项目原生支持 Web、Pad、Windows 等多种 Puppet，只需切换配置参数即可无缝对接微信、企业微信及 WhatsApp。\n- **核心逻辑现成**：内置经典的\"Ding-Dong\"示例代码，收到\"ding\"自动回复\"dong\"，开发者可在此基础上直接扩展业务逻辑。\n- **云端极速开发**：支持通过 Gitpod 或 Google Cloud Shell 一键启动云端开发环境，无需本地安装任何依赖，浏览器内即可完成调试与部署。\n\ngetting-started 将原本需要数天的环境搭建与基础架构工作缩短至几分钟，让开发者能立即专注于对话逻辑与业务创新。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwechaty_getting-started_d0df0a7c.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",[87,91,95],{"name":88,"color":89,"percentage":90},"JavaScript","#f1e05a",81.1,{"name":92,"color":93,"percentage":94},"Makefile","#427819",11.4,{"name":96,"color":97,"percentage":98},"Dockerfile","#384d54",7.5,844,359,"2026-04-01T01:04:42","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":106,"python":104,"dependencies":107},"该项目基于 Node.js 而非 Python。2017 年后注册的微信账号无法使用 Web 协议登录，需改用 Pad 等其他协议并配置对应的 Token。支持通过环境变量 WECHATY_PUPPET 切换不同的协议实现（Puppet）。Windows 用户可能需要安装 windows-build-tools。",[108,109,77,110,111,112,113,114],"Node.js >= 16","TypeScript","wechaty-puppet-wechat","wechaty-puppet-service","wechaty-puppet-whatsapp","wechaty-puppet-padlocal","windows-build-tools (仅 Windows)",[15,54,35],[77,117,118,68,119,120],"bot","video-tutorial","wechat","chatbot","2026-03-27T02:49:30.150509","2026-04-16T08:11:59.091394",[124,129,134,139,144,149],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},35693,"首次运行时出现 'rxjs.interval is not a function' 或 'init() DEPRECATED' 警告怎么办？","这是版本更新导致的弃用警告。请将代码中的 `wechaty.init()` 替换为 `wechaty.start()`。如果仍然遇到 `rxjs` 相关错误，通常是因为依赖版本不匹配，建议删除 `node_modules` 文件夹和 `package-lock.json` 文件，然后重新运行 `npm install` 以安装正确的依赖版本。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fissues\u002F19",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},35694,"如何获取可以直接运行的官方示例代码（如 ding-dong-bot）？","官方示例已迁移至本仓库。你可以直接在 `examples` 目录下找到 `ding-dong-bot.js` 或其他示例脚本。无需再从主仓库复制，确保拉取最新代码后，按照 README 中的说明直接运行即可。对于 TypeScript 用户，仓库中也提供了相应的 TS 示例。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fissues\u002F21",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},35695,"运行 npm start 时报错 '404 Not Found - GET ... padchat' 或包名无效怎么办？","这通常是因为 `package-lock.json` 锁定了错误的依赖版本或缓存问题，导致系统尝试安装不存在的包。解决方法是：手动删除项目目录下的 `package-lock.json` 文件和 `node_modules` 文件夹，然后重新执行 `npm install` 和 `npm start`。Windows 用户需确保在命令行中正确执行了删除操作。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fissues\u002F74",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},35696,"遇到 'Failed to load gRPC binary module' 且提示 node 版本不匹配（Expected node-vXX, Found node-vYY）如何解决？","这是因为 gRPC 模块是为旧版 Node.js 编译的，而当前环境使用了新版 Node.js。解决方法包括：\n1. 运行 `npm rebuild` 尝试重新编译模块。\n2. 如果无效，清除 node-gyp 缓存：删除 `~\u002F.cache\u002Fnode-gyp\u002F` 目录（Linux\u002FMac）或 `%USERPROFILE%\\AppData\\Local\\node-gyp\\Cache`（Windows）。\n3. 再次运行 `npm install` 或 `npm rebuild`。\n确保你的 Node.js 版本与项目要求的版本兼容。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fissues\u002F100",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},35697,"安装 wechaty-puppet-padpro 或其他 puppet 模块时出现 'No prebuilt binaries found' 或 node-gyp 编译错误怎么办？","这通常是因为缺少编译原生模块所需的环境工具。解决方案如下：\n1. **安装构建工具**：Windows 用户需安装 `windows-build-tools` (运行 `npm install --global windows-build-tools`)；Mac 用户需安装 Xcode Command Line Tools (`xcode-select --install`)；Linux 用户需安装 `python`, `make`, `g++` 等。\n2. **检查 Node 版本**：确保使用的 Node.js 版本与该 Puppet 模块支持的版本一致（有时需要降级 Node 版本）。\n3. **清理重装**：删除 `node_modules` 和 `package-lock.json` 后重新安装。","https:\u002F\u002Fgithub.com\u002Fwechaty\u002Fgetting-started\u002Fissues\u002F113",{"id":150,"question_zh":151,"answer_zh":152,"source_url":128},35698,"为什么运行机器人时会提示 'UnhandledPromiseRejectionWarning' 或直接崩溃？","这通常是由于异步操作未正确处理或 Puppet 插件初始化失败导致的。首先检查控制台输出的具体错误堆栈。常见原因包括：\n1. 未扫描二维码或二维码过期。\n2. 网络问题导致无法连接微信服务器。\n3. 依赖包版本冲突。\n建议添加全局错误捕获代码：`process.on('unhandledRejection', reason => { console.log('Unhandled Rejection at:', reason); });` 以便定位具体问题，并尝试重置环境（删除 node_modules 重装）。",[]]