You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
claude-code/修改记录.md

10 KiB

修改记录

[2026-04-02] - CLI视觉样式升级 + i18n英文统一

  • 修改类型: 功能增强 + 国际化
  • 修改详情:
    • Banner 重新设计:
      • 带边框 ╭╮╰╯ 的启动 Banner(参考 Copilot CLI / Claude Code 样式)
      • ASCII 冒烟咖啡杯 Logo + 双列布局(左 Logo 右信息)
      • 自动 ANSI 可见宽度计算,确保边框上下对齐
      • 右侧显示 Welcome / API URL / Protocol / Model / Work Dir / Tools & Commands
      • 窄终端/dumb 模式自动降级为精简 Banner
    • 工具状态渲染升级:
      • 彩色 圆点标识不同消息类型(蓝=工具运行、绿=完成、红=错误、品红=思考)
      • 前缀显示工具结果(Claude Code 风格)
      • 工具参数内联显示: ● ToolName(args)
    • Thinking 显示升级:
      • <thought>...</thought> 标签块格式(Copilot CLI 风格)
    • AI 回复增强:
      • 回复前显示 前缀
      • 回复后显示 ✻ Worked for Xs 耗时统计
    • i18n 英文统一:
      • 46 个文件中所有用户可见的中文字符串翻译为英文
      • 涵盖全部 28 命令、18 工具、Core/MCP/Plugin/REPL/Context 等模块
      • AI 提示词(compact/commit/review/security 等)改为英文
      • Javadoc 和行内注释保留中文不变
    • Bug 修复:
      • /help 改为动态获取全部已注册命令(原来硬编码 6 个)
      • CommandContext 增加 commandRegistry 字段
      • /history 名称修复(去掉多余的 / 前缀)
      • /compact/history 描述改为英文
      • TODO.md 移出版本控制并加入 .gitignore
  • 关联需求: 2.6 CLI 交互体验, 4.2 交互体验

[2026-04-03] - P2: MCP协议 + 插件系统 + 任务管理 + CLI增强

  • 修改类型: 功能新增
  • 修改详情:
    • A组 CLI增强:
      • 新增 DiffRenderer 彩色 diff 渲染器(行号、stat摘要、unified格式解析)
      • 新增 7 个命令: /hooks, /review(rev), /stats, /branch, /rewind, /tag, /security-review(sec)
      • /review 支持 --staged 标志和文件路径参数
      • /branch 支持 save/load/list/delete 子命令管理对话分支
      • /tag 支持对话位置标签和 goto 跳转
      • /security-review 发送 AI 安全审查(SQL注入/XSS/认证/凭证泄露检测)
    • B组 任务系统:
      • 新增 TaskManager 后台任务管理器(线程安全、ConcurrentHashMap、CachedThreadPool)
      • 新增 4 个工具: TaskCreate/TaskGet/TaskList/TaskUpdate
      • 新增 ConfigTool 配置读写工具
      • 支持自动执行模式和手动状态管理模式
    • C组 MCP协议:
      • 新增 mcp/ 包: McpClientMcpTransportStdioTransportMcpManagerMcpException
      • MCP 客户端支持 JSON-RPC 2.0 协议(initialize 握手、tools/list、tools/call、resources/read)
      • StdIO 传输实现(子进程管理、异步读写、CompletableFuture 请求-响应关联)
      • McpManager 多服务器管理(从 .mcp.json 配置加载、生命周期管理)
      • McpToolBridge 将 MCP 工具桥接为本地 Tool(名称格式: mcp__{server}__{tool}
      • 新增 /mcp 命令(connect/disconnect/tools/resources/reload)
    • D组 插件系统:
      • 新增 plugin/ 包: Plugin 接口、PluginContextPluginManager
      • JAR 插件加载(URLClassLoader 隔离、Manifest Plugin-Class 读取)
      • 支持全局插件 (~/.claude-code-java/plugins/) 和项目插件 (.claude-code/plugins/)
      • 新增 OutputStylePlugin 内置输出样式插件(default/minimal/verbose/markdown)
      • 新增 /plugin 命令(load/unload/reload/info)
    • 集成: AppConfig 注册全部 18 工具 + 28 命令 + TaskManager + McpManager + PluginManager
  • 关联需求: 5.2 P2 扩展功能

[2026-04-03] - P1: Hook系统 + Vim模式 + Banner增强

  • 修改类型: 功能新增
  • 修改详情:
    • 新增 HookManager: 支持 PreToolUse/PostToolUse/PrePrompt/PostResponse 4 种钩子
    • Hook 优先级排序(数字越小优先级越高),PreToolUse 可中止工具执行
    • AgentLoop 集成 Hook 系统到 executeToolCalls() 流程
    • ReplSession 支持 Vim 编辑模式(CLAUDE_CODE_VIM=1 环境变量启用)
    • Banner 增强:显示命令数量和 Vim 模式标识
    • 修复重复 isDumb 变量
  • 关联需求: 5.2 P1 重要功能

[2026-04-03] - P1: 3命令 + 代码高亮 + 状态行

  • 修改类型: 功能新增
  • 修改详情:
    • 新增 3 个命令: /resume(恢复对话), /export(导出Markdown), /commit(AI生成commit)
    • MarkdownRenderer 完全重写:支持 Java/JS/TS/Python/Bash/SQL 6 种语言语法高亮
    • 高亮处理:注释 → 字符串保护 → 注解 → 关键字 → 数字 → 布尔/null
    • 新增 StatusLine 底部状态行(模型、token、费用、API调用、工作目录)
    • AppConfig 注册总数达 19 命令
  • 关联需求: 5.2 P1 重要功能

[2026-04-03] - P0: 5命令 + 2工具 + 权限确认 + Thinking显示

  • 修改类型: 功能新增
  • 修改详情:
    • 新增 5 个命令: /diff, /version(ver), /skills, /memory(mem), /copy
    • 新增 WebSearchTool: DuckDuckGo HTML 搜索(无需 API Key)
    • 新增 AskUserQuestionTool: AI 向用户提问(通过 ToolContext 回调暂停 agent loop)
    • AgentLoop 新增权限确认机制: 非只读工具调用前提示 [Y/n/always]
    • AgentLoop 新增 Thinking 内容提取和显示(从 ChatResponse metadata 读取)
    • 新增 PermissionRequest record 和 onPermissionRequest/onThinkingContent 回调
    • ReplSession 新增 promptPermission() UI 和 readUserInputDuringAgentLoop() 方法
  • 关联需求: 5.2 P0 核心功能

[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 个实现阶段
  • 关联需求: 全部章节