mirror of
https://github.com/musistudio/claude-code-router.git
synced 2026-01-29 22:02:05 +00:00
3.6 KiB
3.6 KiB
项目级配置
除了全局配置,ccr 还支持为特定项目设置不同的路由规则。
项目配置文件
项目配置文件位于:
~/.claude/projects/<project-id>/claude-code-router.json
其中 <project-id> 是 Claude Code 项目的唯一标识符。
项目配置结构
{
"Router": {
"default": "openai,gpt-4",
"background": "openai,gpt-3.5-turbo"
}
}
查找项目 ID
方法一:使用 CLI
# 在项目目录中运行
ccr status
输出会显示当前项目 ID:
Project: my-project (abc123def456)
方法二:查看 Claude Code 配置
cat ~/.claude.json
找到你的项目 ID:
{
"projects": {
"abc123def456": {
"path": "/path/to/your/project",
"name": "my-project"
}
}
}
创建项目配置
手动创建
# 创建项目配置目录
mkdir -p ~/.claude/projects/abc123def456
# 创建配置文件
cat > ~/.claude/projects/abc123def456/claude-code-router.json << 'EOF'
{
"Router": {
"default": "anthropic,claude-3-5-sonnet-20241022",
"background": "openai,gpt-3.5-turbo"
}
}
EOF
使用 ccr model 命令
# 在项目目录中运行
cd /path/to/your/project
ccr model --project
配置优先级
路由配置的优先级(从高到低):
- 自定义路由函数 (
CUSTOM_ROUTER_PATH) - 项目级配置 (
~/.claude/projects/<id>/claude-code-router.json) - 全局配置 (
~/.claude-code-router/config.json) - 内置路由规则
使用场景
场景一:不同项目使用不同模型
// Web 项目使用 GPT-4
~/.claude/projects/web-project-id/claude-code-router.json:
{
"Router": {
"default": "openai,gpt-4"
}
}
// AI 项目使用 Claude
~/.claude/projects/ai-project-id/claude-code-router.json:
{
"Router": {
"default": "anthropic,claude-3-5-sonnet-20241022"
}
}
场景二:测试项目使用低成本模型
~/.claude/projects/test-project-id/claude-code-router.json:
{
"Router": {
"default": "openai,gpt-3.5-turbo",
"background": "openai,gpt-3.5-turbo"
}
}
场景三:长上下文项目
~/.claude/projects/long-context-project-id/claude-code-router.json:
{
"Router": {
"default": "anthropic,claude-3-opus-20240229",
"longContext": "anthropic,claude-3-opus-20240229"
}
}
验证项目配置
# 查看当前项目使用的路由
ccr status
# 查看日志确认路由决策
tail -f ~/.claude-code-router/claude-code-router.log
删除项目配置
rm ~/.claude/projects/<project-id>/claude-code-router.json
删除后会回退到全局配置。
完整示例
假设你有两个项目:
全局配置(~/.claude-code-router/config.json)
{
"Providers": [
{
"name": "openai",
"baseUrl": "https://api.openai.com/v1",
"apiKey": "$OPENAI_API_KEY",
"models": ["gpt-4", "gpt-3.5-turbo"]
},
{
"name": "anthropic",
"baseUrl": "https://api.anthropic.com/v1",
"apiKey": "$ANTHROPIC_API_KEY",
"models": ["claude-3-5-sonnet-20241022"]
}
],
"Router": {
"default": "openai,gpt-4",
"background": "openai,gpt-3.5-turbo"
}
}
Web 项目配置
{
"Router": {
"default": "openai,gpt-4"
}
}
AI 项目配置
{
"Router": {
"default": "anthropic,claude-3-5-sonnet-20241022",
"think": "anthropic,claude-3-5-sonnet-20241022"
}
}
这样:
- Web 项目使用 GPT-4
- AI 项目使用 Claude
- 所有项目的后台任务使用 GPT-3.5-turbo(继承全局配置)