核心目标: 为Spring项目和Spring AI大模型应用提供完整的AI代理框架接入方案
次要目标:
- 与SpringAI集成,提供统一的LLM抽象层
- 支持多LLM提供商(Anthropic, OpenAI, Google, Azure等)
- 提供企业级稳定性、安全性和监控功能
- 持续同步TypeScript版本的功能
pi-java/
├── pi-core/ # 核心接口和模型 - ✅ 完成
│ ├── AgentSession.java # 会话管理接口
│ ├── SessionNode.java # 会话节点(ULID + 树结构)
│ ├── LLMProvider.java # LLM提供者抽象
│ ├── ToolDefinition.java # 工具定义接口
│ └── ToolCall.java # 工具调用模型
│
├── pi-session/ # 会话管理实现 - ✅ 完成
│ ├── SessionTree.java # 会话树实现
│ ├── SessionManager.java # 会话管理器
│ └── SessionPersistence.java # JSONL持久化
│
├── pi-llm/ # LLM集成层 - ✅ 完成
│ ├── LLMProviderManager.java # 提供者管理器
│ ├── mock/MockLLMProvider.java # Mock实现
│ └── [未来: AnthropicProvider.java, OpenAIProvider.java]
│
├── pi-tools/ # 工具系统 - ✅ 完成
│ ├── ToolManager.java # 工具管理器
│ ├── ToolPermissionManager.java # 权限管理
│ ├── 内置工具:
│ │ ├── ReadFileTool.java # 文件读取
│ │ ├── WriteFileTool.java # 文件写入
│ │ ├── EditFileTool.java # 文件编辑
│ │ ├── BashTool.java # Bash命令
│ │ ├── FindFileTool.java # 文件搜索
│ │ ├── GrepTool.java # 内容搜索
│ │ └── LsTool.java # 列出文件
│
├── pi-cli/ # 命令行界面 - ✅ 完成
│ └── PiCliApplication.java # CLI入口
│
├── pi-ui/ # UI组件(待开发)
├── pi-starter/ # Spring Boot Starter(待开发)
├── pi-test/ # 测试框架(待开发)
└── pi-extensions/ # 扩展系统(待开发)
- Java 17 - 发布字节码基线;可直接运行在 Java 17 及后续 LTS(含 Java 21)
- Spring Boot 3.4.0 - 企业级应用框架
- Spring AI - 统一的AI集成(独立抽象层)
- Maven - 构建和依赖管理
- ULID - 时间有序的唯一ID
- JSONL - 会话持久化格式
- Picocli - 命令行界面
- Lanterna - 终端UI(未来)
- 模块化设计 - 每个模块职责单一,可独立使用
- 接口抽象 - 核心功能通过接口抽象,便于扩展
- 依赖注入 - 使用Spring DI,便于测试和集成
- 安全优先 - 工具执行带沙箱和权限控制
- 性能优化 - 虚拟线程、内存优化、快速启动
- 企业级 - 健康检查、监控、日志、错误处理
触发条件:
- 每完成一个主要功能模块后自动触发
- 每次compact之前强制触发
- 开发迭代超过3天时提醒触发
反思内容:
- 目标对齐检查 - 当前开发是否服务于核心目标
- 架构一致性 - 新增功能是否符合架构设计原则
- 集成便利性 - 是否便于Spring项目接入
- 测试覆盖度 - 端到端测试是否充分
- 性能影响 - 是否影响整体性能目标
记录位置: CLAUDE.md 文件的"开发反思"部分
需求分析 → 架构设计 → 编码实现 → 单元测试 → 集成测试 → 端到端测试 → 反思总结
测试层次:
- 单元测试 - 单个组件功能
- 集成测试 - 模块间协作
- 端到端测试 - 完整业务流程
测试场景:
- Spring Boot集成测试 - 验证starter可用性
- LLM切换测试 - 验证多提供商支持
- 工具链测试 - 验证工具组合使用
- 会话持久化测试 - 验证数据完整性
- 性能测试 - 验证响应时间和资源使用
✅ 已完成:
- 核心架构设计和模块划分
- Maven多模块项目结构
- Session管理(ULID + JSONL)
- LLM提供者抽象和Mock实现
- 完整工具系统(7个内置工具)
- 权限管理系统
- CLI界面
- 安全沙箱机制
- GitHub仓库配置
Week 2 (Day 4-7):
- Spring Boot Starter开发
- 终端UI(Lanterna)
- REST API端点
- WebSocket支持
- 配置管理
Week 3 (Day 8-14):
- 实际LLM提供商集成(Anthropic, OpenAI)
- 插件架构
- 企业级监控和日志
- 性能优化
Week 4 (Day 15-21):
- 完整的测试框架
- 文档和示例
- 性能基准测试
- 生产环境部署指南
- 创建Spring Boot Starter - 让Spring项目一键集成
- 开发REST API - 提供HTTP接口支持
- 实现真实LLM集成 - 替换Mock实现
- 完善测试框架 - 端到端测试自动化
P1 - 核心集成:
- Spring Boot Starter
- REST API
- 真实LLM提供商
P2 - 企业特性:
- 监控和日志
- 安全增强
- 性能优化
P3 - 开发体验:
- 文档完善
- 示例项目
- 社区支持
- 项目架构状态 - 当前架构是否需要调整
- 技术实现边界 - 本次实现的技术范围和限制
- 项目实施目标 - 是否按计划推进核心目标
- 进度更新 - 完成度和下一步计划
- 端到端测试验证 - 测试覆盖情况和结果
## 🚀 开发阶段汇报 - [功能名称]
### 📋 本次完成
- [具体功能1]
- [具体功能2]
### 🎯 目标对齐
✅ 服务于核心目标: [说明如何服务]
✅ 便于Spring集成: [说明集成便利性]
### 🏗️ 架构影响
- 新增模块: [模块名]
- 架构调整: [如有]
- 接口变更: [如有]
### 🧪 测试验证
- 单元测试: ✅ [数量]个测试用例
- 集成测试: ✅ [场景描述]
- 端到端测试: ✅ [完整流程描述]
### 📊 进度更新
- 整体进度: [百分比]%
- 下一步: [具体计划]
### 🤔 反思总结
- 目标对齐: [评估]
- 架构一致性: [评估]
- 集成便利性: [评估]
- 测试覆盖: [评估]
- 性能影响: [评估]
这个机制将帮助我们确保开发方向始终对准核心目标,同时保证代码质量和可维护性。