ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

如何本地运行 Claude Code 泄露源码:从 Bun 环境搭建到 dev runner 的完整部署指南

如何本地运行 Claude Code 泄露源码:从 Bun 环境搭建到 dev runner 的完整部署指南 如何本地运行 Claude Code 泄露源码从 Bun 环境搭建到 dev runner 的完整部署指南【免费下载链接】claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.项目地址: https://gitcode.com/gh_mirrors/claudecode5/claude-codeClaude Code 是 Anthropic 官方推出的终端 AI 编程助手agentic coding tool它运行在命令行里能理解整个代码库用自然语言帮你写代码、执行例行任务、解释复杂代码并处理 git 工作流。本文带你完整走一遍Claude Code 泄露源码的本地部署从安装 Bun 运行时、配置 API Key到用bun run dev一键启动开发环境全程不到 10 分钟。一、先了解你要跑的是什么 泄露的仓库包含约 1900 个 TypeScript/TSX 源文件主要模块如下模块说明参考工具系统BashTool、FileEditTool 等 40 工具src/tools/命令系统/commit、/review 等 50 斜杠命令src/commands/终端 UI基于 React Ink 的交互界面src/ink/核心查询引擎LLM 调用主循环流式、工具调用、重试src/QueryEngine.tsMCP 服务独立的 MCP Server 子项目mcp-server/架构细节可先通读 docs/architecture.md代码导读建议看 docs/exploration-guide.md。⚠️ 注意源码中大量使用了 Bun 打包器的编译期特性特性开关和宏注入没有对应的运行时垫片就无法直接启动——这正是本指南要解决的核心问题。二、环境要求为什么必须用 Bun 打开 package.json 可以看到明确的版本约束engines: { bun: 1.1.0 }—— 必须使用Bun ≥ 1.1.0而非 Node.jstype: module—— ESM 项目入口文件是 src/entrypoints/cli.tsxBun 能直接运行 TypeScript无需编译步骤这也是 dev runner 如此轻量、启动如此快的原因。三、一键获取源码并安装依赖 第 1 步安装 Bun 运行时已安装可跳过curl -fsSL https://bun.sh/install | bash bun --version # 应输出 1.1.0 或更高第 2 步克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/claudecode5/claude-code cd claude-code bun install # 主项目依赖会生成 bun.lockb 锁文件 cd mcp-server npm install cd .. # MCP 子项目用 npm第 3 步验证安装确认node_modules/中存在anthropic-ai/sdk、react、zod、modelcontextprotocol/sdk等核心包然后跑一次类型检查bun run typecheck此阶段出现报错属正常现象源码未完全修复先记录、不要急着改。完整步骤见 prompts/01-install-bun-and-deps.md。四、理解运行时垫片bun:bundle 与 MACRO 源码里随处可见这样的写法import { feature } from bun:bundle if (feature(BRIDGE_MODE)) { /* ... */ }这些feature()开关原本由 Bun 打包器在构建时替换为 true/false。直接运行时该导入会失败。仓库已内置三个垫片文件帮你解决src/shims/bun-bundle.ts —— 运行时版feature()特性开关改由CLAUDE_CODE_*环境变量控制如CLAUDE_CODE_BRIDGE_MODE默认全部关闭src/shims/macro.ts —— 注入全局MACRO对象VERSION、PACKAGE_URL等版本号从 package.json 动态读取src/shims/preload.ts —— 预加载引导文件确保垫片先于业务代码生效而让bun:bundle这个模块名能被解析的关键是 scripts/bun-plugin-shims.ts它注册了一个 Bun preload 插件把bun:bundle的导入重定向到上面的垫片。该插件通过根目录的 bunfig.toml 自动加载preload [./scripts/bun-plugin-shims.ts]这一步意味着你不需要手动改任何配置Bun 启动时会自动接管。五、配置 API Key让 CLI 真正能对话 在项目根目录创建.env文件Bun 会自动加载ANTHROPIC_API_KEYsk-ant-... # 必填你的 Anthropic API Key ANTHROPIC_MODEL # 可选覆盖默认模型 ANTHROPIC_BASE_URL # 可选自定义 API 端点 CLAUDE_CODE_DEBUG_LOG_LEVELdebug # 可选调试日志级别配置好 Key 后运行仓库自带的连通性测试脚本 scripts/test-auth.tsbun scripts/test-auth.ts看到 ✅ API connection successful! 即说明认证成功没有 Key 时会打印清晰的错误提示。环境变量的完整清单整理在 prompts/05-env-and-auth.md 中支持直连 API、OAuth、AWS Bedrock 等多种后端。六、启动 dev runnerbun run dev 开发启动器 scripts/dev.ts 只有短短十几行先加载MACRO垫片再动态导入 CLI 入口。它的巧妙之处在于bun:bundle的解析由 bunfig.toml 的 preload 插件自动完成启动器本身无需处理.env由 Bun 原生读取无需 dotenv日常使用的命令bun run dev --version # 打印版本号 bun run dev --help # 打印帮助文本 bun run dev # 启动交互式 REPLInk 终端界面 bun run dev -p say hello # 单次 API 调用并输出结果部署自检清单✅--version能正常输出版本号--help无报错启动时没有任何模块解析错误进入 REPL 后 API Key 生效、能正常对话详细开发流程含 debug 模式CLAUDE_CODE_DEBUG_LOG_LEVELdebug见 prompts/14-dev-runner.md。七、常见问题速查 ❓症状原因与解法提示Cannot find module bun:bundleBun 版本过低未加载 bunfig.toml 的 preload 插件升级到 ≥1.1.0启动报MACRO is not defined垫片未先于入口加载确认从bun run dev启动而非直接bun src/...node_modules缺少 Anthropic SDK在根目录执行bun installmcp-server 子目录需用npm installAPI 连接失败检查ANTHROPIC_API_KEY格式与余额用 scripts/test-auth.ts 复测八、下一步继续深挖 跑通 dev runner 只是开始。仓库的 prompts/00-overview.md 提供了一份16 步构建指南从运行时垫片、esbuild 构建系统到工具系统审计、查询引擎、生产打包你可以按编号顺序逐个跟进。生产构建可运行bun run build产出dist/cli.mjs单文件用 Node 20 也能执行。祝你顺利跑起这份源码读懂 Claude Code 的内部构造【免费下载链接】claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.项目地址: https://gitcode.com/gh_mirrors/claudecode5/claude-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表