ccode 🚀
Claude Code 配置管理工具 - 专注 Direct 模式的 Claude 环境快速切换工具

✨ 核心特性
🎯 模式
- Direct 模式:简单的 API 配置,直接启动
claude
🌟 主要功能
- 📋 配置管理:支持多配置存储和快速切换
- 🚀 参数透传:支持将参数透传给claude命令(仅Direct模式)
- 📱 交互式操作:友好的命令行交互界面
- 🌐 跨平台支持:Windows、macOS、Linux
🛠️ 工作模式
- Direct模式:传统的token+base_url配置方式,直接启动claude程序
🚀 快速开始
📋 系统要求
- Rust: 1.70+(如需从源码编译)
- Claude CLI: 已安装
claude 命令行工具
📦 安装
🚀 预编译二进制文件(推荐)
从GitHub Releases下载对应平台的预编译二进制文件:
# Linux (Ubuntu 22.04 LTS)
wget https://github.com/junjiangao/ccode/releases/latest/download/ccode-linux-x86_64
chmod +x ccode-linux-x86_64
sudo mv ccode-linux-x86_64 /usr/local/bin/ccode
# macOS (Intel)
wget https://github.com/junjiangao/ccode/releases/latest/download/ccode-macos-x86_64
chmod +x ccode-macos-x86_64
sudo mv ccode-macos-x86_64 /usr/local/bin/ccode
# macOS (Apple Silicon)
wget https://github.com/junjiangao/ccode/releases/latest/download/ccode-macos-aarch64
chmod +x ccode-macos-aarch64
sudo mv ccode-macos-aarch64 /usr/local/bin/ccode
# Windows: 下载 ccode-windows-x86_64.exe 并放到 PATH 中
🔨 从源码编译
git clone https://github.com/junjiangao/ccode.git
cd ccode
cargo build --release
sudo cp target/release/ccode /usr/local/bin/
📖 使用指南
🎯 Direct 模式(新配置:config.toml)
自 v0.2.0 起,ccode 使用 ~/.config/ccode/config.toml 进行配置管理。
字段映射(旧 → 新)
- ANTHROPIC_SMALL_FAST_MODEL(弃用) → ANTHROPIC_DEFAULT_HAIKU_MODEL →
model_haiku
- ANTHROPIC_DEFAULT_HAIKU_MODEL →
model_haiku
- ANTHROPIC_DEFAULT_OPUS_MODEL →
model_opus
- ANTHROPIC_DEFAULT_SONNET_MODEL →
model_sonnet
- ANTHROPIC_MODEL →
model
- ANTHROPIC_AUTH_TOKEN → 通过
env_key 指定的环境变量读取(同级 .env 或系统环境)
- ANTHROPIC_BASE_URL →
base_url
- CLAUDE_CODE_MAX_OUTPUT_TOKENS →
max_tokens
配置文件位置
- Linux/macOS:
~/.config/ccode/config.toml
- Windows:
%APPDATA%/ccode/config.toml
config.toml 示例
default = "minimax-m2"
[profiles.minimax-m2]
name = "minimax-m2"
base_url = "https://api.anthropic.com"
env_key = "minimax-m2_key" # 对应配置目录下 .env 中的变量名
model = "claude-3-5-sonnet-latest"
model_sonnet = "claude-3-5-sonnet-20241022"
model_haiku = "claude-3-haiku-20240307"
model_opus = "claude-3-opus-latest"
max_tokens = "32000"
comment = "测试站点"
[profiles.anyrouter]
name = "anyrouter"
base_url = "https://api.example.com"
env_key = "anyrouter_key"
同级 .env 示例(可选,优先于系统环境加载):
# 文件路径:~/.config/ccode/.env
minimax-m2_key="sk-xxx..."
anyrouter_key="sk-yyy..."
使用 TOML 配置
# 列出配置(自动识别 TOML)
ccode list
# 运行(未指定 name 时使用 default)
ccode run # 使用 default
ccode run minimax-m2 # 指定 profile
# 透传参数
ccode run minimax-m2 --version
ccode run minimax-m2 -- --help
# tmux 环境同步策略(team/--tmux 场景)
ccode run minimax-m2 --tmux-env auto -- --worktree my-branch --tmux
添加配置(交互式)
ccode add myapi
# 按提示依次输入:
# 1) ANTHROPIC_BASE_URL(如 https://api.anthropic.com)
# 2) ANTHROPIC_AUTH_TOKEN(密钥值,工具会保存到配置目录 .env)
ccode add/use/remove 支持直接写入 config.toml 并使用同级 .env 保存密钥。
🔁 迁移指南(config.json → config.toml)
自 v0.2.0 起,配置文件统一迁移为 ~/.config/ccode/config.toml,密钥改为从同级 ~/.config/ccode/.env 读取。
自动迁移(开箱即用)
- 触发条件:存在
~/.config/ccode/config.json 且不存在 config.toml。
- 行为:运行任意
ccode 命令时自动迁移;迁移成功后删除 config.json,并生成备份。
- 备份文件:
~/.config/ccode/config.json.bak-YYYYMMDD-HHMMSS
- 失败保护:任一步失败不会删除
config.json,备份仍保留。
手动迁移/合并(推荐命令)
当同时存在 config.toml 与 config.json 时,不会自动处理,建议使用合并命令:
# 将旧版 JSON 合并/迁移到 TOML,并在成功后移除 JSON
ccode config merge
合并策略与输出说明:
- 同名 profile 跳过(保留现有 TOML 的版本),新增 profile 自动写入。
- 默认 profile:若 TOML 未设置且 JSON 有默认,则迁移默认值。
- 输出示例(简化):
✅ 迁移完成:共 3,迁移 2,跳过 1
🆕 已创建 config.toml # 或 🔗 已合并到现有 config.toml
🎯 默认配置: demo
🗄️ 已备份旧 JSON: /home/user/.config/ccode/config.json.bak-20251029-114233
🧹 已移除 config.json
字段与密钥迁移规则
- JSON 字段映射到 TOML:
ANTHROPIC_BASE_URL → base_url
ANTHROPIC_MODEL → model
ANTHROPIC_SMALL_FAST_MODEL(弃用)→ model_haiku
- 其他家族模型、最大输出等见上文“字段映射”。
- 密钥迁移:
ANTHROPIC_AUTH_TOKEN 的值迁移到同级 .env,变量名由 profile 名推导:{profile}_key(非字母数字改为下划线、小写,并确保以 _key 结尾)。
- TOML 中仅保存
env_key,运行时从 .env 或系统环境读取。