内部机制
Feature Flags、Session 管理、文件历史追踪 — 这些是支撑 Claude Code 运行的内部基础设施。
Feature Flag 系统 (88+)
Claude Code 通过 import { feature } from 'bun:bundle' 实现编译时功能门控。feature() 在构建时由 Bun 解析,通过环境变量 FEATURE_<FLAG>=1 启用。
// 使用方式 — 统一从 bun:bundle 导入 import { feature } from 'bun:bundle'; if (feature('BRIDGE_MODE')) { // 仅在 FEATURE_BRIDGE_MODE=1 时启用 } // Dev 默认启用 6 个 feature: // BUDDY, TRANSCRIPT_CLASSIFIER, BRIDGE_MODE, // AGENT_TRIGGERS_REMOTE, CHICAGO_MCP, VOICE_MODE // Build 默认启用 3 个 feature: // AGENT_TRIGGERS_REMOTE, CHICAGO_MCP, VOICE_MODE // 手动启用: FEATURE_PROACTIVE=1 bun run dev
88+ Feature Flags (按类别)
Agent / 自动化 (15)
| Flag | 功能 |
|---|---|
| KAIROS | 后台主动模式 — 异步任务执行 |
| PROACTIVE | 主动推送 — 无需用户输入主动操作 |
| COORDINATOR_MODE | 协调者模式 — 多 Agent 协调 |
| FORK_SUBAGENT | Fork 子 Agent — 继承父上下文 |
| ENABLE_AGENT_SWARMS | 多 Agent 群集 — Team 系统 |
| AGENT_TRIGGERS | Cron 定时任务触发器 |
| AGENT_TRIGGERS_REMOTE | 远程 Agent 触发器 (Dev/Build 默认开) |
| VERIFICATION_AGENT | 验证 Agent — 自动检查任务完成 |
| AGENT_MEMORY_SNAPSHOT | Agent 记忆快照 |
| MONITOR_TOOL | 系统监控工具 |
基础设施 (10)
| Flag | 功能 |
|---|---|
| BRIDGE_MODE | Bridge 远程控制 (Dev 默认开) |
| DAEMON | Daemon 长驻 supervisor |
| BG_SESSIONS | 后台会话 (ps/logs/attach/kill) |
| SSH_REMOTE | SSH 远程连接 |
| DIRECT_CONNECT | 直连模式 |
| BYOC_ENVIRONMENT_RUNNER | 自定义容器运行器 |
| SELF_HOSTED_RUNNER | 自托管运行器 |
| CCR_AUTO_CONNECT | CCR 自动连接 |
安全 / 分类 (6)
| Flag | 功能 |
|---|---|
| TRANSCRIPT_CLASSIFIER | 对话分类器 — auto 模式 (Dev 默认开) |
| BASH_CLASSIFIER | Bash 命令危险性分类 |
| TREE_SITTER_BASH | Tree-sitter Bash 解析 |
| NATIVE_CLIENT_ATTESTATION | 客户端原生认证 |
| ABLATION_BASELINE | 基线对照 — 禁用 thinking/compaction/memory |
工具 / 能力 (10)
| Flag | 功能 |
|---|---|
| CHICAGO_MCP | Computer Use MCP (Dev/Build 默认开) |
| VOICE_MODE | 语音模式 (Dev/Build 默认开) |
| WEB_BROWSER_TOOL | 浏览器自动化 |
| TERMINAL_PANEL | 终端面板捕获 |
| WORKFLOW_SCRIPTS | 工作流脚本 |
| HISTORY_SNIP | 历史消息剪切 |
| UDS_INBOX | Unix Domain Socket 通信 |
| MCP_SKILLS | MCP 技能集成 |
| MCP_RICH_OUTPUT | MCP 富输出 |
| CONTEXT_COLLAPSE | 上下文折叠 |
UI / 体验 (8) + 实验性 (10+)
| Flag | 功能 |
|---|---|
| BUDDY | 伴侣 AI 精灵 (Dev 默认开) |
| TEMPLATES | 模板系统 (new/list/reply) |
| MESSAGE_ACTIONS | 消息操作菜单 |
| QUICK_SEARCH | 快速搜索 |
| ULTRAPLAN | 超级规划模式 |
| ULTRATHINK | 超级思考模式 |
| TORCH | Torch 实验功能 |
| LODESTONE | Lodestone 实验功能 |
| DUMP_SYSTEM_PROMPT | 导出系统提示 (用于评测) |
| PERFETTO_TRACING | Perfetto 性能追踪 |
测试 & 代码检查
bun test (418 测试文件)
使用 Bun 原生测试框架(Jest 兼容 API)。包含集成测试 (tests/integration/) 和单元测试 (src/utils/__tests__/)。覆盖权限系统、Shell 匹配、工具链、消息管道、CLI 参数等。
Biome (Lint + Format)
biome.json 配置:80 字符行宽 (.tsx 120),60+ 自定义规则,semicolons asNeeded。替代 ESLint + Prettier。命令:bun run lint / bun run format。
# 测试命令 bun test # 运行全部测试 bun test src/utils/__tests__/hash.test.ts # 单文件 bun test --coverage # 覆盖率报告 # Lint & Format bun run lint # 检查 bun run lint:fix # 自动修复 bun run format # 格式化 src/
Computer Use (完整实现)
Computer Use 已从 Stub 恢复为完整实现,支持 macOS、Windows 和 Linux 三个平台:
@ant/computer-use-input
键盘/鼠标控制。macOS (AppleScript/CoreGraphics)、Windows (PowerShell/Win32)、Linux (xdotool)。导出 moveMouse, key, typeText 等。
@ant/computer-use-swift
显示器/截图 API。macOS (screencapture)、Windows (System.Drawing)、Linux (xrandr/scrot)。导出 Display、Apps、Screenshot API。
@ant/computer-use-mcp
MCP Server 封装。包含 executor、toolCalls、sentinelApps(策略限制)、deniedApps(应用分级)、keyBlocklist(系统热键拦截)。
@ant/claude-for-chrome-mcp
Chrome 浏览器 MCP 集成。BridgeClient + BROWSER_TOOLS,支持 Chrome 扩展通信。由 CHICAGO_MCP flag 控制。
Session 管理
Session 状态通过模块级单例维护(src/bootstrap/state.ts):
// Session 级全局状态 const sessionState = { sessionId: crypto.randomUUID(), // 唯一会话 ID cwd: process.cwd(), // 当前工作目录 projectRoot: findProjectRoot(), // 项目根目录 totalInputTokens: 0, // 输入 token 累计 totalOutputTokens: 0, // 输出 token 累计 totalCacheReadTokens: 0, // 缓存读取 token totalCacheWriteTokens: 0, // 缓存写入 token };
File History 追踪
Claude Code 追踪会话期间所有文件的修改历史,用于:
- 检测意外修改 — FileEditTool 在编辑前检查文件是否被外部修改
- Git Diff 生成 — 显示修改前后的差异
- 回滚支持 — 记录文件的原始内容
- BashTool 集成 — 命令执行后检测文件变更
模块状态表
各模块的当前实现状态:
| 模块 | 状态 | 说明 |
|---|---|---|
| Computer Use (@ant/*) | 完整实现 | macOS + Windows + Linux 三平台 |
| Chrome MCP | 完整实现 | 浏览器 MCP 集成 |
| Bridge / 远程控制 | 完整实现 | src/bridge/ 34 文件 |
| Audio Capture | 完整实现 | vendor/audio-capture native addon |
| Buddy 伴侣 | 完整实现 | src/buddy/ 8 文件 |
| OpenAI 兼容层 | 完整实现 | 882 行 OpenAI API 兼容 |
| color-diff-napi | 完整 | 颜色对比 napi 包 |
| Daemon 模式 | Stub | 2 文件 Promise.resolve() 占位 |
| *-napi (image, url, modifiers) | Stub | 原生模块空实现 |
| Analytics / GrowthBook / Sentry | 空实现 | 分析函数 no-op |
| MCP OAuth | 简化 | 简化实现 |
LocalMainSessionTask.ts 15,373 行(全库最大单文件),REPL.tsx 5,005 行(54 useState, 68 useEffect),hooks.ts 5,177 行。V6.md 中已规划对这些巨文件的重构拆解。
React Compiler 输出
反编译的组件代码包含 React Compiler 的自动优化产物:
// React Compiler 自动注入的 memoization import { c as _c } from 'react/compiler-runtime'; function MyComponent(props) { const $ = _c(8); // 分配 8 个缓存槽 let t0; if ($[0] !== props.value) { t0 = expensiveComputation(props.value); $[0] = props.value; $[1] = t0; } else { t0 = $[1]; // 从缓存中取 } // ... 这种模式在整个代码库中重复出现 }
_c(N) 和 $[i] 模式时,可以忽略这些 memoization 逻辑,聚焦于实际的业务代码。这只是 React Compiler 的自动优化,不影响功能理解。