[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-open-wa--wa-automate-nodejs":3,"tool-open-wa--wa-automate-nodejs":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":10,"env_os":102,"env_gpu":103,"env_ram":103,"env_deps":104,"category_tags":112,"github_topics":113,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":150},9048,"open-wa\u002Fwa-automate-nodejs","wa-automate-nodejs"," 💬 🤖  The most reliable tool for chatbots with advanced features. Be sure to 🌟 this repository for updates! ","wa-automate-nodejs 是一款基于 Node.js 开发的高级库，旨在为开发者提供控制 WhatsApp Web 的强大能力。它通过封装底层细节，暴露出简洁易用的 API 接口，让用户能够轻松构建功能丰富的聊天机器人、自动化消息回复系统以及批量消息管理工具。\n\n这款工具主要解决了在 WhatsApp 平台上实现程序化交互的技术门槛问题。以往开发者需要逆向工程或手动模拟浏览器操作，过程繁琐且不稳定；而 wa-automate-nodejs 提供了可靠的连接机制和完整的功能集，支持发送文本、媒体文件、位置信息，甚至能监听群聊动态和管理联系人，极大地提升了开发效率。\n\n它非常适合具备 JavaScript 基础的软件开发者、技术团队或希望将 WhatsApp 集成到现有业务系统中的企业用户。对于研究人员而言，它也可用于合规的社交网络行为分析场景。普通用户若无编程经验，则可能需要借助基于此库构建的成品应用。\n\n其独特亮点包括对“多设备模式”的原生支持，允许在不依赖手机实时联网的情况下运行；内置 CLI 命令行工具，可一键将账号转换为 API 服务；同时提供灵活的配置选项，如无头模","wa-automate-nodejs 是一款基于 Node.js 开发的高级库，旨在为开发者提供控制 WhatsApp Web 的强大能力。它通过封装底层细节，暴露出简洁易用的 API 接口，让用户能够轻松构建功能丰富的聊天机器人、自动化消息回复系统以及批量消息管理工具。\n\n这款工具主要解决了在 WhatsApp 平台上实现程序化交互的技术门槛问题。以往开发者需要逆向工程或手动模拟浏览器操作，过程繁琐且不稳定；而 wa-automate-nodejs 提供了可靠的连接机制和完整的功能集，支持发送文本、媒体文件、位置信息，甚至能监听群聊动态和管理联系人，极大地提升了开发效率。\n\n它非常适合具备 JavaScript 基础的软件开发者、技术团队或希望将 WhatsApp 集成到现有业务系统中的企业用户。对于研究人员而言，它也可用于合规的社交网络行为分析场景。普通用户若无编程经验，则可能需要借助基于此库构建的成品应用。\n\n其独特亮点包括对“多设备模式”的原生支持，允许在不依赖手机实时联网的情况下运行；内置 CLI 命令行工具，可一键将账号转换为 API 服务；同时提供灵活的配置选项，如无头模式运行、自定义会话管理及详细的日志控制，确保在生产环境中的稳定性与安全性。","> [!WARNING]  \n> By visiting this page you [explicitly agree to the Terms of Service (read here)](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fblob\u002Fmaster\u002Ftos.md)\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_06ecc71a9ff1.png\" width=\"128\" height=\"128\"\u002F>\n\n# wa-automate-nodejs\n\n> wa-automate-nodejs is the most advanced NodeJS library which provides a high-level API to control WA.\n>\n>\n\n[![Ceasefire Now](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_e6315da02a64.png)](https:\u002F\u002Ftechforpalestine.org\u002Flearn-more)\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@open-wa\u002Fwa-automate.svg?color=green)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@open-wa\u002Fwa-automate)\n![node](https:\u002F\u002Fimg.shields.io\u002Fnode\u002Fv\u002F@open-wa\u002Fwa-automate)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002F@open-wa\u002Fwa-automate.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@open-wa\u002Fwa-automate)\n[![Average time to resolve an issue](http:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fresolution\u002Fopen-wa\u002Fwa-automate-nodejs.svg)](http:\u002F\u002Fisitmaintained.com\u002Fproject\u002Fopen-wa\u002Fwa-automate-nodejs \"Average time to resolve an issue\")\n[![Percentage of issues still open](http:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fopen\u002Fopen-wa\u002Fwa-automate-nodejs.svg)](http:\u002F\u002Fisitmaintained.com\u002Fproject\u002Fopen-wa\u002Fwa-automate-nodejs \"Percentage of issues still open\")\n\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fdnpp72a\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F661438166758195211?color=blueviolet&label=discord&style=flat\" \u002F>\u003C\u002Fa> ![WhatsApp_Web 2.2147.16](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWhatsApp_Web-2.2147.16-brightgreen.svg)\u003Cimg alt=\"Twitter Follow\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fopenwadev?label=Follow%20%40openwadev%20for%20updates&logo=twitter&style=social\"\u002F>\n\n\u003Ca href=\"https:\u002F\u002Fcloud.digitalocean.com\u002Fapps\u002Fnew?repo=https%3A%2F%2Fgithub.com%2Fopen-wa%2Fwa-automate-docker%2Ftree%2Fmaster&refcode%3D4b093f6ecd3a&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge\">\n \u003Cimg style=\"max-height:200px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_d70370a87800.png\" alt=\"Deploy to DO\"\u002F>\n\u003C\u002Fa>\n\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#functions-list\">Key Features\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.openwa.dev\u002Fdocs\u002Fget-started\u002Finstallation\">Getting Started\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.openwa.dev\u002Fdocs\u002Fget-started\u002Fquick-run\">Easy API\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.openwa.dev\u002Fdocs\u002Fapi\u002Fclasses\u002Fapi_Client.Client\">Documentation\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fopenwa.page.link\u002Fkey\">Get a License Key\u003C\u002Fa> •\n  \u003Ca href=\"#support\">Support\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n## Installation and Updating\n\nUse this command to install the library for the first time and to keep the library up to date.\n\n```bash\n> npm i --save @open-wa\u002Fwa-automate@latest\n```\n\n## Usage\n\n## CLI\n\nWant to convert your WA account to an API instantly? You can now with the CLI. For more details see [Easy API](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FGetting%20Started\u002Fquick-run.html)\n\n```bash\n> npx @open-wa\u002Fwa-automate --help\n```\n\n## Custom Setup\n\nLearn more about all possible configuration options here: [ConfigObject](https:\u002F\u002Fdocs.openwa.dev\u002Finterfaces\u002Fapi_model_config.ConfigObject.html)\n\n```javascript\nconst wa = require('@open-wa\u002Fwa-automate');\n\nwa.create({\n  sessionId: \"COVID_HELPER\",\n  multiDevice: true, \u002F\u002Frequired to enable multiDevice support\n  authTimeout: 60, \u002F\u002Fwait only 60 seconds to get a connection with the host account device\n  blockCrashLogs: true,\n  disableSpins: true,\n  headless: true,\n  hostNotificationLang: 'PT_BR',\n  logConsole: false,\n  popup: true,\n  qrTimeout: 0, \u002F\u002F0 means it will wait forever for you to scan the qr code\n}).then(client => start(client));\n\nfunction start(client) {\n  client.onMessage(async message => {\n    if (message.body === 'Hi') {\n      await client.sendText(message.from, '👋 Hello!');\n    }\n  });\n}\n\n```\n\n###### After executing `create()` function, **@open-wa\u002Fwa-automate** will create an instance of WA web. If you are not logged in, it will print a QR code in the [terminal](https:\u002F\u002Fi.imgur.com\u002Fg8QvERI.png). Scan it with your phone and you are ready to go!\n\n###### @open-wa\u002Fwa-automate will remember the session so there is no need to authenticate every time\n\n\n## Multi Device Support\n\nWe're currently in a weird transitionary period where some people are being forced to adopt Multi Device (MD). Once the transition is complete, the library default will be to turn on MD support. For now, you have to set it yourself explicitly either by using the `--multi-device` flag (with the [CLI](#CLI)) or setting `multiDevice: true` in your config (with your custom code)\n\n### Latest Changes\n\nWith the constant updates from WA. It is advisable to always use the latest version of `@open-wa\u002Fwa-automate`.\n\n   \u003Cdiv align=\"center\">\n   \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_de8e235262f1.png\"\u002F>\n   \u003C\u002Fdiv>\n\n### Functions list\n\n| Function                          | Reference |\n| --------------------------------- | ----------- |\n| Receive message                   | [onMessage](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onMessage)\n| Automatic QR Refresh              | [autoRefresh](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#autoRefresh)\n| Send text                         | [sendText](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendText)\n| Get contacts                      | [getContact](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getContact)\n| Get chats                         | [getAllChats](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getAllChats)\n| Get groups                        | [getAllGroups](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getAllGroups)\n| Get group members                 | [getGroupMembersId](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getGroupMembersId)\n| Send contact                      | [sendContact](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendContact)\n| Send Images (image)              | [sendImage](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendImage)\n| Send media (audio, doc) | [sendFile](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendFile)\n| Send media (video)  | [Send Videos](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fsend-files\u002Fsend-videos.html)\n| Send stickers                     | [sendStickerfromUrl](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendStickerFromuUrl)\n| Decrypt media (image, audio, doc) | [Decrypt Media](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fdecrypt-media.html)\n| Capturing QR Code                 | [Capturing QR Code](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FThe%20Client\u002Flaunch-events\u002Fcapture-qr.html)\n| Multiple Sessions                 | [Multiple Sessions](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FThe%20Client\u002Fthe-client\u002Fmultiple-sessions.html)\n| Last seen      | [getLastSeen](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getLastSeen)\n| isOnline      | [isChatOnline](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#isChatOnline)\n| 📍 Send Location      | [sendLocation](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendLocation)\n| Simulated '...typing'             | [simulateTyping](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#simulateTyping)\n| Send GIFs!                       | [sendVideoAsGif](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendVideoAsGif)\n| Send Giphy!                       | [sendGiphy](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendGiphy)\n| Forward Messages                  | [forwardMessages](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#forwardMessages)\n| Listen to Read Receipts           | [onAck](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onAck)\n| Listen to Live Locations           | [onLiveLocation](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onLiveLocation)\n| Group participant changes         | [onParticipantsChanged](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onParticipantsChanged)\n| Create Groups         | [Create Group](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fgroups.html#create-a-group)\n| add, remove, promote, demote participants        | [Manage Participants](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fgroups\u002Fmanage-participants.html)\n\n[Checkout all the available functions here.](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html)\n\n## Running the demo\n\nYou can clone this repo and run the demo, but you will need to use typescript\u002Fts-node:\n\n```bash\n> git clone https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs.git\n> cd wa-automate-nodejs\n> npm i\n> npm i -g ts-node typescript\n> cd demo\n> ts-node index.ts\n```\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## Support\n\nIf you need paid support, consulting, or just want support\u002Fsponsor the ongoing development of this project, you can in the following ways:\n\n|Description | Link |\n|-\t|:-:|\n| Get a License key | \u003Ca class=\"gumroad-button\" href=\"https:\u002F\u002Fgum.co\u002FBTMt?wanted=true\" target=\"_blank\" data-gumroad-single-product=\"true\" style='background-color: white !important;background-image: url(https:\u002F\u002Fgumroad.com\u002Fbutton\u002Fbutton_bar.jpg) !important;background-repeat: repeat-x !important;border-radius: 4px !important;box-shadow: rgba(0, 0, 0, 0.4) 0 0 2px !important;color: #999 !important;display: inline-block !important;font-family: -apple-system, \".SFNSDisplay-Regular\", \"Helvetica Neue\", Helvetica, Arial, sans-serif !important;font-size: 16px !important;font-style: normal !important;font-weight: 500 !important;line-height: 50px !important;padding: 0 15px !important;text-shadow: none !important;text-decoration: none !important;'>\u003Cspan class=\"gumroad-button-logo\" style='background-image: url(https:\u002F\u002Fgumroad.com\u002Fbutton\u002Fbutton_logo.png) !important;background-size: cover !important;height: 17px !important;width: 16px !important;display: inline-block !important;margin-bottom: -3px !important;margin-right: 15px !important;'>\u003C\u002Fspan>Get a License key\u003C\u002Fa>\n| Donate or Book 1 hour consult | [![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]\n| Per-minute consulting |   \u003Ca href=\"http:\u002F\u002Fotechie.com\u002Fsmashah\">\u003Cimg src=\"https:\u002F\u002Fapi.otechie.com\u002Fconsultancy\u002Fsmashah\u002Fbadge.svg\" alt=\"Consulting\"\u002F>\u003C\u002Fa>\n| Hire me! | [![Consulting Request][consult-shield]][consult]\n\n## License\n\n[Hippocratic + Do Not Harm Version 1.0](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fblob\u002Fmaster\u002FLICENSE.md)\n\n## Legal\n\nThis code is in no way affiliated with, authorized, maintained, sponsored or endorsed by WA or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own risk.\n\n## Cryptography Notice\n\nThis distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and\u002For re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See [http:\u002F\u002Fwww.wassenaar.org\u002F](http:\u002F\u002Fwww.wassenaar.org\u002F) for more information.\n\nThe U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.\n\n[buymeacoffee-shield]: https:\u002F\u002Fwww.buymeacoffee.com\u002Fassets\u002Fimg\u002Fguidelines\u002Fdownload-assets-sm-2.svg\n[buymeacoffee]: https:\u002F\u002Fwww.buymeacoffee.com\u002Fsmashah\n[consult-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRequire%20Paid%20Support%20or%20Consulting%3F-Click%20Here-blue?style=for-the-badge&logo=paypal\n[consult]: mailto:shah@openwa.dev?subject=WhatsApp%20Consulting\n","> [!WARNING]  \n> 通过访问此页面，您即[明确同意服务条款（请在此处阅读）](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fblob\u002Fmaster\u002Ftos.md)\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_06ecc71a9ff1.png\" width=\"128\" height=\"128\"\u002F>\n\n# wa-automate-nodejs\n\n> wa-automate-nodejs 是最先进的 NodeJS 库，提供用于控制 WhatsApp 的高级 API。\n>\n>\n\n[![立即停火](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_e6315da02a64.png)](https:\u002F\u002Ftechforpalestine.org\u002Flearn-more)\n\n[![npm 版本](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@open-wa\u002Fwa-automate.svg?color=green)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@open-wa\u002Fwa-automate)\n![node](https:\u002F\u002Fimg.shields.io\u002Fnode\u002Fv\u002F@open-wa\u002Fwa-automate)\n[![下载量](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002F@open-wa\u002Fwa-automate.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@open-wa\u002Fwa-automate)\n[![解决一个问题的平均时间](http:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fresolution\u002Fopen-wa\u002Fwa-automate-nodejs.svg)](http:\u002F\u002Fisitmaintained.com\u002Fproject\u002Fopen-wa\u002Fwa-automate-nodejs \"解决一个问题的平均时间\")\n[![仍未解决的问题百分比](http:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fopen\u002Fopen-wa\u002Fwa-automate-nodejs.svg)](http:\u002F\u002Fisitmaintained.com\u002Fproject\u002Fopen-wa\u002Fwa-automate-nodejs \"仍未解决的问题百分比\")\n\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fdnpp72a\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F661438166758195211?color=blueviolet&label=discord&style=flat\" \u002F>\u003C\u002Fa> ![WhatsApp_Web 2.2147.16](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWhatsApp_Web-2.2147.16-brightgreen.svg)\u003Cimg alt=\"Twitter 关注\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fopenwadev?label=关注%20@openwadev%20以获取最新动态&logo=twitter&style=social\"\u002F>\n\n\u003Ca href=\"https:\u002F\u002Fcloud.digitalocean.com\u002Fapps\u002Fnew?repo=https%3A%2F%2Fgithub.com%2Fopen-wa%2Fwa-automate-docker%2Ftree%2Fmaster&refcode%3D4b093f6ecd3a&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge\">\n \u003Cimg style=\"max-height:200px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_d70370a87800.png\" alt=\"部署到 DO\"\u002F>\n\u003C\u002Fa>\n\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#functions-list\">主要功能\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.openwa.dev\u002Fdocs\u002Fget-started\u002Finstallation\">开始使用\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.openwa.dev\u002Fdocs\u002Fget-started\u002Fquick-run\">简易 API\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdocs.openwa.dev\u002Fdocs\u002Fapi\u002Fclasses\u002Fapi_Client.Client\">文档\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fopenwa.page.link\u002Fkey\">获取许可证密钥\u003C\u002Fa> •\n  \u003Ca href=\"#support\">支持\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n## 安装与更新\n\n使用以下命令首次安装库，并保持库为最新版本。\n\n```bash\n> npm i --save @open-wa\u002Fwa-automate@latest\n```\n\n## 使用方法\n\n## CLI\n\n想立即将您的 WhatsApp 账号转换为 API 吗？现在可以通过 CLI 实现。更多详情请参阅 [简易 API](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FGetting%20Started\u002Fquick-run.html)\n\n```bash\n> npx @open-wa\u002Fwa-automate --help\n```\n\n## 自定义设置\n\n在此处了解所有可能的配置选项：[ConfigObject](https:\u002F\u002Fdocs.openwa.dev\u002Finterfaces\u002Fapi_model_config.ConfigObject.html)\n\n```javascript\nconst wa = require('@open-wa\u002Fwa-automate');\n\nwa.create({\n  sessionId: \"COVID_HELPER\",\n  multiDevice: true, \u002F\u002F 必须启用多设备支持\n  authTimeout: 60, \u002F\u002F 只等待 60 秒即可与主机账号设备建立连接\n  blockCrashLogs: true,\n  disableSpins: true,\n  headless: true,\n  hostNotificationLang: 'PT_BR',\n  logConsole: false,\n  popup: true,\n  qrTimeout: 0, \u002F\u002F 0 表示将无限期等待您扫描二维码\n}).then(client => start(client));\n\nfunction start(client) {\n  client.onMessage(async message => {\n    if (message.body === 'Hi') {\n      await client.sendText(message.from, '👋 Hello!');\n    }\n  });\n}\n\n```\n\n###### 执行 `create()` 函数后，**@open-wa\u002Fwa-automate** 将创建一个 WhatsApp Web 实例。如果您尚未登录，它将在 [终端](https:\u002F\u002Fi.imgur.com\u002Fg8QvERI.png) 中显示一个二维码。用手机扫描该二维码，您就可以开始使用了！\n\n###### @open-wa\u002Fwa-automate 会记住会话，因此无需每次都重新认证\n\n\n## 多设备支持\n\n目前我们正处于一个特殊的过渡期，有些人被迫采用多设备功能（MD）。一旦过渡完成，库的默认设置将是开启多设备支持。在此之前，您需要通过使用 `--multi-device` 标志（配合 [CLI](#CLI)）或在配置中设置 `multiDevice: true`（通过自定义代码），来显式地启用多设备功能。\n\n### 最新变更\n\n由于 WhatsApp 不断更新，建议始终使用最新版本的 `@open-wa\u002Fwa-automate`。\n\n   \u003Cdiv align=\"center\">\n   \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_readme_de8e235262f1.png\"\u002F>\n   \u003C\u002Fdiv>\n\n### 函数列表\n\n| 函数                          | 参考文档 |\n| ----------------------------- | ---------- |\n| 接收消息                      | [onMessage](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onMessage)\n| 自动刷新二维码                | [autoRefresh](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#autoRefresh)\n| 发送文本                      | [sendText](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendText)\n| 获取联系人                    | [getContact](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getContact)\n| 获取聊天记录                  | [getAllChats](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getAllChats)\n| 获取群组                      | [getAllGroups](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getAllGroups)\n| 获取群组成员                  | [getGroupMembersId](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getGroupMembersId)\n| 发送联系人                    | [sendContact](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendContact)\n| 发送图片（image）             | [sendImage](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendImage)\n| 发送媒体（音频、文档）        | [sendFile](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendFile)\n| 发送媒体（视频）              | [Send Videos](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fsend-files\u002Fsend-videos.html)\n| 发送贴纸                      | [sendStickerfromUrl](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendStickerFromuUrl)\n| 解密媒体（图片、音频、文档）  | [Decrypt Media](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fdecrypt-media.html)\n| 捕获二维码                    | [Capturing QR Code](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FThe%20Client\u002Flaunch-events\u002Fcapture-qr.html)\n| 多会话                        | [Multiple Sessions](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FThe%20Client\u002Fthe-client\u002Fmultiple-sessions.html)\n| 最后上线时间                  | [getLastSeen](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#getLastSeen)\n| 是否在线                      | [isChatOnline](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#isChatOnline)\n| 📍 发送位置                    | [sendLocation](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendLocation)\n| 模拟“正在输入”                | [simulateTyping](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#simulateTyping)\n| 发送 GIF！                    | [sendVideoAsGif](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendVideoAsGif)\n| 发送 Giphy！                   | [sendGiphy](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#sendGiphy)\n| 转发消息                      | [forwardMessages](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#forwardMessages)\n| 监听已读回执                  | [onAck](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onAck)\n| 监听实时位置                  | [onLiveLocation](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onLiveLocation)\n| 群组成员变更                  | [onParticipantsChanged](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html#onParticipantsChanged)\n| 创建群组                      | [Create Group](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fgroups.html#create-a-group)\n| 添加、移除、提升、降级成员     | [Manage Participants](https:\u002F\u002Fdocs.openwa.dev\u002Fpages\u002FHow%20to\u002Fgroups\u002Fmanage-participants.html)\n\n[在此处查看所有可用函数。](https:\u002F\u002Fdocs.openwa.dev\u002Fclasses\u002Fapi_Client.Client.html)\n\n## 运行演示\n\n您可以克隆此仓库并运行演示，但需要使用 TypeScript 和 ts-node：\n\n```bash\n> git clone https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs.git\n> cd wa-automate-nodejs\n> npm i\n> npm i -g ts-node typescript\n> cd demo\n> ts-node index.ts\n```\n\n## 贡献\n\n欢迎提交 Pull Request。对于重大更改，请先打开一个议题讨论您希望进行的修改。\n\n## 支持\n\n如果您需要付费支持、咨询，或只是想支持\u002F赞助本项目的持续开发，可以通过以下方式：\n\n| 描述 | 链接 |\n|-\t|:-:|\n| 获取许可证密钥 | \u003Ca class=\"gumroad-button\" href=\"https:\u002F\u002Fgum.co\u002FBTMt?wanted=true\" target=\"_blank\" data-gumroad-single-product=\"true\" style='background-color: white !important;background-image: url(https:\u002F\u002Fgumroad.com\u002Fbutton\u002Fbutton_bar.jpg) !important;background-repeat: repeat-x !important;border-radius: 4px !important;box-shadow: rgba(0, 0, 0, 0.4) 0 0 2px !important;color: #999 !important;display: inline-block !important;font-family: -apple-system, \".SFNSDisplay-Regular\", \"Helvetica Neue\", Helvetica, Arial, sans-serif !important;font-size: 16px !important;font-style: normal !important;font-weight: 500 !important;line-height: 50px !important;padding: 0 15px !important;text-shadow: none !important;text-decoration: none !important;'>\u003Cspan class=\"gumroad-button-logo\" style='background-image: url(https:\u002F\u002Fgumroad.com\u002Fbutton\u002Fbutton_logo.png) !important;background-size: cover !important;height: 17px !important;width: 16px !important;display: inline-block !important;margin-bottom: -3px !important;margin-right: 15px !important;'>\u003C\u002Fspan>获取许可证密钥\u003C\u002Fa>\n| 捐款或预订1小时咨询 | [![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]\n| 按分钟计费的咨询服务 |   \u003Ca href=\"http:\u002F\u002Fotechie.com\u002Fsmashah\">\u003Cimg src=\"https:\u002F\u002Fapi.otechie.com\u002Fconsultancy\u002Fsmashah\u002Fbadge.svg\" alt=\"Consulting\"\u002F>\u003C\u002Fa>\n| 雇佣我！ | [![Consulting Request][consult-shield]][consult]\n\n## 许可证\n\n[Hippocratic + Do Not Harm Version 1.0](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fblob\u002Fmaster\u002FLICENSE.md)\n\n## 法律声明\n\n本代码与 WhatsApp 或其任何关联公司、子公司均无任何隶属关系，也未获得其授权、维护、赞助或认可。这是一款独立且非官方的软件。请自行承担使用风险。\n\n## 加密通知\n\n本发行版包含加密软件。您目前居住的国家或地区可能对加密软件的进口、持有、使用和\u002F或再出口到其他国家\u002F地区有限制。在使用任何加密软件之前，请务必查阅您所在国家或地区的相关法律、法规和政策，了解是否允许进口、持有、使用及再出口此类软件。更多信息请参阅 [http:\u002F\u002Fwww.wassenaar.org\u002F](http:\u002F\u002Fwww.wassenaar.org\u002F)。\n\n美国商务部工业与安全局（BIS）已将该软件归类为出口商品控制编号（ECCN）5D002.C.1，该编号涵盖使用或执行基于非对称算法的加密功能的信息安全软件。根据本发行版的形式和分发方式，其出口可适用许可证豁免 ENC 技术软件无限制（TSU）条款（参见 BIS 出口管理条例第 740.13 节），适用于目标代码和源代码。\n\n[buymeacoffee-shield]: https:\u002F\u002Fwww.buymeacoffee.com\u002Fassets\u002Fimg\u002Fguidelines\u002Fdownload-assets-sm-2.svg\n[buymeacoffee]: https:\u002F\u002Fwww.buymeacoffee.com\u002Fsmashah\n[consult-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F需要付费支持或咨询吗？-点击此处-blue?style=for-the-badge&logo=paypal\n[consult]: mailto:shah@openwa.dev?subject=WhatsApp%20Consulting","# wa-automate-nodejs 快速上手指南\n\n`wa-automate-nodejs` 是一个高级 Node.js 库，提供用于控制 WhatsApp Web 的 API。本指南将帮助你快速在本地环境中部署并运行第一个 WhatsApp 自动化脚本。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**: Windows, macOS 或 Linux\n*   **Node.js**: 建议安装最新的 LTS 版本 (v14+)\n*   **npm**: 随 Node.js 自动安装\n*   **WhatsApp 账号**: 一个可用于扫描二维码登录的有效手机号\n\n> **注意**：该库依赖 Chromium 浏览器内核，首次运行时会自动下载相关二进制文件，请确保网络连接畅通。国内用户若遇到下载缓慢问题，可尝试配置全局代理或寻找国内 Chromium 镜像源。\n\n## 安装步骤\n\n使用 npm 安装最新版本的库。为了获得更稳定的下载速度，建议先切换至国内镜像源（如淘宝镜像）。\n\n**1. (可选) 配置国内镜像源**\n```bash\nnpm config set registry https:\u002F\u002Fregistry.npmmirror.com\n```\n\n**2. 安装依赖**\n在你的项目目录下执行以下命令：\n```bash\nnpm i --save @open-wa\u002Fwa-automate@latest\n```\n\n## 基本使用\n\n以下是最简单的代码示例，展示如何初始化客户端、扫描二维码登录并监听消息。\n\n**1. 创建脚本文件**\n新建一个名为 `index.js` 的文件，并填入以下代码：\n\n```javascript\nconst wa = require('@open-wa\u002Fwa-automate');\n\nwa.create({\n  sessionId: \"MY_BOT\",\n  multiDevice: true, \u002F\u002F 必须设置为 true 以启用多设备支持\n  authTimeout: 60,   \u002F\u002F 等待主机设备连接的超时时间（秒）\n  headless: true,    \u002F\u002F 是否在后台运行浏览器（生产环境建议为 true）\n  qrTimeout: 0,      \u002F\u002F 0 表示无限期等待扫描二维码\n}).then(client => start(client));\n\nfunction start(client) {\n  console.log(\"机器人已启动，等待消息...\");\n  \n  client.onMessage(async message => {\n    \u002F\u002F 当收到消息时触发\n    if (message.body === 'Hi') {\n      await client.sendText(message.from, '👋 Hello! 这是一个自动回复测试。');\n    }\n  });\n}\n```\n\n**2. 运行脚本**\n在终端中执行：\n```bash\nnode index.js\n```\n\n**3. 扫码登录**\n*   脚本运行后，终端会打印出一个 **QR 二维码**。\n*   打开手机上的 WhatsApp，进入 **设置 (Settings)** > **已连接设备 (Linked Devices)** > **连接设备 (Link a Device)**。\n*   扫描终端中的二维码。\n*   扫描成功后，会话将被保存。下次运行脚本时无需再次扫码，除非你清除了缓存或会话过期。\n\n现在，当你向该账号发送 \"Hi\" 时，机器人将自动回复。更多高级功能（如发送图片、群组管理等）请参考官方文档。","某中小型电商运营团队希望利用 WhatsApp 为数千名老客户提供订单状态自动查询与促销通知服务，以提升复购率并减轻客服压力。\n\n### 没有 wa-automate-nodejs 时\n- 客服人员需手动复制粘贴回复大量重复的“订单发货了吗”咨询，响应延迟高达数小时，导致客户投诉激增。\n- 发送节日促销信息时，员工必须逐个打开聊天窗口操作，不仅效率极低，还极易因疲劳发生误发或漏发。\n- 缺乏统一的技术接口，无法将内部的 ERP 订单系统与 WhatsApp 打通，实时物流状态只能靠人工核对后告知。\n- 尝试使用非官方脚本模拟点击时，频繁触发 WhatsApp 的风控机制导致账号被封禁，业务被迫中断。\n\n### 使用 wa-automate-nodejs 后\n- 部署自动回复机器人后，系统能即时识别“订单”、“发货”等关键词并返回真实物流进度，客户满意度显著提升。\n- 通过调用批量发送接口，团队可在几秒钟内向特定标签用户群精准推送促销海报，且支持动态变量插入用户昵称。\n- 借助其高级 API 直接对接内部数据库，当订单状态变更时，系统自动触发消息推送，实现了业务流程的完全自动化。\n- 依托其稳定的多设备支持（multiDevice）和防崩溃日志功能，机器人可 7x24 小时稳定运行，彻底规避了封号风险。\n\nwa-automate-nodejs 将原本繁琐的人工客服流程转化为高效的自动化闭环，让中小团队也能以低成本拥有企业级的即时通讯服务能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-wa_wa-automate-nodejs_06ecc71a.png","open-wa","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fopen-wa_02d68adf.png","Open WhatsApp provides a set of tools to help facilitate your WhatsApp automation projects.",null,"openwadev","openwa.dev","https:\u002F\u002Fgithub.com\u002Fopen-wa",[82,86,90,94],{"name":83,"color":84,"percentage":85},"TypeScript","#3178c6",87.9,{"name":87,"color":88,"percentage":89},"JavaScript","#f1e05a",11.3,{"name":91,"color":92,"percentage":93},"HTML","#e34c26",0.7,{"name":95,"color":96,"percentage":97},"Handlebars","#f7931e",0.1,3448,669,"2026-04-18T05:23:37","NOASSERTION","Linux, macOS, Windows","未说明",{"notes":105,"python":106,"dependencies":107},"这是一个基于 Node.js 的 WhatsApp Web 自动化库，非 AI 模型工具，因此无需 GPU。运行需要安装 Node.js 环境。支持多设备模式（需配置 multiDevice: true）。首次运行需在终端扫描 QR 码登录。演示代码运行需全局安装 typescript 和 ts-node。该项目依赖 WhatsApp Web 的版本更新，建议始终使用最新版的库。","不适用 (基于 Node.js)",[108,109,110,111],"Node.js (版本需符合 npm badge 指示)","@open-wa\u002Fwa-automate","typescript (运行 demo 必需)","ts-node (运行 demo 必需)",[45,14,16,35],[114,115,116,117,118],"typescript","chatbots","nodejs","framework","api","2026-03-27T02:49:30.150509","2026-04-18T23:01:01.447197",[122,127,132,137,142,146],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},40589,"如何使用 open-wa 发送带有按钮的 WhatsApp 消息？","可以使用 `client.sendButtons` 方法发送简单的按钮消息（最多 3 个按钮）。代码示例如下：\n```js\nawait client.sendButtons(chatId, \"Body\", [\n    {\n        id: \"1\",\n        text: \"Click\"\n    },\n    {\n        id: \"2\",\n        text: \"Call\"\n    },\n    {\n        id: \"3\",\n        text: \"Open Link\"\n    }\n], \"title\", \"footer\")\n```\n如果命令没有响应且未显示错误，请记录该命令的输出以检查是否返回了消息 ID。","https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F98",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},40590,"遇到版本更新问题或依赖错误（如 moduleraid）时如何解决？","建议将库更新到最新版本（如 3.6.10），这通常能修复大部分问题。如果因 git 错误导致直接依赖被移除，可以手动安装 npm 上的 `@pedroslopez\u002Fmoduleraid` 包（推荐使用 v5 版本以兼容新的 webpack）：\n`npm install @pedroslopez\u002Fmoduleraid`\n许多用户在升级到 3.6.10 版本后反馈运行正常。","https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F1391",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},40591,"如何在 Docker 版 wa-automate 中通过 IP 限制 API 访问并启用 HTTPS？","可以通过挂载配置文件来实现。首先拉取最新镜像并运行容器，挂载配置目录和 SSL 目录：\n```sh\ndocker pull openwa\u002Fwa-automate:latest\ndocker run --name=open-wa --volume=\u002Fcontainers\u002Fopen-wa\u002Fconfig:\u002Fconfig --volume=\u002Fcontainers\u002Fopen-wa\u002Fssl:\u002Fssl -p 8080:8080 --restart=always --init openwa\u002Fwa-automate:latest\n```\n在 `\u002Fcontainers\u002Fopen-wa\u002Fconfig\u002F` 目录下创建 `cli.config.js` 文件（也可以是用 `.json`），导出配置对象以设置 API Key、HTTPS 证书等：\n```javascript\nexports.default = async function(sessionId) {\n    return {\n        cert: \"\u002Fssl\u002Fcert.pem\",\n        privkey: \"\u002Fssl\u002Fprivkey.pem\",\n        helmet: true,\n        key: \"你的自定义密钥\"\n    };\n};\n```\n这样即可启用 HTTPS 并设置授权密钥，从而限制未经授权的访问。","https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F2812",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},40592,"为什么某些 Giphy 链接无法使用 sendGiphyAsSticker 发送？","部分 Giphy 链接可能尚未处理完成或格式不被支持。如果链接返回的是 HTML 文档而非图片文件，系统会返回 `GIF_NOT_FOUND`。\n解决方案：\n1. 尝试直接将视频作为视频上传，而不是转换为 GIF，因为视频文件通常更小且兼容性更好。\n2. 如果必须使用 GIF 且文件过大（超过 1MB 或 2.5MB），可以使用 `gify` 库进行压缩。修改 `gify` 源码，将生成的临时文件后缀从 `.png` 改为 `.jpg` 可显著减小文件大小：\n   - 将 `var tmp = dir + '\u002F%04d.png';` 改为 `var tmp = dir + '\u002F%04d.jpg';`\n   - 将对应的命令参数中的 `.png` 也改为 `.jpg`。","https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F799",{"id":143,"question_zh":144,"answer_zh":145,"source_url":141},40593,"如何优化发送给 WhatsApp 的 GIF 文件大小以避免发送失败？","WhatsApp 对贴纸大小有限制（通常建议小于 1MB）。如果 GIF 文件过大，可以尝试以下方法：\n1. **转为视频发送**：直接上传原始视频文件通常比转换后的 GIF 更小（例如 300kb vs 2MB），且能被识别为动图贴纸。\n2. **修改转换库配置**：如果使用 `gify` 库，修改其源码将中间帧保存为 JPG 格式而非 PNG 格式，可将 3MB 的 GIF 压缩至 500kb 左右。具体做法是将源码中的 `.png` 路径替换为 `.jpg`。",{"id":147,"question_zh":148,"answer_zh":149,"source_url":136},40594,"Docker 挂载配置文件时覆盖了启动脚本怎么办？","不要直接将主机文件夹挂载到容器的 `\u002Fusr\u002Fsrc\u002Fapp` 根目录，这会覆盖包含启动脚本在内的所有文件。\n正确做法是只挂载配置目录到 `\u002Fconfig`：\n```sh\n--volume=\u002Fcontainers\u002Fopen-wa\u002Fconfig:\u002Fconfig\n```\n如果需要更复杂的挂载（如同步数据卷），可以使用 docker volume create 命令创建绑定挂载，但通常只需挂载 `\u002Fconfig` 和 `\u002Fssl` 目录即可安全地加载自定义配置而不影响系统脚本。",[151,156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246],{"id":152,"version":153,"summary_zh":154,"released_at":155},324092,"4.76.0","- 📝 更新文档 [`8e4ad4f`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F8e4ad4f4ae3f9503c9986254b86e5fe7a72fabe6)\n- ✨ 新增功能：`favSticker`、`sendFavSticker` 和 `getFavStickers` #3264 [`2bb3589`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F2bb3589a908386bfe990fe9909b90e00b408de36)\n- 更新仅包含类型定义的包 [`ab8ca66`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fab8ca66ce44b6a8da0dade7bb6aec40bae5c2a76)","2025-02-19T01:28:09",{"id":157,"version":158,"summary_zh":159,"released_at":160},324093,"4.75.0","- ✨ 新增功能：`pinMessage` #3256 [`d434a2a`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fd434a2ab7842b0e24f8eba1f513590f3ed23e62d)\n- ✨ 新增功能：`keepMessage` #3256 [`686a71e`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F686a71ec1f0d65464ff02f92eeaf6d4ab43cbba0)\n- 更新仅包含类型定义的包 [`b6a9cd6`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fb6a9cd6095460f258e1bfd4d976e304bf8cc1114)","2024-12-22T17:03:36",{"id":162,"version":163,"summary_zh":164,"released_at":165},324094,"4.74.2","- 🚑 修复缺失的 isGroup 属性 #3253 [`c8e45b6`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fc8e45b6a94754406c67e8ec191dc882f382d6317)\n- 更新仅包含类型定义的包 [`ec082b2`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fec082b2133a8f0ab39ec0ed516e7e81e766ed2dc)","2024-11-21T15:39:34",{"id":167,"version":168,"summary_zh":169,"released_at":170},324095,"4.74.1","- 📝 更新简介文档 [`6e95e9d`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F6e95e9d875029b924e3f14b72bac7d4ab93f1405)\n- ✨ 添加 PM2 退出码功能 #3252 [`0c60264`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F0c602647fee89424ad9297d1586d8ead9c38b4ea)\n- 更新文档按钮 [`e0ac00f`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fe0ac00f2b67bc192741f00b431e0d6fffa4a2095)\n- 更新仅包含类型定义的包 [`7d2be30`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F7d2be30d23198851729f5b5c300ff3315d0baf9b)","2024-11-18T16:36:20",{"id":172,"version":173,"summary_zh":174,"released_at":175},324096,"4.74.0","- ⬆️ 升级至 pptr 最新版本 #3247 [`95c4091`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F95c4091723dfec397210bd32e898107b62c7fb8f)\n- 修复 CI 构建 #3247 [`6da20eb`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F6da20eb58de1dad9850d1218375eab6cafb53785)\n- ♿️ 向 `preprocessMessage` 添加源码 #3247 [`690e289`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F690e289c4e46c9234e70a8291eb5b962fe8d329e)\n- 更新仅包含类型定义的包 [`49d01ce`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F49d01ce532f87b9710c0efbfc523647c87e0e2d8)\n- 🔒️ 修复 Swagger 密钥泄露问题 #3247 [`a6f3606`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fa6f3606074b8dd03d875b689c18d7eeda5c0e3d0)\n- 🔧 更新文档配置 [`8aca294`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F8aca29431f81626fd4b28b1ad07384e5fb5e5c7e)\n- 更新仅包含类型定义的包 [`e7188f1`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fe7188f1febda992fbe02c1375e680d0090f09db2)\n- 更新发布镜像 [`2f84424`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F2f8442422f1831560a9f054d53aef2babb7b16ff)","2024-10-17T19:44:29",{"id":177,"version":178,"summary_zh":179,"released_at":180},324097,"4.72.5","- 🚑 修复：最初控制台无法渲染二维码，已修复。#3245 [`89cd2af`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F89cd2afaca60f99fe02f44ee89f0635b30008723)\n- 更新了仅包含类型定义的包 [`0408d36`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F0408d362ee11ff82e77f76aad022fcd9c0b0268e)","2024-09-19T02:12:28",{"id":182,"version":183,"summary_zh":184,"released_at":185},324098,"4.72.4","- ⚰️ 移除不再使用的 `docs-v3` 模块 [`4a949c2`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F4a949c20a870510dca224faf3c702b99515d9790)\n- 📝 文档：升级依赖，添加基础的可选分析功能 [`e4a1c10`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fe4a1c1023592a9a6535ee144747ced69d2ddac26)\n- 更新仅包含类型定义的包 [`003c8f8`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F003c8f8da7e7284ec97a2423f7aada473cbf6855)","2024-09-17T18:13:44",{"id":187,"version":188,"summary_zh":189,"released_at":190},324099,"4.72.3","- ✨ 特性：`message.device` 和 `message.local` #3242 [`60f5c89`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F60f5c89e8455f8276cfc86b1ce966e945eb002dd)\n- 更新了仅包含类型定义的包 [`90b4589`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F90b45895e3d01668a51ac68bd1c0cedbbbb0bd47)","2024-09-17T02:12:55",{"id":192,"version":193,"summary_zh":194,"released_at":195},324100,"4.72.2","- 🚑 修复 #3239 [`#3239`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F3239)\n- 更新仅包含类型定义的包 [`8ec43a3`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F8ec43a308d26b77cd3e71074ff5222f3b931a3a7)","2024-08-29T14:28:29",{"id":197,"version":198,"summary_zh":199,"released_at":200},324101,"4.72.1","- 🔊：为 Chatwoot 集成添加了更完善的错误日志记录 [`20b8de0`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F20b8de0045ca2f68e7b2b56f784c03fde84a6060)\n- 🚑 修复二维码问题 #3238 [`23d1d01`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F23d1d014a219f17de2d2d5b4b3cbcf4aad066808)\n- 📝：更新了文档中的链接代码示例，以反映正确的格式和值 [`c59bf23`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fc59bf238f2ab4af1280b6a5aa61ac130dcd90591)\n- 更新了仅包含类型的软件包 [`a6d64e8`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fa6d64e854c8ca3345d6bcc65a43c48dddefecfc6)","2024-08-21T09:13:30",{"id":202,"version":203,"summary_zh":204,"released_at":205},324102,"4.72.0","- 📝  change `\u002Fapi\u002F*` to `\u002Freference\u002F*` in docs [`22b6415`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F22b64157d8a81f9d87bd87107df8ecded99e3a51)\n- ✨ feat: LOGIN WITH LINKCODE `config.linkCode` #3233 [`4788ec4`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F4788ec489ca07d4a7ce33e6deaa6556a6136526a)\n- 📝 update documentation links #3234 [`3ebc0f8`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F3ebc0f8de0f6591ca27b040f520aa5e02c8035fc)\n- updated types-only package [`77a2984`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F77a2984e0f34d1e120cac214775b4f671ee118dc)","2024-08-07T10:23:58",{"id":207,"version":208,"summary_zh":209,"released_at":210},324103,"4.71.15","- 🚑 atttempt auth freezing fix #3231 [`#3231`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F3231)\n- 📝 docs update [`e8d7640`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fe8d76408910507d676ad7b6031c866d7173960d1)\n- updated types-only package [`bad14c3`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fbad14c3aac1e9b2f6412ebe8321b45a570383ab9)","2024-07-20T14:53:05",{"id":212,"version":213,"summary_zh":214,"released_at":215},324104,"4.71.14","- 🐛 fix `sendMp4AsSticker` #3216 [`e059f60`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fe059f6026574279d701415624a8d834d33e338af)\n- updated types-only package [`31fe831`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F31fe83140f9c8a86dce109c4181debe5a66fbcf0)","2024-06-26T09:23:29",{"id":217,"version":218,"summary_zh":219,"released_at":220},324105,"4.71.13","- 🚑 attempt to fix #3218 [`#3218`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F3218)\n- updated types-only package [`54b0552`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F54b05522c23cf0bdd7a6bc71b99eea702a935af3)","2024-06-11T14:33:13",{"id":222,"version":223,"summary_zh":224,"released_at":225},324106,"4.71.12","- 🐛 fix custom sticker endpoint issue #3215 [`0ec9214`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F0ec9214d3687e660019d546bbdc7688ad487f485)\n- updated types-only package [`6e10622`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F6e106220ae9b3ebc32ce9559d89977944725ae7b)","2024-06-06T07:26:45",{"id":227,"version":228,"summary_zh":229,"released_at":230},324107,"4.71.11","- 🔧 enabled `stickerServerEndpoint` #3210 [`134d2c2`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F134d2c2cbe4aaf3eaed97625c41a1391677ddab3)\n- updated types-only package [`1b11b4a`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F1b11b4abaa72e1f27a7fe2549d0b9be7f2f8c6f0)","2024-05-16T13:16:35",{"id":232,"version":233,"summary_zh":234,"released_at":235},324108,"4.71.10","- ✨ [insiders] feat: `postThumbnailStatus` #3199 [`2189269`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F218926931ea8ca5efe41e9785101eda4aa5b9764)\n- updated types-only package [`2f6a21a`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F2f6a21ab49538768f6d9d0313bc75a041cb0bcd1)","2024-04-21T22:04:09",{"id":237,"version":238,"summary_zh":239,"released_at":240},324109,"4.71.9","- ✨ [insiders] can now send custom size link previews as a quotedmsg #3196 [`402efbf`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F402efbf699f19765f1ffc9b29405e60c04f2fb75)\n- updated types-only package [`60f7a09`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F60f7a0935e973e5ab6ea44e4d9057a1232531bb8)","2024-04-14T15:13:20",{"id":242,"version":243,"summary_zh":244,"released_at":245},324110,"4.71.8","- 🚑  launch regression fixes #3190 [`#3190`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F3190)\n- updated types-only package [`66d1ecd`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F66d1ecd15c4bac8535f59acd92aadb8bf91a279e)\n- 🔧 fix twemoji url AGAIN! [`9486c4f`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F9486c4fe2c655d2d930c3ddb6b23a355a4124c69)\n- updated types-only package [`1d6adb2`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002F1d6adb212573a05709aac38cd4c83e9b5dbe6ec5)","2024-04-12T11:46:25",{"id":247,"version":248,"summary_zh":249,"released_at":250},324111,"4.71.6","- 🚑 launch fixes #3190 [`#3190`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fissues\u002F3190)\n- updated types-only package [`d46d46e`](https:\u002F\u002Fgithub.com\u002Fopen-wa\u002Fwa-automate-nodejs\u002Fcommit\u002Fd46d46e86db37199b767ab623714851a5811a7c4)","2024-04-11T15:08:57"]