TypeScript icon, indicating that this package has built-in type declarations

    1.18.4 • Public • Published


    Powered by Wechaty NPM Version npm (tag) TypeScript NPM ES Modules

    Wechaty Puppet Puppeteer

    Picture Credit: https://www.forsbergplustwo.com

    Wechaty Puppet for WeChat


    1. Solved by UOS. WeChat Account that registered after 2017 mignt not be able to login Web Wechat, so it can not use PuppetWeChat with Wechaty. Please make sure your WeChat Account can be able to login by visiting https://wx.qq.com
    2. Web API can not create room and invite members to room since 2018.
    3. Can not Receive/Send message from Work Wechat.

    If you want to break the above limitations, please consider to use a Wechaty Puppet other than using Web API, like wechaty-puppet-padchat.

    Learn more about the Puppet at Wechaty wiki: Puppet

    Note for Developers in China

    Cause storage.googleapis.com is blocked in mainland china, you'd better config by following guide.

    1. Linux & Mac

    PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/mirrors npm install wechaty-puppet-wechat

    2. Windows

    SET PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/mirrors npm install wechaty-puppet-wechat

    Learn more from https://github.com/GoogleChrome/puppeteer/issues/1597#issuecomment-351945645

    How to set puppeteer launchOptions?

    An example of adding executablePath to puppeteer.launch():

    const bot = new Wechaty({
      name: 'mybot',
      puppet: 'wechaty-puppet-wechat',
      // ...
      puppetOptions: {
        endpoint: '<executablePath>'
    // or
    const bot = new Wechaty({
      name: 'mybot',
      puppet: 'wechaty-puppet-wechat',
      // ...
      puppetOptions: {
        launchOptions: {
          executablePath: '<executablePath>',
          // ... others launchOptions, see: https://github.com/GoogleChrome/puppeteer/blob/v1.18.1/docs/api.md#puppeteerlaunchoptions

    We use stealth to make puppeteer more like a normal browser, if you want to disabled it, just set the WECHATY_PUPPET_WECHAT_PUPPETEER_STEALTHLESS environment variable to 1. eg. WECHATY_PUPPET_WECHAT_PUPPETEER_STEALTHLESS=1 ts-node your-bot.ts

    In rare cases, we could meet some problem and see Error: Could not find expected browser when we start PuppetWeChatBridge and try to run initBrowser(). A easy way to solve this problem is set WECHATY_PUPPET_WECHAT_ENDPOINT environment variable to <your executablePath>. eg. WECHATY_PUPPET_WECHAT_ENDPOINT=/usr/bin/chromium-browser ts-node your-bot.ts


    Option value default value description
    token string - your own uos extspam value, see #127
    endpoint string - puppeteerlaunchoptions.executablePath
    head boolean false puppeteerlaunchoptions.headless
    launchOptions object - same to puppeteerlaunchoptions
    stealthless boolean false disabled puppeteer-extra-plugin-stealth or not
    uos boolean false enable UOS patch or not


    master v1.12 (Mar 11, 2022)

    Release stable for the standard Web Protocol

    v1.0 (Oct 30, 2021)

    Release 1.0 of Wechaty Puppet for WeChat

    1. v0.30 (Sep, 2021): ESM support.

    v0.28 (Apr 13, 2021)


    1. Support UOS with puppeteer #127
    2. 添加uos请求头支持 #129

    v0.26 (Mar 4, 2021)

    Rename NPM package name from wechaty-puppet-puppeteer to wechaty-puppet-wechat

    v0.24 (Feb 20, 2021)

    1. Puppeteer from v5 to v7
    2. Upgrade other deps

    v0.22 (Jun 18, 2020)

    Release a version before upgrade.

    v0.14 (Aug, 2018)

    1. First Stable Release
    2. Follow latest typings

    v0.2 (May, 2018)

    1. Promote to solo package: wechaty-puppet-puppeteer


    1. chrome-linux/chrome: error while loading shared libraries: libXXX.so.x: cannot open shared object file: No such file or directory

    You need to be able to run chrome in your Linux environment. If you are using Ubuntu Linux:

    • error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
      • apt install libnss3
    • error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory
      • apt install libgbm-dev
    • error while loading shared libraries: libxshmfence.so.1: cannot open shared object file: No such file or directory
      • apt install libxshmfence-dev
    • error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
      • apt install libxss1

    See: https://github.com/wechaty/wechaty/issues/1152


    Huan LI Tencent TVP of Chatbot <zixia@zixia.net>

    profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites


    • Code & Docs © 2016-now Huan LI <zixia@zixia.net>
    • Code released under the Apache-2.0 License
    • Docs released under Creative Commons
    Tip: Click on a version number to view a previous version's package page

    Current Tags

    Version History


    npm i wechaty-puppet-wechat

    DownloadsWeekly Downloads






    Unpacked Size

    1.16 MB

    Total Files


    Last publish


    • zixia