ed91e47107
- 添加项目配置文件(tsconfig.json、bunfig.toml、.gitignore、.env.example) - 创建文档架构图(00runtime.png 至 08-state-data-flow.png) - 添加核心工具常量定义(FileEditTool、AgentTool、BashTool 等) - 实现基础命令框架(help、exit、config、model 等) - 添加 Ink TUI 组件库和布局引擎 - 包含内存管理、沙箱、shell 工具等基础工具类 - 设置预加载脚本和版本信息
3.0 KiB
3.0 KiB
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. 关键技术
实施步骤
- 创建
.trae/documents/ARCHITECTURE.md文件 - 编写概述部分
- 编写整体架构图与分层说明
- 详细分析各核心模块
- 添加数据流与时序图说明
- 完善文档结构与交叉引用