add worktree & up task、teammate etc

This commit is contained in:
CrazyBoyM 2026-02-24 01:44:44 +08:00
parent c6a27ef1d7
commit aea8844bac
54 changed files with 2404 additions and 210 deletions

View file

@ -1,4 +1,4 @@
# Learn Claude Code -- 从零构建 AI Agent
# Learn Claude Code -- 从 0 到 1 构建 nano Claude Code-like agent
[English](./README.md) | [中文](./README-zh.md) | [日本語](./README-ja.md)
@ -17,16 +17,16 @@
loop back -----------------> messages[]
就这些。每个 AI 编程 Agent 都是这个循环。
其他一切都是优化
这是最小循环。每个 AI 编程 Agent 都需要这个循环。
生产级 Agent 还会叠加策略、权限与生命周期层
```
**11 个递进式课程, 从简单循环到完整的自治团队。**
**12 个递进式课程, 从简单循环到隔离化的自治执行。**
**每个课程添加一个机制。每个机制有一句格言。**
> **s01**   *"Bash 就够了"* — 一个工具 + 一个循环 = 一个智能体
>
> **s02**   *"循环没有变"* — 加工具就是加 handler, 不是加逻辑
> **s02**   *"循环没有变"* — 加工具就是加 handler, 不是重写循环
>
> **s03**   *"先计划再行动"* — 可见的计划提升任务完成率
>
@ -45,6 +45,8 @@
> **s10**   *"同一个 request_id, 两个协议"* — 一个 FSM 模式驱动关机 + 计划审批
>
> **s11**   *"轮询, 认领, 工作, 重复"* — 无需协调者, 智能体自组织
>
> **s12**   *"目录隔离, 任务 ID 协调"* — 任务板协调 + 按需 worktree 隔离通道
---
@ -77,6 +79,19 @@ def agent_loop(messages):
每个课程在这个循环之上叠加一个机制 -- 循环本身始终不变。
## 范围说明 (重要)
本仓库是一个 0->1 的学习型项目,用于从零构建 nano Claude Code-like agent。
为保证学习路径清晰,仓库有意简化或省略了部分生产机制:
- 完整事件 / Hook 总线 (例如 PreToolUse、SessionStart/End、ConfigChange)。
s12 仅提供教学用途的最小 append-only 生命周期事件流。
- 基于规则的权限治理与信任流程
- 会话生命周期控制 (resume/fork) 与更完整的 worktree 生命周期控制
- 完整 MCP 运行时细节 (transport/OAuth/资源订阅/轮询)
仓库中的团队 JSONL 邮箱协议是教学实现,不是对任何特定生产内部实现的声明。
## 快速开始
```sh
@ -87,6 +102,7 @@ cp .env.example .env # 编辑 .env 填入你的 ANTHROPIC_API_KEY
python agents/s01_agent_loop.py # 从这里开始
python agents/s11_autonomous_agents.py # 完整自治团队
python agents/s12_worktree_task_isolation.py # Task 感知的 worktree 隔离
```
### Web 平台
@ -124,6 +140,9 @@ s08 后台任务 [6] s10 团队协议 [12]
|
s11 自治智能体 [14]
空闲轮询 + 自动认领
|
s12 Worktree 隔离 [16]
任务协调 + 按需隔离执行通道
[N] = 工具数量
```
@ -133,7 +152,7 @@ s08 后台任务 [6] s10 团队协议 [12]
```
learn-claude-code/
|
|-- agents/ # Python 参考实现 (s01-s11 + 完整版)
|-- agents/ # Python 参考实现 (s01-s12 + 完整版)
|-- docs/{en,zh,ja}/ # 心智模型优先的文档 (3 种语言)
|-- web/ # 交互式学习平台 (Next.js)
|-- skills/ # s05 的 Skill 文件
@ -158,6 +177,7 @@ learn-claude-code/
| [s09](./docs/zh/s09-agent-teams.md) | 智能体团队 | *追加即发送, 排空即读取* |
| [s10](./docs/zh/s10-team-protocols.md) | 团队协议 | *同一个 request_id, 两个协议* |
| [s11](./docs/zh/s11-autonomous-agents.md) | 自治智能体 | *轮询, 认领, 工作, 重复* |
| [s12](./docs/zh/s12-worktree-task-isolation.md) | Worktree + 任务隔离 | *目录隔离, 任务 ID 协调* |
## 许可证
@ -165,4 +185,4 @@ MIT
---
**模型就是智能体。我们的工作是给它工具, 然后让开。**
**模型就是智能体。我们的工作是给它工具, 然后让开。**