ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Free Claude Code 本地代理配置:50 家供应商与 13 亿免费 Token 的 settings.json 骨架

Free Claude Code 本地代理配置:50 家供应商与 13 亿免费 Token 的 settings.json 骨架 1. 为什么要在本地代理里折腾 settings.json如果你同时用 Claude Code、Codex、Cline 这类编码 Agent大概率遇到过同一个尴尬每个 Agent 都要单独配一遍模型来源Anthropic 订阅、OpenAI 订阅、各家免费额度散落在十几个平台换一个供应商就得改一次环境变量。更麻烦的是免费额度经常限速某个源一挂整条编码流程就卡住。Free Claude Code 这类本地代理项目解决的正是这件事它在本地起一个统一网关默认localhost:8082把几十家供应商的模型目录收拢成一份再喂给你手上所有 Agent。而这份「收拢」的落点就是settings.json——它决定了代理监听哪个端口、走哪条统一 Key 通道、每个模型层级路由到哪个供应商、额度用尽时怎么回退。这篇不聊怎么注册账号只聊配置落地以settings.json为入口把统一 Key/API 通道TaoToken写进配置骨架再交付可复制的片段和验证动作。适合已经在用 Claude Code、想把手头多个模型源统一管理的人。读完你能拿到一份能直接改的配置骨架知道每个字段管什么以及怎么确认 Token 额度真的生效了。需要先说明一点Free Claude Code 是独立开源项目与 Anthropic 没有关联Claude 和 Claude Code 是 Anthropic 的商标。本文讨论的是本地代理层的配置方法不涉及任何绕过官方计费的操作。2. 前置准备统一 Key 通道与本地代理的关系在写settings.json之前先把两个概念分清楚不然后面字段容易配混。本地代理Free Claude Code 的fcc-server负责的是「路由」它监听一个本地端口对外暴露一个兼容 OpenAI/Anthropic 风格的接口内部按你的配置把请求转发给不同供应商。它本身不提供模型也不提供额度。统一 Key/API 通道TaoToken负责的是「凭据」你不需要为每个供应商单独维护一套 Key而是通过一条统一通道拿到 API Key再把它写进代理配置。这样切换供应商时改的是模型名和路由不用反复换 Key。TaoToken 的官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个地址不加 UTM 参数。你需要先在控制台创建 API Key后面配置里会用到。注意API Key 属于敏感凭据不要写进会提交到 Git 的配置文件。建议放在~/.fcc/.env或系统环境变量里settings.json里用占位引用。拿到 Key 之后本地代理的配置逻辑就清晰了settings.json里声明「用哪条通道、监听哪个端口、每个模型层级指向哪个模型」.env里放真实 Key。两者配合代理才能跑起来。3. 可复制的 settings.json 骨架下面这份骨架是我按本地代理场景整理的字段命名贴近 Free Claude Code 的配置习惯你可以直接复制后改值。核心思路是顶层声明代理和统一通道providers里放供应商卡片routing里做模型层级路由fallback里做容灾。{ proxy: { host: 127.0.0.1, port: 8082, auth: { enabled: true, bearerTokenEnv: FCC_PROXY_TOKEN } }, gateway: { provider: taotoken, baseUrl: https://taotoken.net/api, apiKeyEnv: TAOTOKEN_API_KEY, timeoutMs: 120000 }, providers: [ { id: taotoken-primary, type: openai-compatible, baseUrl: https://taotoken.net/api, apiKeyEnv: TAOTOKEN_API_KEY, models: [ claude-sonnet-4-5, claude-opus-4-1, glm-4.6, kimi-k2 ], enabled: true }, { id: local-lmstudio, type: openai-compatible, baseUrl: http://127.0.0.1:1234/v1, apiKeyEnv: LMSTUDIO_KEY, models: [qwen2.5-coder-7b], enabled: false } ], routing: { default: taotoken-primary:claude-sonnet-4-5, opus: taotoken-primary:claude-opus-4-1, sonnet: taotoken-primary:claude-sonnet-4-5, haiku: local-lmstudio:qwen2.5-coder-7b }, fallback: { enabled: true, chain: [ taotoken-primary:claude-sonnet-4-5, taotoken-primary:glm-4.6, local-lmstudio:qwen2.5-coder-7b ], maxRetries: 2 }, optimization: { quotaProbe: true, commandPrefixDetect: true, titleGeneration: false, filePathHandling: true } }几个字段值得单独说。gateway.baseUrl指向 TaoToken 的 API 基址apiKeyEnv是环境变量名而不是 Key 本身这样配置可以安全地分享。routing里把 Opus、Sonnet、Haiku 三个层级分开路由是本地代理最实用的能力——重活走强模型轻活走本地小模型额度消耗能明显降下来。fallback.chain是一串候选前面的重试耗尽后自动切下一个免费源限速时不会直接中断当前回合。对应的.env文件长这样TAOTOKEN_API_KEYsk-你的真实key FCC_PROXY_TOKEN本地代理的bearer令牌 LMSTUDIO_KEYlm-studio写完保存settings.json和.env都放在~/.fcc/目录下。改完配置后需要在 Admin UI 里点一次 Apply或者重启fcc-server让配置生效。4. 验证请求与额度确认配置写完不代表生效得实际打一次请求确认。分三步走。第一步确认代理进程起来了。启动fcc-server后用 curl 探一下健康检查接口curl -s http://127.0.0.1:8082/health正常会返回类似{status:ok,providers:2}的 JSONproviders数量和你settings.json里 enabled 的供应商数一致。如果返回连接拒绝说明端口没监听检查proxy.port是否被占用。第二步通过代理发一次真实对话请求确认统一通道能通curl -s http://127.0.0.1:8082/v1/chat/completions \ -H Authorization: Bearer $FCC_PROXY_TOKEN \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 只回复两个字通了}], stream: false }如果返回里有正常的choices内容说明gateway到 TaoToken 这条链路是通的。如果返回 401多半是TAOTOKEN_API_KEY没读到返回 404 则检查baseUrl有没有写错路径。第三步确认额度。TaoToken 控制台里能看到当前 Key 的用量和剩余额度发完上面那条请求后刷新一下应该能看到一次调用记录。这一步很关键——很多人配置看起来通了但实际走的是缓存或本地回退额度根本没动。确认有真实扣量才算真正接上了统一通道。提示如果你在 Claude Code 里用/model看到模型列表里带「From gateway」标注说明代理注入生效了可以直接在原生选择器里切换模型不用改配置文件。5. 本篇常见错排查配置本地代理时报错基本集中在几个地方我按出现频率排一下。报错一ECONNREFUSED 127.0.0.1:8082。代理没启动或者proxy.port和实际监听端口不一致。先确认fcc-server进程在跑再核对settings.json里的端口。Windows 上如果托盘图标显示已启动但连不上检查是不是被防火墙拦了本地回环。报错二401 Unauthorized且提示 provider 鉴权失败。这是统一通道的 Key 没读到。检查.env里的变量名和settings.json里apiKeyEnv写的是否完全一致大小写敏感。另外确认.env文件在~/.fcc/下而不是项目目录里。报错三模型名找不到返回model not found。routing里写的模型名必须在某个 provider 的models数组里出现过。比如你路由到claude-opus-4-1但taotoken-primary的models里没列这个名代理就找不到。把用到的模型都补进对应 provider 的列表。报错四请求卡住不返回最后超时。多半是timeoutMs太短或者某个免费源限速了但 fallback 没生效。把fallback.enabled设为 truemaxRetries给到 2chain里至少放两个不同供应商的模型。这样单点限速不会拖死整个请求。报错五改了配置但行为没变。本地代理通常有配置缓存改完settings.json要在 Admin UI 点 Apply或者直接重启fcc-server。只保存文件不重启代理读的还是旧配置。排查顺序建议从下往上先确认进程和端口再确认 Key 读取最后看模型名和路由。大部分问题出在前两步。6. 把配置沉淀成可复用的骨架本地代理配置这件事配一次不难难的是换环境、换供应商时不用从头再来。我的做法是把settings.json拆成两层一层是稳定的骨架proxy、gateway、optimization 这些不常变的一层是易变的供应商和路由providers、routing、fallback。换供应商时只动第二层骨架不动。如果你后面要长期跑编码 Agent建议把统一通道的 Key 管理也固定下来。TaoToken 的 API Key 可以在控制台里创建多个按用途分开——一个给本地代理一个给临时测试出问题好定位。API Keys 管理入口在 https://taotoken.net/api-keys 接入文档在 https://taotoken.net/doc 配置字段对不上时翻文档比猜快。想先验证模型通不通可以直接在模型对话页试一条请求确认通道没问题再写进配置https://taotoken.net/model-chat 。如果你是要长期跑 Claude Code 或 Agent 类工作流Coding Plan 那条线更适合持续消耗https://taotoken.net/coding-plan 。控制台总入口在 https://taotoken.net/console 配置过程中遇到额度或 Key 的问题从那里看用量最直接。最后留一个实用习惯每次改完settings.json先跑一遍第 4 节那三条 curl确认健康检查、真实请求、额度扣量都对得上再回到 Claude Code 里干活。配置这东西验证一次比读十遍文档管用。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进