# Claude_code_src **Repository Path**: lingxiaobc/claude_code_src ## Basic Information - **Project Name**: Claude_code_src - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-26 - **Last Updated**: 2026-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code Anthropic 官方出品的智能体 CLI 编程助手。Claude Code 将 Claude 的力量直接带入你的终端,为软件工程提供交互式 AI 辅助——理解你的代码库、编辑文件、运行命令、管理任务,并以智能体的方式自主工作。 ## 核心能力 ### 智能代码辅助 - **代码理解**:深度分析代码库结构、架构和逻辑 - **文件编辑**:精确的文本替换、文件创建和删除 - **代码搜索**:基于 ripgrep 的内容搜索和 glob 模式匹配 - **Shell 执行**:安全的终端命令执行(bash / PowerShell),含权限控制 ### 智能体系统 - **子智能体**:并行启动多个子智能体处理独立任务 - **任务管理**:结构化的任务创建、跟踪和依赖管理(支持 V2 任务系统) - **定时任务**:基于 Cron 的周期性任务调度 - **团队协作**:多智能体编队(Swarm)协调完成复杂工作 - **远程智能体**:通过 CCR(Claude Code Remote)在远程会话中运行智能体 ### 工具生态 - **MCP(模型上下文协议)**:连接外部 MCP 服务器,扩展工具和资源 - **LSP(语言服务器协议)**:与语言服务器集成,获取诊断和代码智能 - **Web 搜索/抓取**:搜索网络信息并获取网页内容 - **技能系统**:可复用的指令集,14+ 内置技能(代码审查、调试、批量操作等) - **插件系统**:支持市场插件,可贡献技能、钩子和 MCP 服务器 ### 编辑器体验 - **Vim 模式**:完整的 Vim 模态编辑(Normal/Insert 模式、操作符、动作、文本对象、寄存器) - **键绑定**:19 个上下文可自定义的键盘快捷键 - **IDE 集成**:通过 WebSocket/SSE 桥接与 VS Code 等 IDE 集成 - **语法高亮**:终端代码语法高亮 ### 会话管理 - **会话持久化**:会话历史和状态保存,支持恢复和回溯(`/resume`、`/rewind`) - **会话压缩**:自动压缩长对话以适应上下文窗口(`/compact`) - **分支会话**:分叉会话以尝试不同方案 - **IDE 远程控制**:通过 Claude AI 网页端远程控制本地会话 ### 配置与安全 - **三层配置**:用户设置 → 项目设置 → 本地覆盖,全部 JSON 格式 - **权限系统**:细粒度的工具权限控制(allow/deny/ask) - **钩子系统**:23 个生命周期事件钩子(PreToolUse、SessionStart、UserPromptSubmit 等) - **OAuth 认证**:PKCE 流程的安全认证 ### 记忆系统 - **四类记忆**:用户画像、反馈指导、项目背景、外部参考 - **语义检索**:HYDE(假设文档嵌入)驱动的记忆查找 - **团队记忆**:共享记忆目录支持团队协作 - **自动记忆**:从会话中自动提取和更新记忆 ### 开发者工具 - **诊断命令**:`/doctor` 检查安装状态、检测问题并给出修复建议 - **遥测与分析**:OpenTelemetry 指标 + Datadog 集成 + GrowthBook 特性开关 - **迁移系统**:跨版本用户设置自动迁移 ## 快速开始 ### 安装 ```bash # npm 全局安装 npm install -g @anthropic-ai/claude-code # 或使用原生二进制(macOS / Linux / Windows) # 从 https://claude.com/claude-code 下载 ``` ### 首次使用 ```bash # 启动交互式 REPL claude # 使用特定模型 claude --model opus # 打印版本 claude --version # 打印系统提示词(用于调试) claude --dump-system-prompt ``` ### 基本工作流 ``` $ claude > 帮我分析这个项目的架构 > /review # 审查当前改动 > /compact # 压缩长对话 > /help # 查看所有命令 ``` ## 命令系统 Claude Code 提供 80+ 斜杠命令,以下是常用命令: | 命令 | 功能 | |------|------| | `/help` | 显示帮助信息 | | `/compact` | 压缩对话历史 | | `/review` | 审查代码改动 | | `/config` | 管理配置 | | `/model` | 切换模型 | | `/doctor` | 诊断安装问题 | | `/cost` | 查看费用统计 | | `/stats` | 查看使用统计 | | `/memory` | 管理记忆 | | `/hooks` | 配置钩子 | | `/mcp` | 管理 MCP 服务器 | | `/agents` | 管理自定义智能体 | | `/plugin` | 管理插件 | | `/resume` | 恢复之前的会话 | | `/rewind` | 回退到历史消息 | | `/export` | 导出会话记录 | | `/upgrade` | 升级到 Max 方案 | | `/keybindings` | 自定义键盘快捷键 | | `/context` | 查看上下文使用情况 | | `/statusline` | 配置状态栏 | | `/vim` | 切换 Vim 模式 | ## 配置 ### 配置文件层级 ``` ~/.claude/settings.json # 用户全局设置 项目/.claude/settings.json # 项目共享设置(可提交到版本控制) 项目/.claude/settings.local.json # 本地覆盖设置(gitignored) ``` ### 常用配置示例 ```json { "model": "sonnet", "cleanupPeriodDays": 30, "respectGitignore": true, "permissions": { "allow": [ "Bash(dir:*)", "WebSearch", "WebFetch(domain:*.github.com)" ], "deny": [ "Bash(command:rm -rf /*)" ] }, "env": { "ANTHROPIC_BASE_URL": "https://api.anthropic.com" }, "statusLine": { "type": "command", "command": "~/.claude/statusline.sh" }, "hooks": { "PostToolUse": [ { "matcher": "BashTool", "hooks": [{ "type": "command", "command": "echo 'command executed'" }] } ] } } ``` ### 关键环境变量 | 变量 | 说明 | |------|------| | `ANTHROPIC_API_KEY` | API 密钥 | | `ANTHROPIC_BASE_URL` | 自定义 API 基础 URL | | `ANTHROPIC_AUTH_TOKEN` | OAuth 认证令牌 | | `ANTHROPIC_DEFAULT_OPUS_MODEL` | 默认 Opus 模型 | | `ANTHROPIC_DEFAULT_SONNET_MODEL` | 默认 Sonnet 模型 | | `ANTHROPIC_DEFAULT_HAIKU_MODEL` | 默认 Haiku 模型 | | `CLAUDE_CODE_EFFORT_LEVEL` | 推理努力程度 | | `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 禁用非必要网络流量 | | `CLAUDE_CODE_USE_BEDROCK` | 强制使用 AWS Bedrock | | `CLAUDE_CODE_USE_VERTEX` | 强制使用 GCP Vertex | | `CLAUDE_CODE_REMOTE` | 启用远程模式 | | `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 禁用自动记忆 | | `DISABLE_DOCTOR_COMMAND` | 禁用 `/doctor` 命令 | | `DISABLE_UPGRADE_COMMAND` | 禁用 `/upgrade` 命令 | ## 项目架构 ``` src/ ├── entrypoints/ # 应用入口(CLI、MCP 服务器、SDK) ├── bootstrap/ # 全局会话状态管理 ├── screens/ # 顶层终端界面(REPL.tsx、Doctor.tsx) ├── ink/ # 自研终端 UI 框架(React Reconciler + Yoga 布局) ├── components/ # React UI 组件(消息、权限对话框、PromptInput 等) ├── hooks/ # React Hooks(80+) ├── commands/ # 斜杠命令(80+) ├── tools/ # 工具实现(42 个工具) ├── tasks/ # 智能体任务执行器 ├── services/ # 后端服务(API、MCP、LSP、OAuth、分析等) ├── bridge/ # IDE 桥接(VS Code 集成) ├── plugins/ # 插件系统(市场、加载、验证) ├── skills/ # 技能系统(14 个内置技能) ├── memdir/ # 基于文件的记忆存储 ├── keybindings/ # 键盘快捷键系统 ├── vim/ # Vim 模态编辑引擎 ├── utils/ # 工具模块(120+) ├── types/ # TypeScript 类型定义 ├── constants/ # 常量、系统提示词、产品字符串 ├── migrations/ # 跨版本用户设置迁移 ├── remote/ # 远程会话管理(CCR) ├── server/ # 直连服务器 └── voice/ # 语音输入集成 ``` ### 核心架构模式 **状态管理** 全局会话状态集中于 `src/bootstrap/state.ts` 中的单一可变 `STATE` 对象,通过 getter/setter 函数访问,涵盖费用追踪、token 使用、模型配置、遥测提供者、Cron 任务等。 **启动流程** `cli.tsx` 解析 CLI 参数并处理快速路径 → `init.ts` 执行延迟初始化(配置加载、TLS/代理、遥测)→ `REPL.tsx` 启动主 REPL 循环。 **工具模式** 每个工具是一个独立目录,包含:工具定义、Zod 输入验证、执行逻辑、权限检查。所有工具在 `src/tools/` 下按名称组织。 **智能体系统** 父智能体通过 `AgentTool` 生成子智能体,由 `src/tasks/` 中的执行器支撑:`LocalAgentTask`(进程内)、`RemoteAgentTask`(远程)、`LocalShellTask`(Shell 子进程)、`DreamTask`(后台自主任务)。 **终端 UI 框架** `src/ink/` 是从头构建的自定义终端 UI 框架,使用 React Reconciler 配合从 C 编译而来的 Yoga 布局引擎。处理帧渲染、差异输出到终端、鼠标事件、复制/粘贴和搜索高亮。 ## 开发 ### 前置要求 - **Bun**(运行和打包) - Node.js 环境 ### 构建 项目使用 Bun 打包器。入口文件: - `src/entrypoints/cli.tsx` — 主 CLI - `src/entrypoints/mcp.ts` — MCP 服务器模式 ### 导入约定 内部导入使用 `src/` 前缀和 `.js` 扩展名: ```typescript import { STATE } from 'src/bootstrap/state.js' import { getSettings } from 'src/utils/settings/settings.js' ``` ### 特性门控 编译时通过 `bun:bundle` 的 `feature()` 函数进行死代码消除: ```typescript if (feature('VOICE_MODE')) { // 仅在语音模式构建时包含此代码 } ``` ### 测试 此源码提取版本中不包含测试文件(测试在原 monorepo 的其他位置)。 ## 自定义智能体 在 `.claude/agents/` 目录下创建 Markdown 文件来定义自定义智能体: ```markdown --- name: my-agent description: 我的专用智能体 tools: Read, Grep, Glob, Bash model: haiku color: cyan --- 你的智能体行为说明... ``` ## 相关链接 - 产品官网:[https://claude.com/claude-code](https://claude.com/claude-code) - 文档:[https://docs.anthropic.com/en/docs/claude-code](https://docs.anthropic.com/en/docs/claude-code) - GitHub Action:[https://github.com/anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) ## 许可证 本项目基于 MIT 许可证开源。详见 [LICENSE](./LICENSE) 文件。