docs: sync dependency graphs and trees with the actual layout
- focus-core no longer lists tokio in the README/AGENTS dependency graphs (the core is pure sync); both graphs now fully match the real Cargo.tomls (providers + focus-json+tokio, tools + focus-json) - README: workspace tree gains Cargo.toml/README/LICENSE and the no-tokio note on focus-core - AGENTS.md: workspace tree matches reality (LICENSE/README added, the nonexistent tests/ dir dropped) - docs/architecture/00: the early proposal tree (focus-cli) is updated to the final 7-crate layout with a superseded note
This commit is contained in:
parent
bf92590fcd
commit
1c214ec567
13
AGENTS.md
13
AGENTS.md
|
|
@ -120,6 +120,8 @@ let b = self.buf.pop_front();
|
|||
focus/
|
||||
├── AGENTS.md # 本文件
|
||||
├── Cargo.toml # [workspace] + 共享依赖版本
|
||||
├── LICENSE # MIT
|
||||
├── README.md # 项目总览与使用说明
|
||||
├── rust-toolchain.toml # channel = "stable"
|
||||
├── crates/
|
||||
│ ├── focus-json/ # 极简 JSON 解析器(零外部依赖)
|
||||
|
|
@ -129,19 +131,18 @@ focus/
|
|||
│ ├── focus-tools/ # 文件工具(read / write / edit / shell)
|
||||
│ ├── focus-harness/ # 会话持久化 + 上下文压缩 + 系统提示模板
|
||||
│ └── focus-tui/ # 终端交互层(ratatui + crossterm)
|
||||
├── docs/
|
||||
│ └── architecture/ # 架构解读文档(已存在)
|
||||
└── tests/ # workspace 级集成测试(可选)
|
||||
└── docs/
|
||||
└── architecture/ # 架构解读文档
|
||||
```
|
||||
|
||||
### 3.1 依赖图(强制单向,禁止循环)
|
||||
|
||||
```text
|
||||
focus-json ← (零外部依赖,纯 std)
|
||||
focus-core ← focus-json, tokio
|
||||
focus-core ← focus-json(纯同步逻辑,不依赖 tokio)
|
||||
focus-transport ← focus-json, tokio, rustls, tokio-rustls, rustls-native-certs
|
||||
focus-providers ← focus-core, focus-transport
|
||||
focus-tools ← focus-core
|
||||
focus-providers ← focus-core, focus-transport, focus-json, tokio
|
||||
focus-tools ← focus-core, focus-json
|
||||
focus-harness ← focus-core, focus-json
|
||||
focus-tui ← focus-core, focus-providers, focus-tools, focus-harness, focus-json, ratatui, crossterm
|
||||
```
|
||||
|
|
|
|||
27
README.md
27
README.md
|
|
@ -23,26 +23,29 @@
|
|||
|
||||
```text
|
||||
focus/
|
||||
├── crates/
|
||||
│ ├── focus-json/ # 极简 JSON 解析器 / 序列化器(零外部依赖)
|
||||
│ ├── focus-core/ # ★ 核心层:领域类型 + Agent 循环 + Tool / StreamProvider trait
|
||||
│ ├── focus-transport/ # 传输层:HTTPS 客户端(tokio + rustls)、HTTP/1.1、SSE 解析
|
||||
│ ├── focus-providers/ # Provider 实现(Anthropic / OpenAI)
|
||||
│ ├── focus-tools/ # 文件工具(read / write / edit / shell)
|
||||
│ ├── focus-harness/ # 会话持久化 + 上下文压缩 + 系统提示模板
|
||||
│ └── focus-tui/ # 终端交互层(ratatui + crossterm),组装所有模块
|
||||
├── Cargo.toml # workspace 清单
|
||||
├── README.md # 本文件
|
||||
├── AGENTS.md # 工程规范(依赖白名单、代码/测试/提交规范)
|
||||
├── LICENSE # MIT
|
||||
├── docs/architecture/ # 架构解读文档(三份精读笔记)
|
||||
└── AGENTS.md # 工程规范(依赖白名单、代码/测试/提交规范)
|
||||
└── crates/
|
||||
├── focus-json/ # 极简 JSON 解析器 / 序列化器(零外部依赖)
|
||||
├── focus-core/ # ★ 核心层:领域类型 + Agent 循环 + Tool / StreamProvider trait(纯同步,无 tokio)
|
||||
├── focus-transport/ # 传输层:HTTPS 客户端(tokio + rustls)、HTTP/1.1、SSE 解析
|
||||
├── focus-providers/ # Provider 实现(Anthropic / OpenAI)
|
||||
├── focus-tools/ # 文件工具(read / write / edit / shell)
|
||||
├── focus-harness/ # 会话持久化 + 上下文压缩 + 系统提示模板
|
||||
└── focus-tui/ # 终端交互层(ratatui + crossterm),组装所有模块
|
||||
```
|
||||
|
||||
### 分层依赖图
|
||||
|
||||
```text
|
||||
focus-json ← 零外部依赖,纯 std
|
||||
focus-core ← focus-json, tokio
|
||||
focus-core ← focus-json(纯同步逻辑,不依赖 tokio)
|
||||
focus-transport ← focus-json, tokio, rustls, tokio-rustls, rustls-native-certs
|
||||
focus-providers ← focus-core, focus-transport
|
||||
focus-tools ← focus-core
|
||||
focus-providers ← focus-core, focus-transport, focus-json, tokio
|
||||
focus-tools ← focus-core, focus-json
|
||||
focus-harness ← focus-core, focus-json
|
||||
focus-tui ← focus-core, focus-providers, focus-tools, focus-harness, focus-json, ratatui, crossterm
|
||||
```
|
||||
|
|
|
|||
|
|
@ -228,15 +228,19 @@ Anthropic SSE → pi-ai 事件映射(anthropic-messages.ts:559-732):
|
|||
```
|
||||
focus/
|
||||
├── Cargo.toml # [workspace]
|
||||
├── AGENTS.md # 工程规范
|
||||
└── crates/
|
||||
├── focus-core/ # agent 层:类型、循环、工具 trait(纯 std + 手写 JSON)
|
||||
├── focus-transport/ # Transport trait 定义(纯 std)
|
||||
├── focus-providers/ # provider 实现(依赖 transport,用 curl 子进程)
|
||||
├── focus-json/ # 极简 JSON 解析/序列化(零外部依赖)
|
||||
├── focus-core/ # agent 层:类型、循环、工具 trait(纯 std + 手写 JSON,无 tokio)
|
||||
├── focus-transport/ # 传输层:HTTPS(tokio + rustls)、HTTP/1.1、SSE
|
||||
├── focus-providers/ # provider 实现(Anthropic / OpenAI)
|
||||
├── focus-harness/ # 会话/压缩/系统提示(纯 std)
|
||||
├── focus-tools/ # 文件工具(纯 std)
|
||||
└── focus-cli/ # 入口(组合上述)
|
||||
├── focus-tools/ # 文件工具(read / write / edit / shell)
|
||||
└── focus-tui/ # 终端交互层(ratatui + crossterm)
|
||||
```
|
||||
|
||||
> 注:早期规划中的 `focus-cli` 最终由 `focus-tui` 取代。
|
||||
|
||||
## 十、学习路线
|
||||
|
||||
### 第一阶段:吃透核心(按顺序)
|
||||
|
|
|
|||
Loading…
Reference in New Issue