loaditout.ai
SkillsPacksTrendingLeaderboardAPI DocsBlogSubmitRequestsCompareAgentsXPrivacyDisclaimer
{}loaditout.ai
Skills & MCPPacksBlog

claude-channels-patch

MCP Tool

wuzf/claude-channels-patch

Install

$ npx loaditout add wuzf/claude-channels-patch

Platform-specific configuration:

.claude/settings.json
{
  "mcpServers": {
    "claude-channels-patch": {
      "command": "npx",
      "args": [
        "-y",
        "claude-channels-patch"
      ]
    }
  }
}

Add the config above to .claude/settings.json under the mcpServers key.

About

claude-channels-patch

English version: README.en.md

> 免责声明:本项目仅供学习和研究使用。 > 请勿将其用于你不拥有或未获授权分析的软件或服务。

这是一个针对 Claude Code 的二进制补丁,可在无需 claude.ai OAuth 认证的情况下启用 --channels 功能。

它做了什么

Claude Code 的 --channels 参数允许 MCP 服务器向当前会话推送实时消息,例如 Telegram 机器人插件可以把聊天消息直接转发给 Claude。不过,这个功能被三层检查所限制:

| 限制项 | 检查内容 | 为什么会阻止 | |------|---------------|---------------| | 功能开关 | 通过 GrowthBook 检查 tengu_harbor | 默认值为 false;当 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 时无法访问 | | OAuth | accessToken 检查 | 需要登录 claude.ai,会阻止 API key 或第三方代理用户 | | Allowlist | Channel allowlist ledger | 没有 GrowthBook 时,服务端批准列表为空 |

默认情况下,脚本会优先尝试整体改写 channel decision function:保留 MCP capability check,并直接让后续流程返回 register。如果无法安全定位该函数,再回退到原来的等长字节替换方案。

需求
  • Python 3.10+
兼容性
  • 该脚本适用于 Claude Code v2.1.80 及以上版本;已在 2.1.81 和 2.1.83 上于 Windows、Linux、macOS 测试
  • 使用 稳定字符串锚点(属性名、返回值、字符串字面量),不依赖混淆后的变量名
  • 自动检测官方安装方式对应的二进制(Native Install、Homebrew、WinGet)并全部打补丁
  • 如果你的安装路径是自定义的,使用 python patch.py --binary /path/to/claude
  • 如果未找到预期代码模式,补丁会拒绝执行
用法
# 应用补丁(自动检测所有已安装的二进制)
python patch.py

# 只检查检测结果和将采用的补丁策略,不修改文件
python patch.py --check

# 对指定二进制路径应用补丁
python patch.py --binary /path/to/claude

# 强制使用整体 decision-function 补丁策略
python patch.py --strategy decision

# 强制使用 legacy 等长字节替换策略
python patch.py --strategy legacy

# 恢复原始状态
python patch.py revert

打完补丁后,使用 channels 启动 Claude Code:

claude --channels plugin:telegram@claude-plugins-official
工作原理

Claude Code 的二进制是一个 Node.js SEA(Single Executable Application),其中包含两份打包后的 JS 文件。脚本支持两种补丁策略,在 auto 模式下会优先选择语义更完整的方案:

1. 整体 decision-function 补丁(默认)

脚本会定位 channel decision function,保留最前面的 claude/channel capability check,然后把函数体后半段改写成直接返回 register。这个策略更接近“保留协议层检查,去掉业务限制”的语义。

如果你只想看脚本会采用哪种策略,而不实际写入文件,可以执行:

python patch.py --check
2. Legacy 回退字节补丁

如果无法安全定位 decision function,脚本会回退到原来的 5 处稳定代码模式替换,并在两份 bundle 副本上分别应用(总计 10 处修改):

2.1 功能开关默

Tags

anthropicbinary-patchchannelsclaude-codecli-toolcommand-line-toolcross-platformmcppatcherpython

Reviews

Loading reviews...

Quality Signals

3
Stars
0
Installs
Last updated23 days ago
Security: AREADME

Safety

Risk Levelmedium
Data Access
read
Network Accessnone

Details

Sourcegithub-crawl
Last commit3/26/2026
View on GitHub→

Embed Badge

[![Loaditout](https://loaditout.ai/api/badge/wuzf/claude-channels-patch)](https://loaditout.ai/skills/wuzf/claude-channels-patch)