# claude-code_3 **Repository Path**: loganzhg/claude-code_3 ## Basic Information - **Project Name**: claude-code_3 - **Description**: claude-code - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 40 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code Claude Code 是一个功能强大的 AI 代码助手工具,提供命令行界面和远程控制能力,帮助开发者更高效地编写、分析和管理代码。 ![技术解析](images/项目解析.jpg) ## 泄漏信息 ### Claude代码-泄漏源(2026-03-31) 2026年3月31日,Anropic的Claude Code CLI的完整源代码通过其npm注册表中公开的 .map 文件泄露。 **它是如何泄漏的** 手超凡(@Fried_rice)发现泄漏并公开发布: "克劳德代码源代码已通过他们npm注册表中的地图文件泄露!" @Fried_rice,2026年3月31日 已发布的npm包中的源代码映射文件包含对完整、未混淆的TypeScript源代码的引用,该源代码可作为zip存档从Anrowpic的R2存储桶下载。 **概览** Claude Code是Anturpic的官方CLI工具,可让您直接从终端与Claude交互以执行软件工程任务-编辑文件、运行命令、搜索代码库、管理git工作流等。 此存储库包含泄露的 src/ 目录。 - 泄露于:2026-03-31 - 语言:TypeScript - 运行时:好 - 终端UI:React+Ink(React for CLI) - 规模:约1,900个文件,512,000多行代码 ### 目录结构 ``` src/ |- main.tsx # Entrypoint (Commander.js-based CLI parser) |- commands.ts # Command registry |- tools.ts # Tool registry |- Tool.ts # Tool type definitions |- QueryEngine.ts # LLM query engine (core Anthropic API caller) |- context.ts # System/user context collection |- cost-tracker.ts # Token cost tracking | |- commands/ # Slash command implementations (~50) |- tools/ # Agent tool implementations (~40) |- components/ # Ink UI components (~140) |- hooks/ # React hooks |- services/ # External service integrations |- screens/ # Full-screen UIs (Doctor, REPL, Resume) |- types/ # TypeScript type definitions |- utils/ # Utility functions | |- bridge/ # IDE integration bridge (VS Code, JetBrains) |- coordinator/ # Multi-agent coordinator |- plugins/ # Plugin system |- skills/ # Skill system |- keybindings/ # Keybinding configuration |- vim/ # Vim mode |- voice/ # Voice input |- remote/ # Remote sessions |- server/ # Server mode |- memdir/ # Memory directory (persistent memory) |- tasks/ # Task management |- state/ # State management |- migrations/ # Config migrations |- schemas/ # Config schemas (Zod) |- entrypoints/ # Initialization logic |- ink/ # Ink renderer wrapper |- buddy/ # Companion sprite (Easter egg) |- native-ts/ # Native TypeScript utils |- outputStyles/ # Output styling |- query/ # Query pipeline +- upstreamproxy/ # Proxy configuration ``` ### 核心架构 #### 1. 工具系统(src/tools/) Claude Code可以调用的每个工具都被实现为一个独立的模块。每个工具都定义了它的输入模式、权限模型和执行逻辑。 | 工具 | 描述 | |------|------| | BashTool | Shell命令执行 | | 文件读取工具 | 文件读取(图像、PDF、笔记本) | | FileWriteTool | 文件创建/覆盖 | | 文件编辑工具 | 部分文件修改(字符串替换) | | 全球工具 | 文件模式匹配搜索 | | 软件工具 | 基于Ripgrep的内容搜索 | | WebFetchTool | 获取URL内容 | | 搜索工具 | 网页搜索 | | 代理工具 | 子代理产卵 | | 技能工具 | 技能执行 | | 多媒体工具 | MCP服务器工具调用 | | LSPTool | 语言服务器协议集成 | | 笔记本编辑工具 | Jupyter笔记本编辑 | | TaskCreateTool / TaskUpdateTool | 任务创建和管理 | | 发送消息工具 | 代理间消息传递 | | TeamCreateTool / TeamDeleteTool | 团队代理管理 | | EngPlanModeTool/ExitPlanModeTool | 计划模式切换 | | /ExitWorktreeTool | Git工作树隔离 | | 工具搜索工具 | 延迟工具发现 | | CronCreateTool | 计划的触发器创建 | | 远程触发工具 | 远程触发器 | | 睡眠工具 | 主动模式等待 | | 合成输出工具 | 结构化输出生成 | #### 2. 命令系统(src/命令/) 使用/prefix调用的面向用户的斜杠命令。 | 命令 | 描述 | |------|------| | /commit | 创建一个git提交 | | /review | 代码审查 | | /compact | 上下文压缩 | | /mcp | MCP服务器管理 | | /config | 设置管理 | | /doctor | 环境诊断学 | | /login / /logout | 认证 | | /memory | 持久内存管理 | | /skills | 技能管理 | | /tasks | 任务管理 | | /vim | 切换模式 | | /diff | 查看更改 | | /cost | 检查使用成本 | | /theme | 改变主题 | | /context | 上下文可视化 | | /pr_comments | 查看PR评论 | | /resume | 恢复上一个会话 | | /share | 分享会话 | | /desktop | 桌面应用程序切换 | | /mobile | 移动应用切换 | #### 3. 服务层(src/services/) | 服务 | 描述 | |------|------| | api/ | 人工API客户端、文件API、引导程序 | | 单片机/ | 模型上下文协议服务器连接和管理 | | oauth/ | OAuth 2.0身份验证流程 | | lsp/ | 语言服务器协议管理器 | | 分析/ | 基于生长书的功能标志和分析 | | 插件/ | 插件加载器 | | 紧凑/ | 对话上下文压缩 | | 政策限制/ | 组织政策限制 | | remoteManagedSettings/ | 远程托管设置 | | 提取记忆/ | 自动内存提取 | | 令牌估算. ts | 代币计数估计 | | teamMemorySync/ | 团队记忆同步 | #### 4. 桥接系统(src/bridge/) 连接IDE扩展(VS Code、JetBrains)和Claude Code CLI的双向通信层。 - Bridge geMain. ts-桥接主循环 - BridgeMessage. ts-消息协议 - bridgePermissionCallbacks. ts-权限回调 - ReplBridge. ts-REPL会话桥 - jwtUtils. ts-基于JWT的身份验证 - sessionRunner. ts-会话执行管理 #### 5. 权限系统(src/hooks/tools权限/) 检查每个工具调用的权限。提示用户批准/拒绝或根据配置的权限模式(默认、计划、旁路权限、自动等)自动解析。 #### 6. 功能标志 通过Bun的 bun:bundle 功能标志消除死代码: ```typescript import { feature } from 'bun:bundle' // Inactive code is completely stripped at build time const voiceCommand = feature('VOICE_MODE') ? require('./commands/voice/index.js').default : null ``` 显著标志:积极主动,凯罗斯,BRIDGE_MODE,戴蒙,VOICE_MODE,AGENT_TRIGGERS,MONITOR_TOOL ### 详细的关键文件 | 文件 | 描述 | |------|------| | QueryEngine.ts | 46K行 - LLM API调用的核心引擎。处理流响应、工具调用循环、思维模式、重试逻辑和令牌计数。 | | Tool.ts | 29K行 - 定义所有工具的基本类型和接口-输入模式、权限模型和进度状态类型。 | | commands.ts | 25K行 - 管理所有斜杠命令的注册和执行。使用条件导入为每个环境加载不同的命令集。 | | main.tsx | 基于Command. js的CLI解析器+React/Ink渲染器初始化。在启动时,并行化MDM设置、钥匙链预取和生长手册初始化以加快启动速度。 | ### 技术堆栈 | 类别 | 技术 | |------|------| | 运行时 | Bun | | 语言 | TypeScript (strict) | | 终端UI | React + Ink | | CLI解析 | Commander.js (extra-typings) | | 模式验证 | Zod v4 | | 代码搜索 | ripgrep (via GrepTool) | | 协议 | MCP SDK, LSP | | API | Anthropic SDK | | 遥测 | OpenTelemetry + gRPC | | 功能标志 | GrowthBook | | 认证 | OAuth 2.0, JWT, macOS Keychain | ### 值得注意的设计模式 #### 并行预取 通过并行预取MDM设置、钥匙串读取和API预连接来优化启动时间-在繁重的模块评估开始之前。 ```typescript // main.tsx - fired as side-effects before other imports startMdmRawRead() startKeychainPrefetch() ``` #### 延迟加载 重型模块(OpenTelemery~400KB、gRPC~700KB)通过动态 import() 延迟到实际需要。 #### Swarms探员 子代理通过AgentTool生成,具有协调器/处理多代理编排。TeamCreateTool支持团队级并行工作。 #### 技能系统 在技能/中定义并通过SkillTool执行的可重用工作流程。用户可以添加自定义技能。 #### 插件架构 内置和第三方插件通过插件/子系统加载。 ### Git漂亮的设置(每个文件漂亮的提交) 如果您希望GitHub的文件UI为每个文件显示视觉上不同的提交消息,请使用此repo中的帮助脚本: ```bash bash ./gitpretty-apply.sh . ``` 这将: - 将git漂亮克隆到~/. git漂亮(仅首次运行) - 使脚本可执行 - 针对这个repo运行emoji-file-commits.sh 可选:为未来的提交安装自动表情符号挂钩: ```bash bash ./gitpretty-apply.sh . --hooks ``` 运行后,像往常一样推送: ```bash git push origin main ``` ## 功能特点 - **多模式交互**:支持交互式会话、非交互式命令和远程控制 - **丰富的命令系统**:提供大量内置命令,覆盖代码分析、会话管理、插件管理等多个方面 - **强大的工具集成**:集成了文件操作、Bash 执行、Web 搜索等多种工具 - **插件和技能系统**:支持通过插件和技能扩展功能 - **多模型支持**:支持不同的 AI 模型,适应不同的使用场景 - **会话管理**:提供会话的创建、恢复和管理功能 - **远程控制**:支持从远程设备控制 Claude Code ## 快速开始 ### 安装 ```bash # 使用 npm 安装 npm install -g claude-code # 或使用 yarn 安装 yarn global add claude-code # 或使用 pnpm 安装 pnpm add -g claude-code ``` ### 启动交互式会话 ```bash # 启动交互式会话 claude ``` ### 执行非交互式查询 ```bash # 执行非交互式查询 claude -p "Write a function to calculate the factorial of a number" ``` ## 核心命令 ### 代码分析 - `/review ` - 分析代码并提供改进建议 - `/diff ` - 比较代码差异 - `/insights` - 生成会话分析报告 ### 会话管理 - `/session` - 管理会话 - `/resume ` - 恢复之前的会话 - `/theme` - 更改终端主题 - `/clear` - 清除屏幕 ### 模型管理 - `/model ` - 切换 AI 模型 - `/fast` - 切换快速模式 - `/effort ` - 设置努力级别 ### 工具调用 - `/bash ` - 执行 Bash 命令 - `/file-read ` - 读取文件 - `/file-write ` - 写入文件 - `/web-search ` - 搜索网络 ### 插件管理 - `/plugin list` - 列出已安装的插件 - `/plugin install ` - 安装插件 - `/plugin remove ` - 移除插件 - `/reload-plugins` - 重新加载插件 ## 配置 ### 环境变量 - `CLAUDE_CODE_ENVIRONMENT_KIND` - 环境类型 - `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` - 禁用终端标题 - `CLAUDE_CODE_USE_BEDROCK` - 使用 Bedrock 模型 - `CLAUDE_CODE_USE_VERTEX` - 使用 Vertex 模型 ### 配置文件 配置文件位于 `~/.claude/settings.json`,可以通过 `/config` 命令查看和修改配置。 ## 远程控制 ### 启动远程控制服务器 ```bash # 启动远程控制服务器 claude remote-control ``` ### 连接到远程会话 ```bash # 连接到远程会话 claude open ``` ## 插件开发 ### 创建插件 1. 创建一个包含 `manifest.json` 文件的目录 2. 在 `manifest.json` 中定义插件信息和命令 3. 实现插件功能 4. 使用 `/plugin install ` 安装插件 ### 插件示例 ```json { "name": "my-plugin", "version": "1.0.0", "description": "My custom plugin", "commands": [ { "name": "hello", "description": "Say hello", "type": "prompt", "getPromptForCommand": "Hello world!" } ] } ``` ## 技能开发 ### 创建技能 1. 在 `~/.claude/skills` 目录中创建一个 `.md` 文件 2. 在文件中定义技能信息和提示 3. 技能会自动加载到 Claude Code 中 ### 技能示例 ```markdown --- title: "Calculator" description: "Calculate mathematical expressions" --- You are a calculator. Calculate the following expression: {{input}} ``` ## 常见问题 ### API 调用失败 检查网络连接,确保 API 密钥有效。 ### 工具调用被拒绝 检查权限设置,确保工具使用权限。 ### 会话恢复失败 检查会话文件是否存在,确保会话 ID 正确。 ### 插件加载失败 检查插件路径,确保插件格式正确。 ### 内存使用过高 清理会话历史,减少上下文大小。 ## 贡献 我们欢迎社区贡献!请通过以下方式参与: 1. 提交问题和功能请求 2. 提交代码补丁 3. 改进文档 4. 开发插件和技能 ## 许可证 Claude Code 采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 ## 关注公众号 关注公众号,了解最新进展 ![公众号二维码](images/qrcode.jpg) 免责声明 此存储库归档了2026-03-31从Anthropic的npm注册表泄露的源代码。所有原始源代码都是Anthropic的财产。