Skip to content

源码目录映射

完整目录映射

下表展示了 claude-code-rev 源码树的完整目录结构、每个目录的用途以及关键文件的估算代码行数。

根级文件

文件用途估算行数
bootstrap-entry.ts应用入口,注入 MACRO 常量~10
bootstrapMacro.tsMACRO 配置定义~30
main.tsxCommander CLI 主逻辑、init/setup 流程~500+
tools.ts工具注册中心,getAllBaseTools()~300
Tool.tsTool 接口和类型定义~200
commands.ts命令注册中心,四管道加载~200

entrypoints/ 目录

文件用途估算行数
cli.tsxCLI 入口,13 条快速路径~300
agentSdkTypes.tsAgent SDK 类型声明~50

bootstrap/ 目录

文件用途估算行数
state.tsBootstrap State 定义和管理~1,300+(大型文件,需要重构)

state/ 目录

文件用途估算行数
AppState.tsAppState 定义和类型~200
AppStateStore.tsxReact Context 绑定~100

tools/ 目录(核心工具)

目录/文件用途行数
BashTool/终端命令执行~1,000+
FileEditTool/文件编辑~500+
FileReadTool/文件读取~300+
FileWriteTool/文件写入~300+
GlobTool/文件搜索(glob)~200+
GrepTool/文件搜索(grep)~200+
WebFetchTool/网页抓取~200+
WebSearchTool/网页搜索~300+
AgentTool/子代理执行~500+
SkillTool/技能调用~300+
TaskStopTool/任务停止~100
TaskCreateTool/任务创建~150
TaskGetTool/任务查询~150
TaskUpdateTool/任务更新~150
TaskListTool/任务列表~150
AskUserQuestionTool/询问用户~200+
EnterPlanModeTool/进入计划模式~200+
ExitPlanModeV2Tool/退出计划模式~200+
TodoWriteTool/待办事项~150
NotebookEditTool/Jupyter 编辑~300+
ConfigTool/配置管理(Ant 内部)~300+
LSPTool/Language Server 协议~300+
MCPTool(在 services/mcp/)MCP 工具包装~200
ListMcpResourcesTool/MCP 资源列表~100
ReadMcpResourceTool/MCP 资源读取~100
TungstenTool/Ant 内部测试~500+
ToolSearchTool/工具搜索~150

tools/ 目录(条件工具)

目录/文件条件用途
REPLTool/USER_TYPE === 'ant'交互式 REPL
PowerShellTool/PowerShell 可用PowerShell 执行
WebBrowserTool/feature('WEB_BROWSER_TOOL')浏览器自动化
WorkflowTool/feature('WORKFLOW_SCRIPTS')工作流执行
SleepTool/feature('PROACTIVE/KAIROS')等待
ScheduleCronTool/feature('AGENT_TRIGGERS')定时任务
RemoteTriggerTool/feature('AGENT_TRIGGERS_REMOTE')远程触发
MonitorTool/feature('MONITOR_TOOL')监控
SendUserFileTool/feature('KAIROS')发送文件
PushNotificationTool/feature('KAIROS')推送通知
SubscribePRTool/feature('KAIROS_GITHUB_WEBHOOKS')PR 订阅
SnipTool/feature('HISTORY_SNIP')历史裁剪
CtxInspectTool/feature('CONTEXT_COLLAPSE')上下文检查
OverflowTestTool/feature('OVERFLOW_TEST_TOOL')溢出测试
TerminalCaptureTool/feature('TERMINAL_PANEL')终端捕获
ListPeersTool/feature('UDS_INBOX')对等节点列表

commands/ 目录

文件/目录用途类型
init.js初始化项目单文件
commit.jsGit 提交单文件
review.js代码审查单文件
security-review.js安全审查单文件
help/index.js帮助目录
config/index.js配置管理目录
mcp/index.jsMCP 管理目录
session/index.js会话管理目录
memory/index.js记忆管理目录
skills/index.js技能管理目录
add-dir/index.js添加目录目录
clear/index.js清理屏幕目录
compact/index.js压缩对话目录
context/index.js上下文管理目录
login/index.js登录目录
logout/index.js登出目录
desktop/index.js桌面集成目录
copy/index.js复制目录
diff/index.js差异查看目录
status/index.js状态查询目录
cost/index.js费用查看目录
rename/index.js重命名会话目录
resume/index.js恢复会话目录
share/index.js分享目录
proactive.js主动模式条件
voice/index.js语音模式条件
bridge/index.js远程控制条件

services/ 目录

目录用途关键文件
mcp/MCP 客户端实现client.ts, discovery.ts, transport.ts, types.ts
policyLimits/策略限制index.ts
skillSearch/技能搜索localSearch.ts

components/ 目录

文件用途
Spinner.js加载动画组件
MessageList.js消息列表渲染
InputBox.js用户输入框
PermissionDialog.js权限对话框
ConfigWindow.js配置窗口

utils/ 目录(关键文件)

文件用途估算行数
config.ts配置加载和解析~500+
sessionStorage.ts会话持久化~300+
startupProfiler.ts启动性能分析~100
earlyInput.ts提前输入捕获~100
process.ts进程管理~200+
auth.ts用户认证~300+
sinks.ts遥测/分析~200+
model/model.ts模型配置~500+
permissions/permissions.ts权限系统~400+
theme.ts主题管理~200+
worktree.ts工作树模式~200+
tasks.ts任务管理~200+
toolSearch.ts工具搜索~100

其他目录

目录用途
daemon/守护进程模式
bridge/远程控制/桥接模式
cli/CLI 辅助(bg.js, handlers/)
environment-runner/BYOC 环境运行器
self-hosted-runner/自托管运行器
constants/常量定义
hooks/React Hooks
context/React Context
migrations/版本迁移脚本
types/类型定义
coordinator/协调器模式

文件大小热力图

基于还原后的源码分析,各主要模块的代码量分布:

bootstrap/state.ts        ████████████████████████████████   ~1,300 行
main.tsx                  ████████████████                   ~500+ 行
BashTool/                 ██████████████████████████         ~1,000+ 行
config.ts                 ██████████████                     ~500+ 行
model/model.ts            ██████████████                     ~500+ 行
commands.ts               ██████                             ~200 行
tools.ts                  ████████                           ~300 行
cli.tsx                   ████████                           ~300 行
Tool.ts                   ██████                             ~200 行
FileEditTool/             ██████████████                     ~500+ 行
AgentTool/                ██████████████                     ~500+ 行
permissions.ts            ████████████                       ~400+ 行
sessionStorage.ts         ████████                           ~300+ 行
auth.ts                   ████████                           ~300+ 行

注意:行数为估算值,基于还原后的源码反编译结果。实际原始 TypeScript 代码量可能有所不同。

目录结构文件总览

claude-code-rev/
├── src/                              # 主要源码目录
│   ├── bootstrap-entry.ts           # 应用入口
│   ├── bootstrapMacro.ts            # MACRO 注入
│   ├── main.tsx                     # CLI 主逻辑
│   ├── tools.ts                     # 工具注册
│   ├── Tool.ts                      # 工具接口
│   ├── commands.ts                  # 命令注册
│   ├── entrypoints/
│   │   ├── cli.tsx                  # CLI 入口
│   │   └── agentSdkTypes.ts         # SDK 类型
│   ├── bootstrap/
│   │   └── state.ts                 # Bootstrap State
│   ├── state/
│   │   ├── AppState.ts              # AppState
│   │   └── AppStateStore.tsx        # React 绑定
│   ├── services/
│   │   └── mcp/                     # MCP 客户端
│   ├── tools/                       # 50+ 工具
│   ├── commands/                    # 102+ 命令
│   ├── components/                  # React 组件
│   ├── hooks/                       # React Hooks
│   ├── context/                     # React Context
│   ├── constants/                   # 常量
│   ├── cli/                         # CLI 功能
│   ├── daemon/                      # 守护进程
│   ├── bridge/                      # 远程控制
│   ├── migrations/                  # 迁移脚本
│   └── types/                       # 类型定义
├── shims/                           # 7 个 shim 包
└── vendor/                          # 供应商代码