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

@hangox/popo-claude-code-channel

v0.3.0

Published

Claude Code Channel 插件 — 通过网易 Popo 机器人远程操控 Claude Code

Readme

Popo Remote Claude Code

基于 Claude Code Channels(MCP Channel 协议)的网易 Popo 桥接插件,让 Claude Code 可以通过 Popo 机器人收发消息,实现在手机/任意设备上远程操控本地 Claude Code。

参考 claude-code-wechat-channel(微信版),为网易 Popo 实现同类功能。

架构

Popo 用户发消息 → Popo 平台 → Mercury WebSocket (STOMP) → 本地
                                    ↓ (AES-128-CBC 解密)
                              MCP Channel notification
                                    ↓
                              Claude Code 会话
                                    ↓
                              popo_reply 工具
                                    ↓
                         Popo REST API (send-msg) → 回复用户

支持的消息类型

| 类型 | msgType | 说明 | |------|---------|------| | 普通文本 | 1 | 直接转发 | | 语音消息 | 141 | 自动语音转文字,直接作为文本输入 | | 引用回复 | 211 | 包含引用上下文 | | 多条引用 | 213 | 多条引用列表 | | 文件消息 | 171 | 显示文件名和大小 | | 视频消息 | 142 | 显示视频文件名 | | 合并转发 | 161 | 摘要前 5 条 | | 云文档 | 182 | 云文档链接 | | 快捷指令 | - | 指令名称 + 变量参数 | | 撤回/编辑 | - | 事件通知 |

安装

npm install -g @hangox/popo-claude-code-channel

流式推送

当 Claude Code 生成回复时,插件会通过 Popo 流式卡片实时推送输出内容,实现打字机效果。

工作原理:

  • 监控 Claude Code 的 .jsonl 会话文件(~/.claude/projects/ 目录下)
  • 捕获 assistant 类型消息的文本增量
  • 通过 Popo 流式卡片 API 逐块推送给用户
  • Claude 回复完成后自动结束卡片

配置

在你的工作目录下创建 config.json

{
  "appId": "你的appId",
  "appKey": "你的appKey",
  "appSecret": "你的appSecret",
  "botName": "机器人名称",
  "aesKey": "32位AES密钥",
  "allowedSenders": ["[email protected]"]
}

凭据获取方式:登录 Popo 机器人管理后台,创建或查看机器人的 appKey / appSecret / aesKey。

  • allowedSenders:发送者白名单,只响应列表中用户的消息。留空数组则不限制。

启动

config.json 所在目录下运行:

claude --channel "popo-claude-code-channel"

启动后,在 Popo 上给你的机器人发消息即可远程操控 Claude Code。

从源码开发

git clone <repo-url>
cd popo-remote-claudecode
bun install
cp config.example.json config.json
# 编辑 config.json 填入凭据

claude --dangerously-load-development-channels server:popo

技术栈

  • Runtime: Node.js >= 18 / Bun
  • 语言: TypeScript
  • 协议: MCP Channel + STOMP over WebSocket
  • 加密: AES-128-CBC 消息解密
  • 认证: Popo 开放平台 appKey/appSecret → accessToken → onceToken