{"id":28445086,"url":"https://github.com/wechaty/wechaty-puppet-sidecar","last_synced_at":"2026-05-18T15:38:10.382Z","repository":{"id":102484804,"uuid":"382859582","full_name":"wechaty/wechaty-puppet-sidecar","owner":"wechaty","description":"A Universal Puppet Powered by Sidecar","archived":false,"fork":false,"pushed_at":"2021-08-05T06:19:52.000Z","size":174,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-11T19:40:35.818Z","etag":null,"topics":["frida","puppet","sidecar","wechaty"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/wechaty-puppet-sidecar","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wechaty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-07-04T13:32:08.000Z","updated_at":"2022-07-04T10:26:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"cc043c34-0735-4fde-ac9a-0772897aad47","html_url":"https://github.com/wechaty/wechaty-puppet-sidecar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"wechaty/puppet-mock","purl":"pkg:github/wechaty/wechaty-puppet-sidecar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wechaty%2Fwechaty-puppet-sidecar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wechaty%2Fwechaty-puppet-sidecar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wechaty%2Fwechaty-puppet-sidecar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wechaty%2Fwechaty-puppet-sidecar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wechaty","download_url":"https://codeload.github.com/wechaty/wechaty-puppet-sidecar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wechaty%2Fwechaty-puppet-sidecar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33183275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["frida","puppet","sidecar","wechaty"],"created_at":"2025-06-06T10:11:17.333Z","updated_at":"2026-05-18T15:38:10.349Z","avatar_url":"https://github.com/wechaty.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PuppetSidecar [![NPM](https://github.com/wechaty/wechaty-puppet-sidecar/workflows/NPM/badge.svg)](https://github.com/wechaty/wechaty-puppet-sidecar/actions?query=workflow%3ANPM)\n\n[![NPM Version](https://badge.fury.io/js/wechaty-puppet-sidecar.svg)](https://badge.fury.io/js/wechaty-puppet-sidecar)\n[![npm (tag)](https://img.shields.io/npm/v/wechaty-puppet-sidecar/next.svg)](https://www.npmjs.com/package/wechaty-puppet-sidecar?activeTab=versions)\n[![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-brightgreen.svg)](https://github.com/wechaty/wechaty)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n![Sidecar Wechaty Puppet](docs/images/puppet-sidecar.webp)\n\n\u003e Image source: [1920s Raleigh Box Sidecar Outfit](https://oldbike.wordpress.com/1920s-raleigh-box-sidecar-outfit/) \u0026 [ShellterProject](https://www.shellterproject.com/)\n\nUniversal Puppet powered by Sidecar, which can help Wechaty connect to any applications.\n\n## Motivation\n\nUNDER CONSTRUCTION\n\nTo universal RPA everything by the power of sidecar.\n\n## Usage\n\nTalk is cheap, show me the code.\n\n### Puppet Sidecar\n\n```ts\nimport { Wechaty }   from 'wechaty'\nimport { PuppetSidecar } from 'wechaty-puppet-sidecar'\nimport { \n  Sidecar,\n  SidecarBody,\n  Call,\n  Ret,\n  RetType\n  ParamType,\n  Hook,\n}               from 'frida-sidecar'\n\n@Sidecar('WeChat.exe')\nclass WeChatSidecar extends SidecarBody {\n\n  @Call(0x1234)\n  @RetType('pointer', 'Utf8String')\n  messageSendText (\n    @ParamType('pointer', 'Utf8String') id: string,\n    @ParamType('pointer', 'Utf8String') text: string,\n  ) { return Ret(id, text) }\n\n  @Hook(0x5678)\n  messageLoop (\n    @ParamType('pointer', 'Buffer') protoBuf: Buffer,\n  ) { return Ret(protoBuf) }\n\n}\n\nconst sidecar = new WeChatSidecar()\nconst puppet  = new PuppetSidecar({ sidecar })\nconst wechaty = new Wechaty({ puppet })\n\nwechaty.start()\n```\n\n## History\n\n### master\n\n### v0.0.1 (Jun 4, 2021)\n\nInitial version.\n\n## Author\n\n[Huan LI](http://linkedin.com/in/zixia), [Microsoft Regional Director](https://rd.microsoft.com/en-us/huan-li) \\\u003czixia@zixia.net\\\u003e\n\n\u003ca href=\"https://stackexchange.com/users/265499\"\u003e\n  \u003cimg src=\"https://stackexchange.com/users/flair/265499.png\" width=\"208\" height=\"58\" alt=\"profile for zixia on Stack Exchange, a network of free, community-driven Q\u0026amp;A sites\" title=\"profile for zixia on Stack Exchange, a network of free, community-driven Q\u0026amp;A sites\"\u003e\n\u003c/a\u003e\n\n## Copyright \u0026 License\n\n* Code \u0026 Docs © 2021 Huan LI \\\u003czixia@zixia.net\\\u003e\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwechaty%2Fwechaty-puppet-sidecar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwechaty%2Fwechaty-puppet-sidecar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwechaty%2Fwechaty-puppet-sidecar/lists"}