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 工具等基础工具类 - 设置预加载脚本和版本信息
111 lines
3.0 KiB
Markdown
111 lines
3.0 KiB
Markdown
# 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. [ ] 完善文档结构与交叉引用
|