npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

nodus-wechat

v0.8.0

Published

CLI installer for Nodus WeChat and Hermes native Weixin gateway settings.

Downloads

1,701

Readme

nodus-wechat

CLI installer for Nodus WeChat and Hermes native Weixin / WeChat gateway settings.

Run:

npx nodus-wechat

Commands

npx nodus-wechat setup
npx nodus-wechat setup --install-hermes
npx nodus-wechat install-hermes
npx nodus-wechat setup-weixin
npx nodus-wechat install-openilink
npx nodus-wechat doctor
npx nodus-wechat start
npx nodus-wechat start --openilink
npx nodus-wechat start --no-install
npx nodus-wechat start --no-hermes
npx nodus-wechat start --no-dashboard
npx nodus-wechat start --docker
npx nodus-wechat status
npx nodus-wechat status --openilink
npx nodus-wechat logs
npx nodus-wechat logs --openilink
npx nodus-wechat stop
npx nodus-wechat uninstall --yes
npx nodus-wechat clean --yes

For a server-bound OpeniLink origin:

npx nodus-wechat setup \
  --openilink-origin http://192.220.25.138:9800 \
  --openilink-rp-id 192.220.25.138

setup prompts for the AstraGate API key when --api-key is not supplied. The default gateway base URL is https://api.nodus.sbs/. Use --install-hermes or install-hermes to run the official Hermes installer with --skip-setup and the same Hermes home used by this CLI. Use setup-weixin to run the Hermes Weixin / WeChat QR setup guide. It will ask you to select Weixin / WeChat, scan the QR code with WeChat, and choose the direct-message access policy.

Use install-openilink only for the legacy OpeniLink POC mode.

Current behavior

  • Creates local configuration at ~/.nodus-wechat/config.json.
  • Can install Hermes Agent CLI through the official NousResearch installer.
  • Guides Weixin / WeChat QR binding through Hermes native gateway setup.
  • Can install OpeniLink Hub native CLI through the official OpeniLink installer for legacy mode.
  • Installs the legacy OpeniLink + webhook POC runtime at ~/.nodus-wechat/runtime.
  • Writes Hermes common settings to ~/.hermes/config.yaml.
  • Writes the AstraGate key to ~/.hermes/.env as ASTRAGATE_API_KEY.
  • Sets Hermes static UI/message language to Simplified Chinese with display.language: zh.
  • Writes runtime .env, Docker Compose, webhook server, helper scripts, and the OpeniLink reply plugin.
  • Stores gateway base URL, api key, model, Hermes paths, OpeniLink origin, webhook port, and runtime path.
  • Checks Node.js, local configuration, Hermes files, Weixin credentials, optional OpeniLink/Python/Docker availability, Hermes CLI availability, and WeChat app detection with doctor.
  • Starts/stops Hermes Gateway and Hermes Dashboard with native host processes by default.
  • Installs Hermes automatically during start when the native CLI is missing.
  • Exposes the Hermes management/configuration UI at http://127.0.0.1:9119.
  • Keeps OpeniLink available only when start --openilink is passed.
  • Keeps Docker Compose available only when --docker is passed.
  • Removes Nodus WeChat config/runtime files with uninstall --yes.
  • Cleans Nodus WeChat config/runtime plus generated Hermes settings with clean --yes.

Uninstall and clean

npx nodus-wechat stop
npx nodus-wechat uninstall --yes

Use clean --yes when you also want to remove the generated Hermes settings:

npx nodus-wechat clean --yes

clean --yes removes ~/.nodus-wechat, removes ASTRAGATE_API_KEY from ~/.hermes/.env, and removes ~/.hermes/config.yaml only when it still matches the config generated by this CLI.

WeChat Flow

npx nodus-wechat setup
npx nodus-wechat install-hermes
npx nodus-wechat setup-weixin
npx nodus-wechat start

After setup-weixin, WeChat becomes the chat entrypoint for Hermes through Hermes' native Weixin adapter. OpeniLink is not required for the default path.

Legacy OpeniLink POC

If you explicitly run start --openilink, open the OpeniLink Hub shown by the CLI. In the Channel Webhook settings, use:

Webhook URL: http://poc-webhook:9811/webhook

If --webhook-token was configured, set the Channel Webhook auth header to:

Authorization: Bearer <the same token>

The bundled webhook responds to:

/ping
/status plus
/add-plus-dry-run

Publish

npm run release:check
npm publish

The package is configured for public npm access. If npm reports E401, run npm login first.

For npm Trusted Publishing, push this package to GitHub and configure npm to trust the workflow at .github/workflows/publish.yml. The workflow publishes with OIDC and does not need an NPM_TOKEN secret.