开发与工程 api-gatewaymodel-routingfallbackollamaopenai-compatiblefastapiself-hosted

My Free Code

为 Claude Code 等编码代理提供多供应商本地网关:统一模型路由、流式输出、工具调用与自动降级,让一个 API 端点接入几十家模型。

FollowAgents 评估 · FARS-2.1
不推荐
54/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全13 / 29 · 2.2/5

证据显示项目声明仅本地使用、要求非平凡 PROXY_AUTH_TOKEN、凭据不出站,且依赖列表极小(fastapi/uvicorn/httpx/python-dotenv),这支撑敏感数据与依赖安全的 2 分。但管理员端点认证、路由、流式等核心逻辑仅由测试文件间接引用,源码未在证据中呈现,最小权限、用户确认、数据流透明度均只有文字主张,扣为 1。回滚方面只提到流式提交后不切换提供方,无回退/恢复机制说明,扣为 1。归属方面仅声明'非 Anthropic 关联'且 LICENSE 版权人为'★'占位符,作者身份不明,扣为 1。

2可靠稳定8 / 14 · 2.9/5

README 的路由/回退/回退去重描述与 tests/test_router.py 的测试一致(candidates 去重、显式模型直通),安装说明覆盖 Windows/macOS/Linux,故自洽与依赖可得性给 2。但失败信息处理仅有 failures.py 文件名可依,未见具体错误消息内容或对外暴露的错误策略,failure_messages 扣为 1。

3适用触发12 / 18 · 3.3/5

项目明确定位本地多提供方网关,给出 Claude tier 路由、回退、本地模型(Ollama/LM Studio/llama.cpp)配置示例,并诚实说明'非常规认证/协议需专用适配器',能力边界与触发语义(tier→模型映射、回退链)描述清晰,各给 2。环境适配覆盖三大平台安装步骤,给 2。

4规范维护9 / 18 · 2.5/5

结构图、架构分层说明、安装命令、pyproject 脚本入口齐备,信息架构与安装说明给 2;命名(my-free-code / mfc CLI)在 pyproject 与 README 一致,给 2;MIT 许可证文件存在,给 2。但缺 FAQ、无已知局限章节(仅隐含'本地使用'警告)、无 CHANGELOG(仅版本号 0.8)、维护者/更新路径不明(版权占位符),相应扣为 1。

5有效结果9 / 13 · 3.5/5

作为多提供方网关,聚合了 40+ 提供方、双协议入口和本地运行时,产出(OpenAI/Anthropic 兼容端点)对编码代理直接可用,测试覆盖协议转换,输出可用性、边际价值(相对逐家配置 API)与成本收益(免费/本地模型回退)均可从证据支持,各给 2;但未证实性能与流式稳定性,故未给 3。

6证据核验3 / 8 · 1.9/5

测试文件可直接对应 README 中的路由、协议转换、认证主张,但核心模块源码未提供,主张只能部分追溯到测试而非实现,claim_traceability 扣为 1。README 中残留 'citeturn0search0' 这类伪造引用标记,且'镜像当前参考项目的架构边界'缺乏可核验来源,跨源印证与事实/推断分离均扣为 1。

证据充分度: 评估于 2026年9月7日 审查版本 3fea11e1a5c0
使用前请注意
  • 发布者身份未经核验,版权人为占位符'★',使用者需自行评估供应链信任。
  • 核心源码未在证据中呈现,认证与管理端点保护仅为文档与测试主张,部署前应自行审计 routes.py/admin_routes.py。
  • README 残留 'citeturn0search0' 引用标记,提示文档可能由模型生成未经清理,需核对技术主张。
  • 无已知局限说明与变更日志,0.8 版本行为可能随时变动;生产环境使用前先运行 pytest 并在隔离环境验证。
  • 严格保持 HOST=127.0.0.1 并设置强 PROXY_AUTH_TOKEN,切勿将 /admin 暴露到公网。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

My Free Code v0.8 是一个独立实现的开源多供应商 AI 网关,面向 Claude Code 及其他编码代理(明确声明与 Anthropic 无关)。它以 FastAPI 实现 Anthropic Messages(/v1/messages、/v1/messages/count_tokens)和 OpenAI Responses(/v1/responses)两类线协议,并暴露模型发现、健康检查、本地 Admin UI 与需认证的 Admin API。网关在协议层之下运行模型路由器:支持 Claude 分层路由(Fable/Opus/Sonnet/Haiku)、有序模型回退、供应商健康退避、并发与速率窗口控制,并保持稳定的公开模型身份。供应商目录涵盖 OpenRouter、Groq、DeepSeek、NVIDIA NIM、Azure OpenAI、Google Vertex、Amazon Bedrock 等几十家云端服务,以及 Ollama、LM Studio、llama.cpp 等本地运行时;OpenAI 兼容供应商共享同一传输层,特殊协议供应商使用专用适配器。部署方式为本地 Python 进程(默认 http://127.0.0.1:8082),凭据只保留在本地 .env 中,README 定位为本地使用工具。

启动后,网关监听本地端口并接收 Anthropic Messages 或 OpenAI Responses 格式的请求。它读取 .env 中的 MODEL、MODEL_SONNET、MODEL_OPUS、MODEL_HAIKU、FALLBACK_MODELS 等配置与各供应商 API 密钥,通过模型路由器选择主供应商,失败时按顺序切换到回退模型(已开始流式输出后不会静默切换供应商导致重复回合)。它支持 SSE 流式、工具定义与工具调用、图片输入、思考/推理元数据透传(auto/on/off 加 low/medium/high effort,由适配器映射到上游字段)。供应商层通过共享的 OpenAI 兼容传输或专用适配器调用上游 API,本地模型经 OLLAMA_BASE_URL、LM_STUDIO_BASE_URL、LLAMACPP_BASE_URL 访问。编码代理启动层(python -m my_free_code.cli.mfc)为 claude、codex、pi、opencode、cline、hermes、deepseek-harness、grok、muse 准备本地代理环境变量后委托给已安装的客户端。Admin UI(/admin)与 /api/admin/status、/api/admin/models、/api/admin/providers 提供状态查看。仓库附带 pytest 确定性测试覆盖路由、协议转换、认证、推理、模型目录与流式原语。

  1. Claude Code 用户想用 DeepSeek、Groq、OpenRouter 免费或低价模型替代 Anthropic 官方端点,只需设置 ANTHHROPIC_BASE_URL 指向本地网关即可无缝切换
  2. 个人开发者在离线或隐私敏感环境中,通过 Ollama/LM Studio/llama.cpp 让编码代理完全使用本地模型
  3. 重度代理使用者需要可靠性:配置 FALLBACK_MODELS 让主模型不可用时自动降级到备选模型
  4. 团队希望对 Sonnet/Opus/Haiku 等分层请求做差异化路由,把高成本层级映射到指定的替代模型
  5. 同时使用多个编码客户端(Codex、OpenCode、Cline 等)的用户,用统一的 mfc 启动器为各家客户端注入代理配置
  6. 需要本地观测网关状态、可用模型与供应商健康状况的运维者,通过 Admin UI 和 Admin API 检查

这个 Agent 有哪些优点和局限?

优点
  • 同时实现 Anthropic Messages 与 OpenAI Responses 两套线协议,Claude Code 与 Codex 系客户端都能直接接入同一个网关
  • 分层路由加有序回退且保证流式已输出后不重复回合,供应商故障时的行为有明确定义
  • 供应商目录极广(几十家云端服务加三种本地运行时),OpenAI 兼容供应商共享传输层,新增供应商成本低
  • 架构将协议、路由、供应商运行时、CLI 启动器分层解耦,并附带覆盖路由、协议转换与流式的确定性测试
局限
  • 定位为本地使用:README 要求绑定 127.0.0.1 且不要暴露 Admin 端点,多用户/远程部署超出设计范围
  • 供应商目录 ≠ 全部开箱即用:非 OpenAI 兼容协议的供应商需要专用适配器,覆盖程度因供应商而异
  • 需要自行管理各供应商 API 密钥与 .env 配置;回退仅覆盖输出开始前的失败,流中途中断不会切换供应商
  • 启动器只准备代理环境并委托给已安装的客户端,Codex、Cline 等需用户事先自行安装

如何安装或部署这个 Agent?

需要 Python 3.10+。Windows:python -m venv .venv;.venv\Scripts\Activate.ps1;python -m pip install -r requirements.txt;copy .env.example .env。macOS/Linux:python -m venv .venv;source .venv/bin/activate;python -m pip install -r requirements.txt;cp .env.example .env。启动:python -m my_free_code,默认地址 http://127.0.0.1:8082。之后在 .env 中配置模型与对应 API 密钥,例如 MODEL=open_router/openrouter/free、MODEL_SONNET=deepseek/deepseek-chat、FALLBACK_MODELS=deepseek/deepseek-chat,ollama/llama3.1。

如何使用这个 Agent?

接入 Claude Code:设置 ANTHROPIC_BASE_URL=http://127.0.0.1:8082、ANTHROPIC_AUTH_TOKEN=local、CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 后运行 claude;或直接运行 python -m my_free_code.cli.mfc claude。其他客户端:python -m my_free_code.cli.mfc 后接 codex / pi / opencode / cline / hermes / deepseek-harness / grok / muse(客户端须已在 PATH 中)。本地模型示例:OLLAMA_BASE_URL=http://127.0.0.1:11434/v1 加 MODEL=ollama/llama3.1。管理界面访问 http://127.0.0.1:8082/admin。安全要求:保持 HOST=127.0.0.1、设置非平凡 PROXY_AUTH_TOKEN、勿提交 .env、勿将 Admin 端点暴露到公网。运行测试:pytest -q。

这个 Agent 与同类方案有什么区别?

README 将其定位为 Claude Code 官方 Anthropic 端点的替代接入路径(独立实现,非 Anthropic 官方,也不隶属于 Anthropic);对于已付费订阅官方 Claude 或需要托管多租户网关的团队,直接使用官方端点或商业网关可能更合适。

常见问题

接入 Claude Code 后我还需要 Anthropic API 密钥吗?
不需要。认证示例使用 ANTHROPIC_AUTH_TOKEN=local,实际上游凭据是你在 .env 中配置的各供应商密钥(如 DeepSeek、Groq、OpenRouter)。
主模型失败了会怎样?
网关按 FALLBACK_MODELS 顺序回退(如 deepseek → groq → ollama),但仅在输出开始前切换;流式响应已开始输出后不会静默换供应商重放整个回合。
可以直接部署到服务器给团队共用吗?
不建议。README 明确面向本地使用:要求 HOST=127.0.0.1、设置 PROXY_AUTH_TOKEN、不将 Admin 端点暴露到互联网,未提供多用户或公网部署方案。
能完全离线运行吗?
可以,前提是全部模型走本地运行时(Ollama、LM Studio、llama.cpp),并相应配置 MODEL 和对应 BASE_URL;此时不需要任何云端供应商密钥。
支持推理/思考模式吗?
支持。网关接收 Claude 风格的思考意图,归一化为 auto/on/off 加可选 low/medium/high effort,由各供应商适配器映射到其上游字段。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents