# Claude Code Haha 架构分析文档生成计划 ## 目标 分析 `claude-code-haha` 项目的架构,并生成详细的 `ARCHITECTURE.md` 文档。 ## 项目概述 基于 Claude Code 泄露源码修复的本地可运行版本,支持接入任意 Anthropic 兼容 API。 ## 架构分析维度 ### 1. 整体架构(Layer Architecture) - **入口层**:CLI 入口点(cli.tsx → main.tsx) - **交互层**:REPL 交互界面(REPL.tsx + Ink 渲染) - **核心层**:工具系统、命令系统、状态管理 - **服务层**:API、MCP、OAuth、Bridge 等外部服务 - **支撑层**:Utils、Hooks、Constants ### 2. 核心模块分析 #### 2.1 入口与启动(entrypoints/) - `cli.tsx`:CLI 入口,处理命令行参数解析和快速路径分流 - `mcp.ts`:MCP 服务器入口 - `init.ts`:初始化入口 #### 2.2 交互界面(screens/ + components/) - `REPL.tsx`:主交互界面,核心 TUI 组件 - `components/`:UI 组件库(Message、PromptInput、Spinner 等) #### 2.3 Ink 终端渲染引擎(ink/) - 基于 React 的终端 UI 渲染 - 组件系统:Box、Text、Button - 事件系统:输入、点击、焦点 - 布局引擎:Yoga 布局 - 终端协议:ANSI、CSI、SGR 等解析 #### 2.4 工具系统(tools/) - 工具基类:Tool.ts、AgentTool - 核心工具:BashTool、FileEditTool、GlobTool、GrepTool 等 - MCP 工具:MCPTool、LSPTool - 工具注册与过滤机制 #### 2.5 命令系统(commands/) - 斜杠命令(/commit、/review、/help 等) - 命令注册与处理 - 命令行解析 #### 2.6 Skill 系统(skills/) - 内置 Bundled Skills(verify、batch、loop、debug 等) - Skill 加载与注册机制 - Skill 权限控制 #### 2.7 状态管理(state/) - AppStateStore:全局状态存储 - React Context 集成 - 状态选择器与订阅 #### 2.8 桥接与远程控制(bridge/) - Bridge API 客户端 - 会话管理 - JWT 认证与刷新 - 远程会话同步 #### 2.9 服务层(services/) - API 服务(Anthropic 客户端) - MCP 服务(MCP 协议实现) - OAuth 服务(认证) - Analytics 服务(遥测) - LSP 服务(语言服务器协议) ### 3. 数据流分析 - 请求生命周期 - 消息流 - 工具调用流 - 状态更新流 ### 4. 关键技术点 - React 19 + Ink 6 终端渲染 - Feature Flags(Dead Code Elimination) - MCP(Model Context Protocol) - LSP(Language Server Protocol) - 权限与安全模型 ## 输出文档结构(ARCHITECTURE.md) ``` # Claude Code Haha 架构文档 ## 1. 概述 ## 2. 整体架构 ## 3. 入口与启动 ## 4. 交互层(TUI) ## 5. Ink 渲染引擎 ## 6. 工具系统 ## 7. 命令系统 ## 8. Skill 系统 ## 9. 状态管理 ## 10. 桥接与远程控制 ## 11. 服务层 ## 12. 数据流 ## 13. 关键技术 ``` ## 实施步骤 1. [ ] 创建 `.trae/documents/ARCHITECTURE.md` 文件 2. [ ] 编写概述部分 3. [ ] 编写整体架构图与分层说明 4. [ ] 详细分析各核心模块 5. [ ] 添加数据流与时序图说明 6. [ ] 完善文档结构与交叉引用