Open huan opened 2 years ago
I have a question about the 2nd paragraph. By "for example, we have thousands of WPS running for serving our community users every day.", do you mean thousands of different service providers, or thousands of service instances from the same five providers listed in the 1st paragraph?
do you mean thousands of different service providers,
All WPS share the same token discovery service in the Wechaty community: so that when a user want to switch protocol for their bot program, change the token is all they need to do.
What I am asking is, how many WPS providers are in play now? Is there a list of all of them?
You can see the number from the public community status page at https://chatie.statuspage.io/
For your second question: no, you can not list them all because there are private ones. We can only see the public ones.
Hi @huan , there is an issue to run:
$ npm install --global wechaty@next wechaty-puppet-padlocal
$ wechaty gateway \
--puppet wechaty-puppet-padlocal \
--puppet-token padlocal_XXX \
Error message: Failed to import Wechaty Puppet Provider (WPP) NPM module: "wechaty-puppet-padlocal" Please make sure:
npm install wechaty-puppet-padlocal
if it doesn't)While I have successfully installed "wechaty-puppet-padlocal" root@ecs-87602:~# npm list -g /usr/local/lib ├── corepack@0.10.0 ├── n@8.1.0 ├── npm@8.6.0 ├── wechaty-puppet-padlocal@0.4.2 ├── wechaty-token@1.0.6 └── wechaty@1.11.42
The Background
The Wechaty Puppet Service (WPS) has been released in early 2020. After that, the Wechaty community has enabled the power of the Wechaty Puppet Provider (WPP): any WPP can be published as a service (WPS) by running a Wechaty Gateway:
The above command shows how to publish the
wechaty-puppet-padlocal
WPP as a WPS, with a random generated Wechaty Puppet Service Tokeninsecure_2a59ebfb-27b7-413f-9abf-907d28d63d3e
. (You can specify the published token by the--token
option)To learn more about the Wechaty Puppet Ecosystem, this blog post has a detailed introduction:
Alpha Stage Wechaty Ecosystem (2020 & 2021)
We have running the WPS as an alpha stage ecosystem service for the Wechaty community, for the past two years. (2020 & 2021)
The WPS enabled the Wechaty Ecosystem system for the Puppet Providers, which means that everyone can provide a WPS for the community, by simply providing a TOKEN to the user.
Thanks to the developers from our community, we soon have 5 WPS built for the Wechaty Ecosystem:
In addition, any Wechaty developer can publish their own WPS by using the
wechaty gateway
CLI command mentioned at the beginning of this post.The Problem (Alpha Stage, v0.x)
We have had great success with the alpha stage WPS, for example, we have thousands of WPS running for serving our community users every day.
We have also learned a lot from running it, and here's the list we need to improve before we move to the beta stage.
The Solution (Beta Stage, v1.x)
We have upgraded the Wechaty from
0.x
to1.x
in Jan 2022. With v1.x Wechaty, the ecosystem needs to satisfy the Beta stage requirements, so that we can improve the service quality and deliver more value to our users.The most important improvement for Wechaty v1.x is enabling TLS by default, and it requires the WPS to update their system to be compatible with Wechaty v1.x and use the CA-signed by the Wechaty community for maximum security.
Any WPS provided by the community in the Wechaty ecosystem will be classified from levels 0 to 7 by the following rules:
wechaty gateway
command (or providing the gRPC service directly), is a Level-0 WPS.https://wechaty.js.org/docs/puppet-service/${SNI}
It is greatly appreciated to the developers in our ecosystem to follow this upgrade, to become a Wechaty Official Certificated Puppet Service.
How to Apply for Certification
In order to apply for the WPS certification, please fill out the below template and post it to the https://github.com/wechaty/puppet-service/issues
Thank you very much for joining the Wechaty ecosystem by providing the valuable Wechaty Puppet Service to the chatbot developer users, it's very valuable, and appreciate all efforts everyone has worked for the community!
RFC
I'd like to invite the creator of Donut/WXWork @windmemory, creator of PadLocal @padlocal, creator of Paimon @zpaimon, creator of SimplePad @chatrbot to review this draft, any feedback will be highly appreciated.
CC @lijiarui @wechaty/puppet