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

claude-channel-weixin

v0.2.14

Published

WeChat channel plugin for Claude Code — chat with Claude Code from WeChat

Readme

claude-code-weixin

WeChat channel plugin for Claude Code — chat with Claude Code directly from WeChat.

Works just like the built-in Telegram channel: WeChat messages flow into your Claude Code session, and Claude replies back through WeChat.

Architecture

WeChat User ←→ iLink Bot API ←→ [this plugin (MCP server)] ←→ Claude Code
                (long-poll)        stdio transport              (your session)

This is a Claude Code channel plugin — an MCP server with the claude/channel capability. Claude Code spawns it as a subprocess and communicates via stdio. Inbound WeChat messages arrive as MCP notifications, and Claude uses MCP tools (reply) to respond.

Features

  • Text messaging (send and receive)
  • Image recognition (download, decrypt, and pass to Claude for vision)
  • File download (PDF, documents — Claude can read and summarize)
  • Video download
  • Voice messages (server-side speech-to-text when available, or raw audio download)
  • Outbound file/image/video sending via CDN upload
  • Multi-bot support (multiple WeChat accounts in one session)
  • QR code login (scan with WeChat to authorize)
  • Pairing-based access control

Setup

Quick install (via npm)

npx claude-channel-weixin install
npx claude-channel-weixin login
claude --dangerously-load-development-channels plugin:weixin@claude-channel-weixin

Or install manually (via GitHub)

claude plugin marketplace add https://github.com/yingwang/claude-code-weixin.git
claude plugin install weixin@claude-channel-weixin
npx claude-channel-weixin login
claude --dangerously-load-development-channels plugin:weixin@claude-channel-weixin

What each step does

  1. Install — registers the marketplace and installs the plugin into Claude Code
  2. Login — shows a QR code in terminal; scan with WeChat to authorize; bot token auto-saved
  3. Start — launches Claude Code with the WeChat channel enabled

Chat!

Send a message from WeChat to the bot. Messages appear in your Claude Code session as <channel source="weixin"> tags, and Claude can reply back through WeChat.

Slash Commands

| Command | Description | |---------|-------------| | /weixin:configure | Show current config status | | /weixin:configure clear | Remove bot token | | /weixin:access pair <code> | Approve a pairing request | | /weixin:access allow <id> | Add user to allowlist | | /weixin:access remove <id> | Remove user from allowlist | | /weixin:access policy <mode> | Set DM policy (pairing/allowlist/disabled) | | /weixin:access list | Show allowed users |

Configuration

Stored at ~/.claude/channels/weixin/:

| File | Purpose | |------|---------| | .env | WEIXIN_BOT_TOKEN=... (chmod 600) | | config.json | Channel settings (DM policy, API URL, etc.) | | allowlist.json | Approved sender IDs | | sync-buf.dat | Long-poll cursor (prevents duplicate messages) |

Multi-bot support

To connect multiple WeChat accounts, add additional tokens to .env:

WEIXIN_BOT_TOKEN=first-token
WEIXIN_BOT_TOKEN_2=second-token

Each token gets its own long-poll monitor. All messages feed into the same Claude Code session.

Security

  • Bot token: Gives full access to send/receive messages as your WeChat bot. Never share it or commit it to git.
  • Sender allowlist: Only paired/approved WeChat users can push messages to your Claude session
  • Pairing flow: Unknown users get a 6-char code → you approve in terminal → they're added
  • Token storage: Bot token stored with 600 permissions, never logged

Development

npm install
npm run build
npm run dev          # watch mode

After code changes: npm run build, then kill the plugin process and /reload-plugins in Claude Code.

kill $(pgrep -f 'weixin.*server.js')
# then run /reload-plugins in Claude Code

License

Apache-2.0