这个项目能做什么

# routatic-proxy 一个Go CLI代理,可让您将[Claude Code](https://docs.anthropic.com/en/docs/claude-code)请求路由到多个上游提供商,并支持自动模型选择和格式转换。 `routatic-proxy`位于Claude Code和您选择的提供商之间,拦截Anthropic API请求,将其转换为适当的格式(OpenAI、Anthropic、Responses或Gemini),并转发到上游。Claude Code认为它在与Anthropic通信——但您的请求实际发送到您配置的模型和提供商。 `oc-go-cc`仍可作为兼容别名使用,现有的`OC_GO_CC_*`环境变量和`~/.config/oc-go-cc/config.json`文件仍会被识别。 ## 支持的提供商 | 提供商 | 描述 | 最适合 | |----------|-------------|----------| | **OpenCode Go** | 高性能开源编码模型,统一费率定价 | 日常编码、复杂推理、成本效益高的工作负载 | | **OpenCode Zen** | 精选、经过测试的模型,按需付费定价 | 无需多个API密钥即可访问Claude/GPT/Gemini | | **AWS Bedrock** | 在您自己的AWS基础设施上运行的企业级模型 | 需要数据主权和合规性的企业 | | **OpenRouter** | 统一API,支持100多个LLM,自动故障转移 | 尝试来自多个提供商的模型 | | **Anthropic** | 原生Claude模型,支持Anthropic优先故障转移模式 | 以Claude为先的工作流,OpenCode作为后备 | ## 功能 - **多提供商** — 通过单一配置路由到OpenCode Go、OpenCode Zen、AWS Bedrock或OpenRouter - **透明代理** — Claude Code发送Anthropic格式请求,代理转换为提供商原生格式并返回 - **模型路由** — 根据上下文(默认、思考、长上下文、后台)自动路由到不同模型 - **流式场景路由** — 可配置的流式请求路由 - **故障转移链** — 如果模型失败,自动尝试配置链中的下一个 - **Anthropic优先故障转移** — 将Claude保留在Anthropic上,仅在速率限制或中断期间使用OpenCode - **断路器** — 跟踪模型健康状况并跳过故障模型以避免延迟峰值 - **实时流式传输** — 完整的SSE流式传输,支持实时格式转换 - **工具调用** — 正确的Anthropic tool_use/tool_result ↔ OpenAI/Gemini函数调用转换 - **热重载** — 监视配置文件更改并自动重新加载 - **自更新** — 通过一条命令检查并安装最新版本 ## GUI版本 此仓库为`routatic-proxy`提供跨平台GUI: - **macOS** — 原生Cocoa窗口,带系统托盘集成(需要CGO)。从**Releases**页面下载`.dmg`。 - **Linux** — 基于浏览器的GUI,通过`xdg-open`(默认,无需CGO)。对于系统托盘:使用`CGO_ENABLED=1`构建并安装`libappindicator-gtk3-devel`(Fedora)或`libayatana-appindicator3-dev`(Ubuntu/Debian)。 - **Windows** — 不支持GUI(仅CLI)。 **仪表盘标签页:** 概览(实时指标和模型分布)、历史记录(最近1000个请求,带筛选器)、设置(编辑配置并热重载)。 使用`start`(而非`serve`)时,仪表盘可在`http://127.0.0.1:3445`访问。 ## 快速开始 ```bash # 1. 安装 brew tap routatic/tap && brew install routatic-proxy # 2. 初始化配置 routatic-proxy init # 3. 设置您的API密钥 export ROUTATIC_PROXY_API_KEY=sk-opencode-your-key-here # 4. 启动代理 routatic-proxy serve # 5. 配置Claude Code export ANTHROPIC_BASE_URL=http://127.0.0.1:3456 export ANTHROPIC_AUTH_TOKEN=unused # 6. 运行Claude Code claude ``` **Fedora / RHEL:** 每个版本都附带`x86_64`和`aarch64` RPM包—— `sudo dnf install https://github.com/routatic/proxy/releases/download/vX.Y.Z/routatic-proxy-X.Y.Z-1.x86_64.rpm`。 有关Homebrew、Scoop、Docker和从源码构建的选项,请参阅[INSTALLATION.md](INSTALLATION.md)。 更喜欢用GUI切换提供商?routatic-proxy可与[CC-Switch](https://github.com/farion1231/cc-switch)配合使用。 ## CLI命令 ``` routatic-proxy start 启动代理 + 仪表盘 (http://127.0.0.1:3445) routatic-proxy start -b 在后台启动代理 + 仪表盘 routatic-proxy serve 仅启动代理服务器(无头模式,无仪表盘) routatic-proxy serve -b 仅在后台启动代理(与终端分离) routatic-proxy stop 停止正在运行的代理服务器 routatic-proxy status 检查代理是否正在运行 routatic-proxy init 创建默认配置文件 routatic-proxy validate 验证配置文件 routatic-proxy models 列出所有可用模型 routatic-proxy autostart enable 启用登录时自动启动 routatic-proxy update 更新到您频道上的最新版本 routatic-proxy update check 检查是否有新版本而不安装 routatic-proxy update-channel 显示或切换发布频道 (stable|beta) routatic-proxy --version 显示版本 ``` ## 文档 | 文档 | 描述 | |----------|-------------| | [MODELS.md](MODELS.md) | 所有提供商的模型参考——能力、成本、端点、路由建议 | | [docs/openrouter.md](docs/openrouter.md) | OpenRouter提供商设置和配置 | | [CONFIGURATION.md](CONFIGURATION.md) | 配置文件参考、环境变量、模型路由、故障转移链 | | [INSTALLATION.md](INSTALLATION.md) | Homebrew、Scoop、从源码构建、Docker | | [CONTRIBUTING.md](CONTRIBUTING.md) | 开发设置、架构 | | [TROUBLESHOOTING.md](TROUBLESHOOTING.md) | 常见问题和调试模式 | | [docs/architecture.md](docs/architecture.md) | 系统设计和请求流程 | | [docs/fedora-setup.md](docs/fedora-setup.md) | Fedora 44设置 (systemd, SELinux) | | [docs/reference-api.md](docs/reference-api.md) | HTTP API参考 | | [docs/howto-add-model.md](docs/howto-add-model.md) | 添加新模型(零代码更改) | | [docs/howto-custom-routing.md](docs/howto-custom-routing.md) | 自定义场景检测和路由 | | [docs/howto-debug-routing.md](docs/howto-debug-routing.md) | 调试路由问题 | ## 发布频道 此项目在两个频道上发布。稳定版是默认的;测试版让您提前获得最新功能。 ```bash routatic-proxy update-channel beta # 选择加入测试版 routatic-proxy update # 安装最新的测试版 routatic-proxy update-channel stable # 回到稳定版 ``` ### 测试版频道(自动) - **触发:** 每次推送到`main`分支 - **版本格式:** `v{UPCOMING}-beta.{N}`(例如,`v0.6.4-beta.1`),其中`{N}`是顺序计数器,在该版本作为稳定版发布后重置 - **GitHub发布:** 标记为预发布 - **Docker标签:** `beta`(滚动),以及确切的`v{UPCOMING}-beta.{N}` - **用例:** 立即获取最新功能和错误修复;非常适合测试 ### 生产频道(手动) - **触发:** 在`releases`分支上手动`workflow_dispatch` - **版本格式:** `vX.Y.Z`(语义化版本) - **GitHub发布:** 标记为稳定版 - **Docker标签:** `vX.Y.Z`、`vX.Y`、`vX`、`latest` - **用例:** 用于生产环境的稳定、经过测试的版本 ## 贡献 我们欢迎贡献!请参阅[CONTRIBUTING.md](CONTRIBUTING.md)了解开发设置、架构概述以及如何提交拉取请求。 ## 许可证 [AGPL-3.0](LICENSE)