☰
claude-sneakpeek 的隐藏魔法:逆向解析 Claude Code Feature Gate 补丁原理
2026/10/15 13:49:31 网站建设 项目流程

【免费下载链接】claude-sneakpeek

Get a parallel build of Claude code that unlocks feature-flagged capabilities like swarm mode.

项目地址:https://gitcode.com/gh_mirrors/cl/claude-sneakpeek
点击查看免费下载

claude-sneakpeek是一个能"白嫖" Claude Code 未公开功能的工具:它不修改你现有的 Claude Code,而是另起一个完全隔离的平行实例,并通过逆向Feature Gate(特性开关)补丁,解锁诸如swarm mode(蜂群模式)这样的隐藏多智能体能力。本文将带你拆解这个"总开关"到底藏在哪、补丁又是怎么精准命中它的。

一、先搞懂:claude-sneakpeek 到底在做什么

把它想象成给 Claude Code "克隆"出一个独立分身:

  • 完全隔离——每个变体(variant)有自己独立的配置、会话、MCP 服务器和凭证,互不干扰,你原本安装的 Claude Code原封不动。
  • 按需构建——你可以为不同模型供应商(Z.ai、MiniMax、OpenRouter 等)各造一个分身,各自走不同的 API 网关。
  • 解锁隐藏能力——关键就在这里,它在安装时偷偷往 Claude Code 的核心文件里打了一个"补丁"。

创建变体时,你会在终端里先选择一个 Provider(供应商):

每个变体都住在一个独立的目录里,形如~/.claude-sneakpeek/<你的名字>/,里面的npm/子目录才是那个被打了补丁的 Claude Code。

二、Feature Gate:藏在代码里的"总开关"

现代大型软件常用feature flag(特性开关)来控制某个功能"对谁可见"。Claude Code 就是这样做的:功能代码其实早就写进了程序,只是默认被一道"门禁"锁着。

这道门禁叫Feature Gate,它背后连着一个名为tengu_brass_pebble的statsig 开关——而这个开关的取值是在服务端判定的。也就是说,你的订阅等级、账号年龄、地域等因素,决定了门禁开还是关。普通用户拿不到,功能自然用不上。

换句话说:功能没被删掉,只是被一把"远程钥匙"锁起来了。claude-sneakpeek 要做的,就是在本地把锁拆了。

三、逆向发现:所有隐藏功能只认一个函数

逆向分析(详见 native-multiagent-gates.md)发现了一件漂亮的事:Claude Code 2.1.16+ 里所有的多智能体功能,共用同一个门禁函数。在压缩混淆后的 CLI 里,它长这样:

function i8() { if (Yz(process.env.CLAUDE_CODE_AGENT_SWARMS)) return !1; return xK("tengu_brass_pebble", !1); }

拆开看,逻辑很直白:

  • Yz(...)先读环境变量CLAUDE_CODE_AGENT_SWARMS,如果它被显式设为"假"(0/false),就直接返回关闭——这是一个"只允许手动关掉"的旁路。
  • 否则调用xK("tengu_brass_pebble", !1)去查那个服务端 statsig 开关,默认值是!1(即 false,关闭)。

这就是"为什么我明明装了新版本,却没有 swarm mode"的答案——你的账号没被灰度到,xK(...)返回了 false。

而这个小小的i8()到底管着多少东西?

隐藏能力代码里的样子作用
TeammateTooli8() ? [tq2()] : []是否把"队友工具"塞进工具集
Delegate 模式i8() ? [...] : [..., "delegate"]Task 工具能否派生后台 agent
Swarm 派生ExitPlanMode里的i8()是否接受launchSwarm/teammateCount
Teammate 邮箱i8() ? [yw("teammate_mailbox",...)]agent 之间的消息通信
任务归属i8() && H?.teammates任务列表是否展示队友

一个函数,管住了全部。这就是 claude-sneakpeek 能"一改全开"的根本原因。

四、补丁原理:三行代码撬开全部功能

既然所有功能都看i8()的脸色,那最干脆的办法就是——让它永远说"是"。

补丁前后对比(!1= false,!0= true):

// 补丁前:要查环境变量 + 服务端开关 function i8(){if(Yz(process.env.CLAUDE_CODE_AGENT_SWARMS))return!1;return xK("tengu_brass_pebble",!1)} // 补丁后:无条件返回 true function i8(){return!0}

就这么点改动,服务端那把"远程钥匙"被彻底绕过——i8()恒为 true,于是上表里五个能力同时全部点亮。没有逐个开关,没有额外注入,只是让门禁常开。

五、精准定位:如何在不改坏 6000 行里打补丁

难点在于:Claude Code 的cli.js是一个被压缩混淆、动辄上千行的巨型文件,函数名(如i8)每次发版都可能变。盲目搜索极易改错地方。补丁实现(swarm-mode-patch.ts)用了"先锚点、后正则、再校验"的稳妥策略:

  1. 锚点(Marker)——先用最稳定的字符串tengu_brass_pebble确认这个版本确实存在该功能;找不到就放弃,绝不误改。

  2. 正则精确定义——用一条严格正则去匹配整个 gate 函数的形状,顺带捕获它的函数名:

    /function\s+([a-zA-Z_$][\w$]*)\(\)\{if\([\w$]+\(process\.env\.CLAUDE_CODE_AGENT_SWARMS\)\)return!1;return\s*[\w$]+\("tengu_brass_pebble",!1\)\}/

    它匹配的"骨架"恰好就是function 名字(){if(...SWARMS...)return!1;return xK("tengu_brass_pebble",!1)},函数名用[\w$]*兼容,不写死i8,发版改名也不怕。

  3. 状态机检测——detectSwarmModeState会把当前状态归为三档:找到原始函数 =disabled;锚点消失但残留TeammateTool/launchSwarm等特征 =enabled(已打过);什么都没有 =unknown(版本不支持)。

  4. 幂等保护——若检测到已是function i8(){return!0},直接跳过,重复执行也不会重复改坏。

这套"锚点 + 特征 + 三态 + 幂等"的组合,正是逆向补丁能在自动化的构建流水线里安全运行的关键。

六、从安装到验证:完整的补丁流水线

补丁不是孤立的动作,它被编排进一次完整的变体构建流程(SwarmModeStep.ts、overview.md):

  1. 先装真货——InstallNpmStep先在隔离目录里npm install官方@anthropic-ai/claude-code(默认2.1.22,远高于2.1.16的功能门槛,见 constants.ts)。
  2. 再打补丁——SwarmModeStep接手,且默认开启(除非显式传disableSwarmMode: true)。它按固定顺序执行:
    • 备份:cli.js→cli.js.backup(保底,随时可还原)
    • 读取→补丁→写回
    • 验证:重新读回文件,用状态检测确认结果确为enabled,否则记一条警告,绝不"假装成功"。

得益于隔离架构,这些操作只发生在~/.claude-sneakpeek/<名字>/npm/内,你的全局环境毫发无损。你甚至可以并行造出好几个不同供应商的分身:

七、如何验证你的补丁真的生效了

装完后,你可以亲手"验尸",确认补丁落到位了:

# 找到被打了补丁的 cli.js CLI=~/.claude-sneakpeek/<你的名字>/npm/node_modules/@anthropic-ai/claude-code/cli.js # 未打补丁时,应能看到这个服务端开关的名字 grep -o 'tengu_brass_pebble' "$CLI" # 验证补丁:打完补丁后,上一条应该没有输出(开关名已被抹掉) grep 'tengu_brass_pebble' "$CLI" && echo "仍未打补丁" || echo "补丁已生效 ✓"

想让某个变体关掉蜂群功能?设置环境变量即可(这是官方保留的"opt-out"旁路):

export CLAUDE_CODE_AGENT_SWARMS=0

八、常见问题(FAQ)

会影响我原来的 Claude Code 吗?不会。补丁只写在隔离的~/.claude-sneakpeek/<名字>/npm/副本里,并留有cli.js.backup,原安装完全不动。

发版后补丁会不会失效?可能。函数名(i8)是压缩后随机生成的,会随版本变化。但补丁用的是"特征骨架"匹配而非写死函数名,通常能跨版本存活;真失效时,detectSwarmModeState会返回unknown,构建流程会给出明确提示,而不是静默出错。

那老的 team mode 呢?早期版本靠把另一个isEnabled()函数从return !1改成return !0来开 team mode(team-mode-patch.ts)。如今原生多智能体功能已内置,这套旧补丁被标记为legacy并默认关闭(TEAM_MODE_SUPPORTED = false),由新的 swarm 补丁取代。


一句话总结

claude-sneakpeek 的"隐藏魔法"并不神秘:功能一直都在,只是被一道连到服务端的 Feature Gate 锁着。它用"锚点定位 + 特征正则 + 状态校验"的方式,精准地把那个总开关函数i8()从"去问服务端"改成"永远放行",于是 swarm mode 等隐藏能力被一次性、安全地唤醒——而你原本的 Claude Code,自始至终连个指纹都没留下。

【免费下载链接】claude-sneakpeek

Get a parallel build of Claude code that unlocks feature-flagged capabilities like swarm mode.

项目地址:https://gitcode.com/gh_mirrors/cl/claude-sneakpeek
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询