Files
claude-code/修改记录.md
T
liuzhandCopilot 7dc4d142b3 docs: Phase6 完整README文档 + 修改记录更新
新增 README.md:
- 功能特性概览(11工具、11命令、双API、流式输出等)
- 快速开始指南(环境变量、启动方式)
- 完整使用说明(对话、多行输入、斜杠命令、工具、CLAUDE.md、Skills)
- 架构设计(模块结构图、核心流程、双Provider架构)
- 配置参考(application.yml、环境变量表)
- 开发说明(构建、打包、已知问题)
- TypeScript→Java 对应关系表

更新 修改记录.md:
- 补全 Phase 1~5 所有修改记录
- 每个Phase的详细变更说明和关联需求

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-01 21:45:23 +08:00

81 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 修改记录
## [2026-04-02] - Phase 5: 流式输出与高级功能
- **修改类型**: 功能新增
- **修改详情**:
- **5A 流式输出**: AgentLoop 新增 `runStreaming()` 方法,使用 `chatModel.stream()``Flux<ChatResponse>` 逐 token 实时输出到终端。流式失败自动降级到阻塞模式。重构核心循环统一阻塞/流式两种模式
- **5B 对话持久化**: 新增 `ConversationPersistence` 类,退出 REPL 时自动保存对话到 `~/.claude-code-java/conversations/` 目录(JSON 格式)。新增 `/history` 命令查看历史对话
- **5C /compact AI 摘要**: 增强 `/compact` 命令,用 AI 生成对话摘要注入上下文,替代简单清空历史。保留系统提示+AI 摘要+最后一轮对话
- **5D 多行输入**: JLine 配置反斜杠续行(`\`),续行提示符 ` ... `
- **关联需求**: 2.1 核心 REPL 循环, 2.6 流式输出
## [2026-04-02] - 双 API 提供者支持
- **修改类型**: 功能新增
- **修改详情**:
- 支持 OpenAI 和 Anthropic 双 API 提供者,通过 `CLAUDE_CODE_PROVIDER` 环境变量切换
- 统一环境变量: `AI_API_KEY` / `AI_BASE_URL` / `AI_MODEL` 两种提供者通用
- Banner 启动时显示当前 Provider、Model、API URL
- 修复 ProviderInfo 读取旧环境变量名的 bug
- **关联需求**: 2.1 核心 REPL 循环
## [2026-04-02] - Phase 4: 命令系统与上下文增强
- **修改类型**: 功能新增
- **修改详情**:
- 新增 `TokenTracker` 真实 token 追踪(含模型定价)
- 新增 `SkillLoader` 技能加载(3 个目录扫描、YAML frontmatter 解析)
- 新增 `GitContext` Git 上下文收集(分支、状态、最近提交)
- 新增 4 个命令: `/init`, `/status`, `/context`, `/config`
- 增强 3 个命令: `/cost`(真实 token, `/model`(可切换), `/compact`(显示统计)
- `SystemPromptBuilder` 集成 Skills 和 Git 上下文
- `AgentLoop` 记录 token 使用量
- **关联需求**: 2.4 命令系统, 2.5 上下文构建
## [2026-04-02] - Phase 3: 完整工具集
- **修改类型**: 功能新增
- **修改详情**:
- 新增 5 个工具: `ListFilesTool`, `WebFetchTool`, `TodoWriteTool`, `AgentTool`, `NotebookEditTool`
- 修复 `WebFetchTool` 编译错误(replaceAll lambda → Pattern 匹配器)
- `AgentTool` 子 Agent 工厂通过 `ToolContext` 注入
- **关联需求**: 2.2 工具系统
## [2026-04-02] - Phase 2: JLine 终端交互增强
- **修改类型**: 功能新增
- **修改详情**:
- 使用 JLine 3 重写 REPL(行编辑、历史、Tab 补全)
- 新增 `ClaudeCodeCompleter` Tab 补全器
- 新增 `/model`, `/compact`, `/cost` 命令
- JLine FFM 原生终端支持(JDK 22+
- Windows 终端 UTF-8 编码修复(PrintStream + JVM 参数 + 启动脚本)
- `run.ps1` / `run.bat` 启动脚本
- **关联需求**: 2.3 终端交互
## [2026-04-02] - Phase 1: 项目骨架与基础循环
- **修改类型**: 功能新增
- **修改详情**:
- Maven 项目结构: Spring Boot 4.1.0-M2, Spring AI 2.0.0-M4, JDK 25
- 核心 `AgentLoop` 显式工具调用循环(ChatModel + 手动工具循环)
- 6 个基础工具: `BashTool`, `FileReadTool`, `FileWriteTool`, `FileEditTool`, `GlobTool`, `GrepTool`
- 控制台组件: `BannerPrinter`, `ToolStatusRenderer`, `ThinkingRenderer`, `SpinnerAnimation`, `MarkdownRenderer`
- 命令系统: `SlashCommand` 接口, `CommandRegistry`, `/help`, `/clear`, `/exit`
- 修复 Spring AI 兼容性: Spring Boot 4.x 升级, ChatModel Bean 冲突, JVM 内存
- **关联需求**: 全部章节
## [2026-04-02] - 项目初始化与需求分析
- **修改类型**: 文档更新
- **修改详情**:
- 创建 `需求文档.md`,完成需求分析和技术设计
- 创建 `修改记录.md`,记录项目变更历史
- 完成 claude-code TypeScript 源码的主线逻辑分析
- 完成 claude-code-learn Java 参考实现的架构分析
- 确定 Java 重写的技术栈:JDK 25 + Spring Boot 4.1.0-M2 + Spring AI 2.0.0-M4 + JLine 3 + Picocli
- 设计包结构和类映射关系
- 划分 6 个实现阶段
- **关联需求**: 全部章节