release: v0.1.0

First official release of Claude Code Java.

- 34 tools, 54 commands, 184 source files, ~26.7K lines
- Jink 0.5.0 full-screen TUI
- Dual API providers (OpenAI + Anthropic)
- Multi-level permission system
- Three-layer context compression
- MCP protocol, plugin system, hook system
- 87 unit tests passing

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
pull/1/head v0.1.0
abel533 4 weeks ago
parent 4be570a4f2
commit b60a212ad0
  1. 4
      README.md
  2. 114
      RELEASE.md
  3. 2
      pom.xml
  4. 2
      src/main/java/com/claudecode/console/BannerPrinter.java

@ -182,7 +182,7 @@ mvn spring-boot:run
### 启动效果
```
◆ Claude Code (Java) v0.1.0-SNAPSHOT
◆ Claude Code (Java) v0.1.0
Type /help for commands • Ctrl+D to exit
Provider: OPENAI Model: deepseek-chat
@ -664,7 +664,7 @@ mvn clean compile
```bash
mvn clean package -DskipTests
java -jar target/claude-code-java-0.1.0-SNAPSHOT.jar
java -jar target/claude-code-java-0.1.0.jar
```
### 发行版构建(jlink 最小 JRE)

@ -0,0 +1,114 @@
# Release Notes
## v0.1.0 — 首个正式版本 🎉
> **发布日期**: 2025-07
### 概述
Claude Code Java 是使用 Java + Spring AI 重写的 [Claude Code](https://github.com/anthropics/claude-code) CLI AI 编码助手。本次发布是首个正式版本,涵盖了原版约 **90%** 的本地可实现功能。
### 技术栈
| 组件 | 版本 |
|------|------|
| JDK | 25 |
| Spring Boot | 4.1.0-M2 |
| Spring AI | 2.0.0-M4 |
| Jink (TUI) | 0.5.0 |
| JLine 3 | 3.28.0 |
### 核心特性
#### 🤖 AI 对话
- 流式输出,逐 token 实时显示
- 双 API 提供者:OpenAI 兼容 API + Anthropic 原生 API
- Thinking 模式支持(展示 AI 思考过程)
- 三层上下文自动压缩(微压缩 → Session Memory → 全量压缩)
#### 🔧 34 个内置工具
- **文件操作**: FileRead(含图片支持)、FileWrite、FileEdit(带 diff 输出)
- **搜索**: Glob、Grep、ListFiles
- **执行**: Bash(沙箱模式)、WebFetch、WebSearch
- **任务管理**: TaskCreate/Get/List/Update、TaskStop、TaskOutput
- **Agent**: Agent(子 Agent)、AskUser(结构化提问)
- **MCP**: McpToolBridge(远程工具桥接)
- **扩展**: Config(持久化配置)、NotebookEdit、Sleep
- **诊断**: LSPTool、BriefTool、NotificationTool、ToolSearch
#### ⌨ 54 个斜杠命令
- **基础**: /help(带搜索)、/clear、/compact(统计+激进模式)、/cost、/model、/status
- **文件**: /diff、/files、/commit(push/PR 支持)
- **记忆**: /memory、/skills、/init
- **对话**: /resume、/export、/history、/branch、/rewind、/tag
- **审查**: /review、/security-review
- **MCP/插件**: /mcp、/plugin、/permissions、/tasks
- **UX**: /brief、/vim、/theme、/usage、/tips、/output-style、/keybindings
- **隐私**: /privacy、/feedback
- **调试**: /debug、/trace、/heapdump、/ctx-viz、/sandbox、/reset-limits、/env、/performance
#### 🖥 全屏 TUI(Jink 框架)
- 基于 [Jink](https://github.com/abel533/jink) 的 React-like 终端 UI
- 全屏渲染(alternate screen buffer)
- 消息列表、状态栏、输入区分离布局
- 鼠标追踪支持
#### 🔒 多级权限管理
- 5 种权限模式:DEFAULT / ACCEPT_EDITS / BYPASS / DONT_ASK / PLAN
- 规则引擎自动评估(7 步评估链)
- 30+ 危险命令模式检测
- Y/A/N/D 四选项确认 UI
- 拒绝追踪(连续 3 次 / 累计 20 次自动降级)
#### 📋 CLAUDE.md 记忆系统
- 三级加载:全局 → 项目 → 目录
- Session Memory 持久化
- Skills 技能系统(全局 + 项目)
#### 🔌 扩展能力
- **MCP 协议**: StdIO 传输、多服务器管理、工具发现与桥接
- **插件系统**: JAR 插件(ClassLoader 隔离)、Marketplace、自动更新
- **Hook 系统**: PreToolUse / PostToolUse / PrePrompt / PostResponse
- **Plan 模式**: 结构化规划,只读操作允许
- **Coordinator**: 多 Agent 协调模式
#### 🏗 基础设施
- WebSocket Server Mode(远程连接)
- Git Worktree 隔离
- LSP 集成(语言服务器协议客户端)
- 基础遥测(功能开关 + 指标收集)
- RateLimiter、TokenEstimation、通知服务
- 内部日志系统(会话日志 + 调试日志 + 导出)
### 代码质量
- **184 源文件**(176 main + 8 test)
- **~26.7K 行** Java 代码
- **87 单元测试**(全部通过)
- 代码结构重构:提取 7 个共享组件,消除 ~560 行重复代码
### 构建与运行
```bash
# 构建
mvn clean package -DskipTests
# 运行
java -jar target/claude-code-java-0.1.0.jar
# 或构建发行版(含 jlink 精简 JRE)
.\packaging\build-dist.ps1 # Windows
./packaging/build-dist.sh # Linux/macOS
```
### 已知限制
- 不支持 Anthropic OAuth 登录(login/logout)
- 不支持 Bridge 远程环境
- 不支持 Voice 语音输入
- Windows 终端需 `chcp 65001` 切换 UTF-8 编码(发行版启动脚本已自动处理)
- IDE 内置终端(dumb 模式)TUI 功能受限
---
*完整文档请参阅 [README.md](README.md) 和 [BUILD.md](BUILD.md)*

@ -13,7 +13,7 @@
<groupId>com.claudecode</groupId>
<artifactId>claude-code-java</artifactId>
<version>0.1.0-SNAPSHOT</version>
<version>0.1.0</version>
<name>claude-code-java</name>
<description>Claude Code 的 Java Spring AI 重写实现</description>
<packaging>jar</packaging>

@ -11,7 +11,7 @@ import java.util.regex.Pattern;
*/
public class BannerPrinter {
private static final String VERSION = "0.1.0-SNAPSHOT";
private static final String VERSION = "0.1.0";
// 匹配 ANSI 转义序列的正则
private static final Pattern ANSI_PATTERN = Pattern.compile("\033\\[[0-9;]*m");

Loading…
Cancel
Save