← 返回首页

decolua/9router免费AI coding工具配置

pythonClaudeCline Ollama 配置Copilot免费AI

# 9router配置踩坑全记录:我是如何在Claude Code和Cline之间打通免费AI的

问题背景:为什么我需要9router

在配置完DeepSeek-TUI和LM Studio之后,我想把多个AI coding工具连接到一个统一的代理层——9router声称能让Claude Code、Cline、Cursor同时使用免费的Claude/GPT/Gemini提供商。

我的目标很简单:不花钱,用Claude Code写代码,同时连到免费后端。

实际花了我整整一天

---

坑1:SSH密钥配置——连接被拒绝的100种方式

9router官方文档说支持SSH方式安装:

/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills

但我用的是HTTPS clone方式,文档提到:

如果遇到SSH错误,是因为marketplace通过SSH克隆仓库。如果没有配置GitHub SSH密钥,改用完整HTTPS URL强制克隆:

> `bash

/plugin marketplace add https://github.com/decolua/9router.git
/plugin install agent-skills@decolua-9router

> `

我的实际错误信息:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

解决步骤:

1. 检查你有没有SSH公钥:cat ~/.ssh/id_rsa.pub(没有就ssh-keygen -t rsa -C "your@email")

2. 把公钥添加到GitHub Settings → SSH Keys

3. 或者直接用HTTPS方式:git clone https://github.com/decolua/9router.git

如果你用的是公司网络,SSH可能还被防火墙阻断——这时候HTTPS是唯一选择。

---

坑2:Provider配置顺序——auto-fallback不生效

9router的核心卖点是auto-fallback:当一个provider超限或失败,自动切换到下一个。

我的.9router.yaml初始配置:

providers:
  - name: anthropic
    type: claude
    api_key: ${ANTHROPIC_API_KEY}
    priority: 1
  - name: openai
    type: gpt
    api_key: ${OPENAI_API_KEY}
    priority: 2

理论上应该先试Anthropic,失败后自动fallback到OpenAI。

**实际情况:** 两个都失败了,报错是RTK -40% tokens

查了文档才发现——RTK是9router的Token压缩功能,需要先在config里启用:

features:
  rtk_compression:
    enabled: true
    reduction_target: 0.4  # 目标减少40% tokens

没有这个配置,auto-fallback会以"provider配置不完整"为由跳过所有请求。

---

坑3:环境变量加载——${VAR}语法不被读取

我在.9router.yaml中写了很多环境变量引用:

providers:
  - name: anthropic
    api_key: ${ANTHROPIC_API_KEY}

然后我运行:

export ANTHROPIC_API_KEY=sk-ant-xxxxx
9router start

结果报错:api_key is required, got undefined

问题根源: 9router默认不读取shell环境变量,需要显式启用:

env:
  load_from_shell: true
  variables:
    ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}

或者在启动命令中注入:

ANTHROPIC_API_KEY=sk-ant-xxxxx 9router start --env-file .env

.env文件格式:

ANTHROPIC_API_KEY=sk-ant-xxxxx
OPENAI_API_KEY=sk-xxxxx

---

坑4:Claude Code的Claude.ai会话与9router冲突

这是最坑的一个。

我本地已经登录了Claude Code(claude login),同时我也想让9router处理所有请求。

问题是:**Claude Code默认走的是api.anthropic.com,9router默认也是**。两者同时跑,会出现:

Error: 429 Too Many Requests
Rate limit exceeded for Claude API

原因:你的Claude Code活跃会话和9router的请求共享同一个API额度

解决方式:

方案A:给Claude Code设置不同的API端点(在~/.claude/settings.json中):

{
  "env": {
    "ANTHROPIC_API_BASE": "https://api.anthropic.com/v1"
  }
}

方案B:在9router配置中设置请求队列,避免并发:

rate_limiting:
  max_concurrent_requests: 2
  retry_after_seconds: 30

---

坑5:Windows路径分隔符——.9router.yaml在哪?

我的开发机是Windows,9router文档说配置文件在~/.9router.yaml,但Windows上是C:\Users\username\.9router.yaml

实际测试结果:

操作系统配置文件路径
macOS/Linux`~/.9router.yaml` 或 `~/.config/9router/config.yaml`
Windows`%USERPROFILE%\.9router.yaml` 或 `%APPDATA%\9router\config.yaml`

Windows上可以用PowerShell检查:

echo $env:USERPROFILE
# 输出类似:C:\Users\YourName
# 配置文件应该在:C:\Users\YourName\.9router.yaml

如果找不到,用这个命令确认9router读取哪个路径:

9router config --show-path

---

完整配置模板

以下是我最终成功运行的配置:

# .9router.yaml
env:
  load_from_shell: true

providers:
  - name: anthropic-claude
    type: anthropic
    api_key: ${ANTHROPIC_API_KEY}
    priority: 1
    fallback:
      - openai-gpt4
      - google-gemini

  - name: openai-gpt4
    type: openai
    api_key: ${OPENAI_API_KEY}
    priority: 2

  - name: google-gemini
    type: gemini
    api_key: ${GOOGLE_API_KEY}
    priority: 3

features:
  rtk_compression:
    enabled: true
    reduction_target: 0.4

  auto_fallback:
    enabled: true
    max_retries: 3
    retry_delay_ms: 2000

rate_limiting:
  max_concurrent_requests: 2
  requests_per_minute: 60

logging:
  level: debug
  file: ./9router.log

启动命令:

export ANTHROPIC_API_KEY=sk-ant-xxxxx
export OPENAI_API_KEY=sk-xxxxx
9router start --config ~/.9router.yaml

---

验证9router是否正常工作的测试命令

配置完成后,用这个命令验证所有providers是否可达:

9router health --all-providers

正常输出:

✓ anthropic-claude: OK (latency: 142ms)
✓ openai-gpt4: OK (latency: 89ms)
✓ google-gemini: OK (latency: 201ms)

如果某个provider显示FAILED,检查:

1. API Key是否正确加载(echo $ANTHROPIC_API_KEY

2. 网络是否能访问该provider(curl -I https://api.anthropic.com

3. 是否超限(429错误需要等待或切换provider)

---

总结:3个配置要点

1. **启用RTK压缩**:没有rtk_compression.enabled: true,auto-fallback不工作

2. **显式加载环境变量**:不写load_from_shell: true,${VAR}就是纯字符串

3. **Windows路径注意**:Windows用户用%USERPROFILE%\.9router.yaml,不是~/.9router.yaml

---

适合人群

适合:有多个AI coding工具(Claude Code/Cline/Cursor)想统一管理的开发者

适合:想节省API费用的个人开发者(auto-fallback + RTK压缩效果显著)

不适合:企业用户(有合规要求,不建议用免费provider处理公司代码)

不适合:需要高并发(>10 req/min)的团队(共享额度会快速超限)

---

👉 立即参与MiniMax:https://platform.minimaxi.com/subscribe/token-plan?code=E5yur9NOub&source=link

🔗 Related Tech Articles

Deep dive into related technical topics:

decolua/9router免费AI coding工具配置
技术标签: claude, cline
decolua/9router free AI coding tools
技术标签: claude, cline
decolua/9router free AI coding tools
技术标签: claude, cline
💻 Recommended Hardware
查看推荐 →