找回密码
 立即注册
搜索
查看: 1346|回复: 2

Claude Code 可编译修复版来了!内含详解文档!

[复制链接]

355

主题

1

回帖

3168

积分

管理员

积分
3168
发表于 2026-4-9 14:03:29 | 显示全部楼层 |阅读模式 来自 湖北武汉
    首先说个事,官方确认这次是真疏忽导致代码泄露,从@Boris Cherny的表述看,并没有认为是个人错误所致,而是主动反思是整个团队在工程流程有提升改进的空间,相对于一出问题就拿临时工祭旗的做法,这种有福同享有难同党的团队共进退管理模式,令人我们钦佩和效仿。

ScreenShot_2026-04-09_140009_683.png
    其次再说其次,基于 2026-03-31 泄露的 Claude Code CLI 源码,虽然能一窥全貌,但并不能直接运行,因此有众多Vibe Coder,利用AI技术修复所有缺失文件、断裂引用和运行时错误,使其可以正常编译运行。

项目背景

2026 年 3 月 31 日,Anthropic 的 Claude Code CLI 完整源码通过 npm 注册表中的 .map 文件泄露。原始泄露版本无法编译 — 缺少 22+ 个源文件、存在断裂的内部引用、依赖 Anthropic 内部包、并使用了未发布的 Bun 特性(bun:bundle)。

本仓库修复了以上所有问题。最终效果:一条 bun build 命令即可生成可用的 ~23MB 单文件 bundle。


相比原始泄露版本的修改
补充的缺失源文件(22 个 stub)

泄露的源码引用了不存在的文件。已创建对应的 stub:

文件
用途
src/global.d.tsTypeScript 全局类型声明
src/utils/protectedNamespace.ts命名空间保护
src/utils/useEffectEvent.tsReact useEffectEvent polyfill
src/entrypoints/sdk/coreTypes.generated.tsSDK 生成类型
src/entrypoints/sdk/runtimeTypes.tsSDK 运行时类型
src/entrypoints/sdk/toolTypes.tsSDK 工具类型
src/tools/REPLTool/REPLTool.tsREPL 工具 stub
src/tools/SuggestBackgroundPRTool/PR 建议工具 stub
src/tools/VerifyPlanExecutionTool/计划验证工具 stub
src/tools/WorkflowTool/工作流工具 stub
src/tools/TungstenTool/TungstenLiveMonitor.tsxTungsten 监控 stub
src/commands/agents-platform/Agent 平台命令 stub
src/commands/assistant/助手命令 stub
src/components/agents/SnapshotUpdateDialog.tsx快照对话框 stub
src/assistant/AssistantSessionChooser.tsx会话选择器 stub
src/services/compact/snipCompact.ts剪裁压缩 stub
src/services/compact/cachedMicrocompact.ts微压缩 stub
src/services/contextCollapse/上下文折叠 stub
src/ink/devtools.ts开发工具 stub
src/skills/bundled/verify/验证 skill stub
src/utils/filePersistence/types.ts文件持久化类型 stub

源码修复
修复项
文件
说明
useEffectEvent 导入src/components/tasks/BackgroundTasksDialog.tsx, src/state/AppState.tsxReact 19 实验性 Hook 在 react-reconciler@0.31 中不可用 — 改为本地 polyfill
版本检查跳过src/utils/autoUpdater.tsassertMinVersion() 会访问 Anthropic 服务器 — 直接跳过
组织验证跳过src/main.tsxvalidateForceLoginOrg() 需要 Anthropic 认证 — 注释掉
认证检查跳过src/main.tsx登录流程依赖 Anthropic OAuth — 启用自动执行
SandboxManager 替换node_modules/@anthropic-ai/sandbox-runtime/将 14 个方法的 stub 替换为 anthropic-experimental/sandbox-runtime 的真实实现

Bun 兼容 Shim
文件
用途
shims/macro.ts提供 MACRO 全局变量(VERSION、BUILD_TIME 等)— 原本由 Anthropic 内部 Bun 构建注入
shims/bun-bundle.ts提供 feature() 函数 — 替代 Anthropic 内部的 bun:bundle

缺失依赖(补充 28 个包)

原始 package.json 不完整。已补充 28 个缺失依赖,包括 @anthropic-ai/ 系列 SDK、OpenTelemetry 包和其他必要模块。


内部包处理

两个 Anthropic 内部包无法从 npm 安装:

  • @anthropic-ai/sandbox-runtime — 已替换为开源实现
  • @ant/claude-for-chrome-mcp — 已在 node_modules/ 中创建 stub


快速开始
前置要求
编译

git clone https://github.com/roger2ai/Claude-Code-Compiled.git
cd Claude-Code-Compiled

# 安装依赖(postinstall 自动创建 stub + 修补 Commander.js)
bun install

# 编译
bun build shims/macro.ts src/main.tsx --target=bun --outdir=./dist

# 合并为单文件
cat dist/shims/macro.js dist/src/main.js > dist/bundle.js
echo 'if (typeof main === "function") main().catch(e => { console.error(e); process.exit(1); });' >> dist/bundle.js

输出:dist/bundle.js(~23 MB,~5,750 模块,~300ms 编译时间)


运行

# 查看帮助(不需要 API key)
bun dist/bundle.js --help

# 交互式 REPL(需要真实终端 + API key)
export ANTHROPIC_API_KEY=你的密钥
bun dist/bundle.js

# 单次执行模式
bun dist/bundle.js -p "say hello"

项目结构
claude-code/
├── src/                  # 源码(~1,900 个 TypeScript 文件,512K+ 行)
│   ├── main.tsx          # CLI 入口
│   ├── QueryEngine.ts    # LLM 查询引擎
│   ├── Tool.ts           # 工具类型定义
│   ├── tools/            # 43 个工具实现
│   ├── commands/         # 80+ 个斜杠命令
│   ├── components/       # 346 个 React/Ink UI 组件
│   ├── services/         # 21 个服务模块
│   ├── screens/          # 全屏 UI(REPL、Doctor 等)
│   └── utils/            # 290+ 个工具函数文件
├── shims/                # Bun 兼容 shim
├── docs/                 # 架构与编译文档
├── dist/                 # 编译输出(gitignored)
└── package.json          # 依赖声明(574 个包)

文档
文档
内容
docs/ARCHITECTURE.md全景架构总览
docs/ARCHITECTURE-TOOLS.md43 个工具详细分析
docs/ARCHITECTURE-SERVICES.md21 个服务模块
docs/ARCHITECTURE-COMPONENTS.md346 个 UI 组件
docs/ARCHITECTURE-COMMANDS.md命令、Skill、Plugin
docs/ARCHITECTURE-UTILS.md工具函数层
docs/ARCHITECTURE-BRIDGE-REMOTE.mdIDE 桥接与远程会话
docs/API-CONFIG.mdAPI 配置(环境变量、认证、代理)
docs/BUILD.md详细编译指南与所有补丁
docs/REFACTORING-ASSESSMENT.md重构可行性评估

功能完备性
核心工具 — 全部正常 ✅
工具
用途
BashTool命令行执行
FileReadTool文件读取(图片、PDF、Notebook)
FileWriteTool文件创建/覆盖
FileEditTool文件局部修改
GlobTool文件模式匹配
GrepToolripgrep 内容搜索
WebFetchToolURL 内容抓取
WebSearchTool网页搜索
AgentTool子 Agent 调用
SkillToolSkill 执行
NotebookEditToolJupyter Notebook 编辑
AskUserQuestionTool交互式提问
MCPToolMCP 服务器工具调用
ListMcpResourcesTool / ReadMcpResourceToolMCP 资源访问

有条件启用的工具
工具
启用条件
状态
LSPTool设置 ENABLE_LSP_TOOL=true✅ 可用
PowerShellToolWindows 环境✅ 可用
EnterWorktreeTool / ExitWorktreeTool配置开启✅ 可用
TaskCreateTool 等 4 个配置开启✅ 可用
TeamCreateTool / TeamDeleteToolAgent Swarms 配置✅ 可用
ToolSearchTool配置开启✅ 可用

关闭的内部功能(80+ 个 feature flag)

以下 Anthropic 内部实验性功能通过 feature() 标志关闭,不影响核心 CLI 使用:

功能
影响
Voice Mode(VOICE_MODE)语音输入不可用
Proactive Mode(PROACTIVE)SleepTool、主动提醒不可用
Agent Swarms(TEAMMEM、BG_SESSIONS)多 Agent 协调不可用
Cron 调度(AGENT_TRIGGERS)定时触发器不可用
Computer Use(CHICAGO_MCP)桌面自动化不可用 — 需要 Anthropic 内部原生模块
Claude in Chrome(CHICAGO_MCP)浏览器集成不可用
KAIROS(KAIROS)Anthropic 内部助手模式不可用
Transcript Classifier(TRANSCRIPT_CLASSIFIER)自动权限分类不可用

Stub 工具(自动过滤,零运行时影响)
工具
原因
REPLToolUSER_TYPE=ant 条件不满足
SuggestBackgroundPRToolUSER_TYPE=ant 条件不满足
VerifyPlanExecutionToolCLAUDE_CODE_VERIFY_PLAN 未设置
WorkflowToolfeature('WORKFLOW_SCRIPTS') 返回 false
TungstenToolUSER_TYPE=ant 条件不满足

缺失的内部包(postinstall 自动创建 stub)

所有 @ant/* 包引用都在 feature() 守卫的 dead code 分支内,编译时被完全剔除。Stub 由 scripts/postinstall.sh 在 bun install 后自动创建:

用途
处理方式
@ant/claude-for-chrome-mcpChrome 浏览器 MCPpostinstall stub — dead code
@ant/computer-use-mcpComputer Use MCPpostinstall stub — dead code
@ant/computer-use-input鼠标/键盘控制postinstall stub — dead code
@ant/computer-use-swiftmacOS 原生截图postinstall stub — dead code

总结:所有核心 CLI 功能(文件操作、命令执行、搜索、API 调用、MCP 集成)均可正常使用。缺失的功能均为 Anthropic 内部实验性功能,在官方公开版本中同样不存在。


已知限制
  • TUI 需要真实终端 — 管道或非 TTY 环境下静默退出
  • 需要 API key — 实际对话必须设置 ANTHROPIC_API_KEY
  • macOS Keychain — Linux 上回退到明文文件存储
  • WSL2 沙箱 — 需要 apt install bubblewrap socat 才能使用沙箱功能

项目地址

https://github.com/roger2ai/Claude-Code-Compiled


【McSafe点评】

目前由于政策问题该项目已被github下架,论坛提供了完整修复版源码下载地址:https://www.mcsafenet.com/forum.php?mod=viewthread&tid=296&extra=page%3D1

0

主题

96

回帖

259

积分

中级会员

积分
259
发表于 2026-4-12 23:01:08 | 显示全部楼层 来自
所有核心 CLI 功能

0

主题

96

回帖

259

积分

中级会员

积分
259
发表于 2026-4-12 23:01:34 | 显示全部楼层 来自
核心工具 — 全部正常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表