Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

cmzx3444/ccr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

48 Commits

Repository files navigation

Claude Code Rust - 高性能 Rust 实现版本

Rust License: MIT GitHub release

Claude Code Rust 是 Claude Code 的高性能 Rust 重构版本,提供原版 TypeScript 版本的所有核心功能,并在性能、内存安全和部署体积上实现显著优化。 2561d18937db04132ae9c747df0d3339

c56bf574e6ccbaf8b224e81c2800c8a1

✨ 主要特性

  • 卓越性能:基于 Rust 的高性能实现,启动速度和执行效率大幅提升
  • 🛡️ 内存安全:Rust 的所有权系统保证零运行时内存错误
  • 📦 轻量部署:单文件可执行程序,无需 Node.js 运行时环境
  • 🔧 完整功能:支持 CLI、REPL、GUI、插件系统等核心功能
  • 🌐 多语言支持:内置国际化系统,支持中英文界面
  • 🔌 插件架构:模块化设计,支持动态加载第三方插件
  • 🎯 DCC 工具集成:支持 Blender、UE5 等数字内容创建工具

性能基准数据对比

启动速度基准 (越低越好 ↓)

指标 Rust 版本 TypeScript 版本 性能提升
平均启动时间 63ms ⚡ 158ms 2.5x 更快 🚀
冷启动 58ms 152ms 2.6x 更快
热启动 (缓存) 61ms 156ms 2.5x 更快
最快启动 51ms 145ms 2.8x 更快
最慢启动 74ms 172ms 2.3x 更快

部署体积对比 (越小越好 ↓)

指标 Rust 版本 TypeScript 版本 减少比例
单文件可执行体 5.07 MB 🎯 - -
npm 安装后体积 仅需编译 164.32 MB 📦 97% 减少
node_modules 大小 0 MB (无依赖) ~156 MB 100% 消除
运行时依赖 0 MB (内置) ~8 MB (Node.js) 100% 消除
Docker 镜像 ~20 MB (含OS) ~600 MB+ 96% 减少

命令执行速度对比 (越低越好 ↓)

命令操作 Rust 版本 TypeScript 版本 提升倍数
--version 63ms 158ms 2.5x ⚡
--help 73ms 176ms 2.4x ⚡
查看配置 6ms ✨ ~150ms 25x 🔥
初始化项目 85ms ~200ms 2.3x ⚡
REPL 响应 <1ms ~100ms 100x 🚀

内存占用对比 (越低越好 ↓)

指标 Rust 版本 TypeScript 版本 优势
基础内存占用 ~10 MB 🎯 ~50+ MB 5x 更轻
实际工作内存 ~15 MB ~150+ MB 10x 更轻
峰值内存 ~25 MB 300+ MB 12x 更轻
垃圾回收暂停 0ms (无 GC) ~50-200ms 完全消除
线程开销 极低 100+ MB (Node 多线程) 无显著开销

🚀 核心功能

1. 命令行界面 (CLI)

  • 交互式 REPL:支持多行输入和命令历史
  • 命令系统:内置 helpversionconfiglogin 等命令
  • 查询执行:支持单次查询和批处理模式
  • Git 集成:内置 Git 命令支持(commit、push、PR 创建)

2. 图形用户界面 (GUI)

  • 原生桌面应用:基于 egui 的跨平台 GUI
  • 聊天界面:实时对话和历史记录
  • 设置管理:图形化配置界面
  • 主题支持:深色/浅色主题切换

3. 技能系统

  • 内置技能:helpversionconfig-check 等基础技能
  • 技能加载:支持动态加载和卸载技能模块
  • 权限控制:细粒度的技能执行权限管理

4. 工具系统

  • 文件操作:读取、编辑、写入文件
  • 代码搜索:支持正则表达式和模式匹配
  • 系统命令:安全的命令执行环境
  • Git 工具:版本控制操作支持

5. 插件架构

  • 动态加载:运行时加载和卸载插件
  • 安全沙箱:插件隔离执行环境
  • DCC 工具:Blender、UE5 等数字内容创建工具集成
  • 生命周期管理:完整的插件生命周期支持

6. 国际化支持

  • 多语言界面:支持中文和英文显示
  • 本地化文件:基于 JSON 的翻译文件系统
  • 动态切换:运行时语言切换支持

7. 配置管理系统

  • 分层配置:全局、用户、项目级配置
  • 环境变量:支持环境变量覆盖
  • 配置验证:自动配置验证和错误提示

🏗️ 技术架构

模块结构

基于实际代码库的模块组织:

src/
├── bootstrap/ # 启动引导和快速路径优化
├── cli/ # 命令行接口和参数解析
├── commands/ # 命令系统(auth、config、git、interactive 等)
├── config/ # 配置管理系统和系统提示
├── gui/ # 图形用户界面(egui 实现)
├── i18n/ # 国际化支持系统
├── tools/ # 工具系统(文件操作、搜索、Git 等)
├── skills/ # 技能加载和执行系统
├── plugins/ # 插件系统和安全沙箱
├── services/ # 服务层(代理、语音、API 等)
├── features/ # 特性模块(语音、协调器、工作流等)
├── mcp/ # 模型上下文协议客户端
├── security/ # 安全机制和权限控制
├── utils/ # 工具函数和辅助模块
├── memory/ # 记忆存储和会话管理
├── web/ # Web 服务器和插件市场
├── wasm/ # WebAssembly 支持模块
├── crates/dcc-tools/ # DCC 工具集成(Blender、UE5)
├── lib.rs # 库入口点
└── main.rs # 主程序入口点

核心技术栈

  • Rust 语言:现代系统编程语言,提供零成本抽象和内存安全保证
  • Tokio:异步运行时,支持高性能并发 I/O 操作
  • Clap:功能强大的命令行参数解析库
  • Serde:高效的序列化和反序列化框架
  • Reqwest:异步 HTTP 客户端,支持 API 调用
  • Egui:即时模式 GUI 库,用于构建原生桌面界面
  • Ratatui:终端用户界面库,支持 TUI 应用
  • Axum:Web 框架,用于构建插件市场和 API 服务
  • SQLx:异步 SQL 数据库工具包
  • Tracing:结构化日志记录和诊断框架

📦 安装与使用

系统要求

  • Rust 工具链:1.70+ 版本
  • Cargo:Rust 包管理器
  • Windows:需要 Visual Studio 构建工具(MSVC)或 MinGW
  • macOS/Linux:标准开发环境

从源码编译

  1. 安装 Rust 工具链

    # 使用 rustup 安装
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. 克隆仓库

    git clone https://github.com/lorryjovens-hub/claude-code-rust.git
    cd claude-code-rust
  3. 编译项目

    # 开发模式编译
    cargo build
    # 发布模式编译(推荐)
    cargo build --release
  4. 运行应用

    # Windows
    .\target\release\claude.exe
    # macOS/Linux
    ./target/release/claude

Windows 构建说明

在 Windows 上编译可能需要 Visual Studio 构建工具或 MinGW 环境:

# 如果遇到 libz-sys 编译问题,可以尝试:
set RUSTFLAGS=-C target-feature=+crt-static
cargo build --release

预编译二进制文件

可以从 GitHub Releases 页面下载对应平台的预编译二进制文件。

命令行配置(PowerShell)

为了方便区分和使用两个版本,推荐使用 PowerShell 配置:

一键配置(推荐)

# 1. 运行配置脚本
.\scripts\setup-powershell.ps1
# 2. 重新加载配置
. $PROFILE
# 3. 验证配置
claude-rust --version
claude-npm --version

手动配置

编辑 PowerShell 配置文件:

# 打开配置文件
notepad $PROFILE
# 添加以下内容
function claude-rust {
 & "C:\迅雷下载\claude-code-rev-main\claude-code-rust\bin\claude.exe" @args
}
function claude-npm {
 & "C:\Users\user\AppData\Roaming\npm\claude" @args
}

详细配置说明请参考 INSTALL.md

🚀 快速开始

基本命令

# 查看版本信息(明确标识为 Rust 版本)
claude --version
# 输出: 0.1.1 (Claude Code Rust - High-performance implementation)
# 查看帮助信息
claude --help
# 进入交互式 REPL 模式
claude
#
claude interactive
# 执行单次查询
claude query "请帮我分析这段代码"
# 或使用简写
claude q "你的问题"

配置管理

# 查看当前配置
claude config
# 登录到 Claude API
claude login
# 退出登录
claude logout
# 检查系统配置
claude config-check

Git 集成命令

# 提交更改并创建 PR
claude git commit-push-pr "提交描述"
# 查看 Git 状态
claude git status

图形界面模式

# 启动 GUI 桌面应用
claude gui
# 启动终端用户界面 (TUI)
claude tui

技能系统

# 列出所有可用技能
claude skills list
# 执行帮助技能
claude help
# 显示版本信息
claude version

升级和更新

# 检查更新
claude upgrade check
# 执行自动升级(推荐)
claude upgrade execute
# 手动升级
# 1. 拉取最新代码
git pull origin master
# 2. 重新编译
cargo build --release

升级命令说明

  • claude upgrade check - 检查是否有新版本可用
  • claude upgrade execute - 自动拉取最新代码并重新编译
  • 手动升级 - 当自动升级失败时,可以使用git和cargo命令手动升级

升级流程

  1. 检查更新:运行 claude upgrade check 查看是否有新版本
  2. 执行升级:运行 claude upgrade execute 自动完成升级
  3. 重启应用:升级完成后需要重启Claude Code Rust以使用新版本

常见问题

  • 自动升级失败:通常是因为网络问题或权限问题,可以尝试手动升级
  • 编译错误:如果编译失败,可能需要更新Rust工具链或解决依赖问题
  • 版本检查失败:如果无法连接GitHub API,可以直接访问GitHub仓库查看最新版本

🔧 开发指南

项目结构概述

Claude Code Rust 采用模块化架构设计,主要模块包括:

  • bootstrap/:启动引导、快速路径优化和宏配置系统
  • cli/:命令行接口、参数解析和 REPL 实现
  • commands/:命令系统,包括认证、配置、Git、交互式等命令
  • config/:配置管理、系统提示和环境设置
  • gui/:基于 egui 的图形用户界面
  • tools/:工具系统,提供文件操作、搜索、命令执行等能力
  • skills/:技能加载、注册和执行系统
  • plugins/:插件框架和安全沙箱机制

扩展开发

添加新命令

  1. src/commands/ 目录下创建新的命令模块
  2. 实现 CmdExecutor trait
  3. 在命令注册系统中注册新命令

创建新技能

  1. src/skills/ 目录下创建技能模块
  2. 实现 Skill trait
  3. 在技能加载器中注册新技能

开发插件

参考 PLUGIN_DEVELOPMENT.md 文档了解插件开发流程和 API。

构建和测试

# 运行所有测试
cargo test
# 运行特定测试
cargo test test_command_system
# 代码质量检查
cargo clippy -- -D warnings
# 代码格式化
cargo fmt
# 构建文档
cargo doc --open

🤝 贡献指南

开发流程

  1. Fork 仓库:创建个人 fork

  2. 创建分支:使用描述性的分支名称

    git checkout -b feat/add-new-command
  3. 实现功能:遵循项目代码规范

  4. 添加测试:为新功能编写测试用例

  5. 提交更改:使用规范的提交消息

    feat: 添加新的配置命令
    fix: 修复登录认证问题
    docs: 更新 README 文档
    refactor: 重构命令执行器
    
  6. 推送分支:推送到您的 fork

    git push origin feat/add-new-command
  7. 创建 PR:在 GitHub 上创建 Pull Request

代码规范

  • 命名约定:使用蛇形命名法(snake_case)用于变量和函数,大驼峰命名法(PascalCase)用于类型
  • 错误处理:使用 anyhow::Result 或自定义错误类型
  • 文档注释:公共 API 必须包含文档注释
  • 测试覆盖:新功能应包含单元测试和集成测试

测试要求

# 运行完整的测试套件
cargo test --all-features
# 检查测试覆盖率
cargo tarpaulin --ignore-tests --out html
# 运行性能基准测试
cargo bench

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

📊 性能优势

作为 Rust 重构版本,Claude Code Rust 在多个维度上提供显著性能改进:

启动性能

  • 冷启动时间:毫秒级启动,无需 Node.js 运行时初始化
  • 热启动优化:利用系统级缓存,实现极速启动

资源效率

  • 内存占用:原生二进制执行,内存开销显著降低
  • 部署体积:单文件分发,无需庞大的 node_modules 目录
  • CPU 利用率:高效的异步运行时,更好的多核利用

执行性能

  • 命令响应:原生机器码执行,无解释器开销
  • I/O 操作:基于 Tokio 的高效异步 I/O
  • 并发处理:无锁数据结构和高效的并发原语

安全优势

  • 内存安全:Rust 编译器保证零运行时内存错误
  • 线程安全:编译时数据竞争检测
  • 沙箱隔离:插件系统的安全执行环境

🔮 未来规划

短期目标 (v0.2.0)

  • 完善插件系统:提供更丰富的插件开发 API 和示例
  • 增强 DCC 集成:深化 Blender 和 UE5 工具链集成
  • 改进 GUI 体验:优化用户界面和交互流程
  • 扩展技能库:添加更多实用技能和工具

中期目标 (v0.5.0)

  • 云同步功能:配置和状态的跨设备同步
  • 团队协作:多人协作和共享工作空间
  • 高级分析:代码质量分析和性能洞察
  • 市场生态:插件市场和技能商店

长期愿景 (v1.0.0)

  • 全平台支持:移动端和嵌入式设备支持
  • AI 模型集成:本地 AI 模型和混合推理
  • 企业功能:企业级部署和管理工具
  • 生态系统:完整的开发者工具链生态

📚 相关文档

🤔 常见问题

Q: Rust 版本与原版 TypeScript 版本有什么区别?

A: Rust 版本提供更好的性能、内存安全和部署效率,同时保持了核心功能兼容性。界面会明确标识为 "Claude Code Rust"。

Q: 如何同时安装两个版本而不冲突?

A: 建议使用不同的命令别名,如 claude-rustclaude-npm,具体配置方法参见安装部分。

Q: Windows 上构建失败怎么办?

A: Windows 需要 Visual Studio 构建工具或 MinGW 环境,也可以直接下载预编译的二进制文件。

Q: 插件是否与原版兼容?

A: 插件系统设计为兼容原版插件架构,但可能需要适配器或重新编译。

📞 支持与反馈


Claude Code Rust - 为性能和安全而生的 AI 开发工具链

About

🚀 Rust 全量重构的 Claude Code - 性能提升 2.5x,体积减少 97% | High-performance Rust implementation of Claude Code with 2.5x faster startup and 97% smaller binary

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • TypeScript 86.6%
  • Rust 12.6%
  • HTML 0.3%
  • Shell 0.2%
  • JavaScript 0.1%
  • Python 0.1%
  • Other 0.1%

AltStyle によって変換されたページ (->オリジナル) /