前言
如果你曾想使用 Claude Code 这个强大的 AI 编码助手,但被 Anthropic 的 API 费用挡在门外,这篇文章推荐的开源项目可能会改变你的想法。
free-claude-code 是一个创意十足的开源项目,它通过搭建本地代理服务器,让你能够使用免费或低成本的 LLM 服务来驱动 Claude Code CLI、VSCode 扩展,甚至 Discord 机器人。换句话说,你可以完全免费地使用 Claude Code。
这个项目解决了什么问题?
成本障碍
Claude Code 是 Anthropic 推出的智能编码助手,功能强大,但使用官方 API 需要付费。对于个人开发者和初创团队来说,这笔成本不容小觑。
灵活性不足
即使你有 API 配额,也只能使用 Anthropic 提供的模型。如果想尝试其他高性能的开源或免费模型,并没有直接的方式。
本地化需求
某些情况下,你可能希望在本地运行所有计算,出于隐私或网络限制的考虑。官方 Claude Code 并不支持真正的本地部署。
free-claude-code 通过一个聪明的设计解决了这三个问题:拦截 Claude Code 的 API 请求,转发给你选定的 LLM 提供商。
核心设计原理
透明代理架构
Claude Code CLI/VSCode
↓
标准 Anthropic API 请求
↓
free-claude-code 代理服务器
↓
OpenRouter / NVIDIA NIM / LM Studio / llama.cpp
↓
返回 OpenAI 兼容格式响应
整个过程对 Claude Code 完全透明。你只需要在环境变量中指定代理服务器的地址,Claude Code 会自动发送请求到 http://localhost:8082,而无需修改任何代码。
智能请求优化
项目内置了 5 种常见请求的本地拦截机制:
- 配额探测(Quota Probes):Claude Code 在启动时会探测可用额度,项目直接返回本地响应。
- 标题生成:自动生成对话标题,无需调用外部 API。
- 前缀检测:识别代码补全的前缀信息。
- 建议列表:生成快速建议列表。
- 文件路径提取:模拟文件路径相关的请求。
这些优化能显著节省 API 配额,即使使用付费服务也能降低成本。
多模型路由
不同的任务可以分配给不同的模型:
MODEL_OPUS="openrouter/anthropic/claude-opus-4"
MODEL_SONNET="openrouter/anthropic/claude-sonnet-4"
MODEL_HAIKU="openrouter/anthropic/claude-haiku-3"
MODEL="openrouter/deepseek/deepseek-chat" # 降级模型
Claude Code 的三种内部模型等级(Opus / Sonnet / Haiku)会自动路由到你配置的对应模型,提供更灵活的成本-性能权衡。
支持的 LLM 提供商
💰 完全免费方案
LM Studio
- 在本地运行大型语言模型
- 完全离线,无需 API 密钥
- 适合隐私敏感的项目
llama.cpp
- 轻量级 C++ 推理引擎
- 支持量化模型,在消费级硬件上高效运行
- 完全开源
💵 廉价方案
OpenRouter
- 汇聚数百个模型,单一 API
- 支持 Claude、GPT、开源模型等
- 按 token 计费,通常便宜于官方 API
NVIDIA NIM
- 免费的 API 访问部分高性能模型
- 企业级性能和稳定性
- 需注册但无需付费
🔧 其他支持
DeepSeek、vLLM 等兼容 OpenAI API 的服务也都支持。
实际使用场景
场景 1:个人开发者的 AI 编程工具
git clone https://github.com/Alishahryar1/free-claude-code.git
cd free-claude-code
cp .env.example .env
# 配置 LM Studio(本地免费方案)
# .env 中设置:
# MODEL="lm-studio/local-model"
# ANTHROPIC_BASE_URL="http://localhost:8082"
# 启动代理服务器
uv run server.py
# 在另一个终端配置 Claude Code
export ANTHROPIC_BASE_URL="http://localhost:8082"
export ANTHROPIC_AUTH_TOKEN="freecc"
claude # 启动 Claude Code CLI
场景 2:团队的远程编码代理
通过 Discord 或 Telegram 集成,项目支持远程编码任务管理:
MESSAGING_PLATFORM=discord
DISCORD_BOT_TOKEN=your_bot_token
ALLOWED_DISCORD_CHANNELS=123456789
发送任务给 Discord 机器人,它在后台通过 Claude Code 执行,并返回实时进度。这对于远程团队协作特别有用。
场景 3:成本控制的企业应用
配置多个提供商的降级链:
MODEL_OPUS="expensive-provider/opus" # 复杂任务
MODEL_SONNET="cheap-provider/sonnet" # 常规任务
MODEL_HAIKU="free-provider/haiku" # 轻量任务
MODEL="local-llm/fallback" # 最后的降级方案
自动根据任务复杂度选择合适的模型,优化成本。
技术亮点
1. 架构设计清晰
项目代码结构一目了然:
free-claude-code/
├── server.py # FastAPI 入口
├── api/ # API 路由和业务逻辑
├── providers/ # 多提供商抽象层
├── messaging/ # Discord / Telegram 集成
├── core/ # 协议转换和工具类
├── config/ # 配置管理
└── tests/ # 测试套件
每个模块职责单一,易于扩展和维护。
2. 协议转换优雅
项目巧妙地处理了 Anthropic API 和 OpenAI API 之间的格式差异:
- Anthropic 的
thinking字段自动转换为 Claude 的思维模块(Thinking Blocks) - 消息格式、流式传输(SSE)、token 计数全部兼容
- 支持最新的
reasoning_content字段
3. 可扩展性强
添加新的 LLM 提供商只需继承 BaseProvider 抽象类:
class CustomProvider(BaseProvider):
def __init__(self, config):
self.config = config
async def send_message(self, messages, **kwargs):
# 实现你的逻辑
pass
支持添加新的消息平台(如 Slack、Email 等)也很简单。
4. 生产级别的稳定性
- 内置速率限制和指数退避重试机制
- 并发控制,防止提供商 API 被击穿
- 完整的日志和错误处理
- Pytest 测试套件
5. 开发工具完善
uv run ruff format # 代码格式化
uv run ruff check # 代码审查
uv run mypy check # 类型检查
uv run pytest # 运行测试
使用 uv 作为项目管理工具,安装依赖快速且可靠。
动手尝试
最快开始方式
# 1. 安装工具
uv self update
# 2. 克隆项目
git clone https://github.com/Alishahryar1/free-claude-code.git
cd free-claude-code
# 3. 配置环境
cp .env.example .env
# 编辑 .env,配置你选择的提供商 API 密钥
# 4. 启动服务
uv run uvicorn server:app --host 0.0.0.0 --port 8082
# 5. 配置 Claude Code
export ANTHROPIC_BASE_URL="http://localhost:8082"
export ANTHROPIC_AUTH_TOKEN="freecc"
# 6. 使用 Claude Code CLI
claude
不同提供商的配置
OpenRouter 方案(推荐新手):
OPENROUTER_API_KEY="sk-or-..."
MODEL="openrouter/anthropic/claude-sonnet-4"
本地 LM Studio(完全免费):
# LM Studio 需单独启动
# 项目中配置:
MODEL="lm-studio/model-name"
ANTHROPIC_BASE_URL="http://localhost:8082"
社区和生态
项目在 GitHub 上获得了 8900+ Stars 和 1600+ Forks,有活跃的开发者社区:
- 频繁的更新和 bug 修复
- 完善的 Issues 讨论和文档
- 贡献者持续添加新功能
最近的更新包括:
- Telegram 机器人集成
- Discord 语音消息支持
- 改进的思维块(Thinking Blocks)处理
值得关注的细节
环境变量管理
项目支持超过 10 个配置参数,但通过 .env 文件管理得井井有条:
# 基础配置
MODEL= # 默认模型
MODEL_OPUS= # Opus 级别
MODEL_SONNET= # Sonnet 级别
MODEL_HAIKU= # Haiku 级别
# 提供商密钥
OPENROUTER_API_KEY=
NVIDIA_NIM_API_KEY=
DEEPSEEK_API_KEY=
# 功能开关
ENABLE_THINKING=true # 启用思考块
ENABLE_CACHE=true # 启用缓存
PROVIDER_MAX_CONCURRENCY=10 # 并发限制
# 消息平台
MESSAGING_PLATFORM=discord
DISCORD_BOT_TOKEN=
使用 fcc-init 命令可以自动初始化配置:
uv tool install git+https://github.com/Alishahryar1/free-claude-code.git
fcc-init # 生成配置文件
性能优化
项目在性能上下了功夫:
- 本地缓存:重复的请求可以命中缓存
- 智能退避:遭遇 429 限流时智能重试
- 连接复用:HTTP 长连接提高吞吐量
- 流式传输:支持完整的 Server-Sent Events 流
潜在的限制和考虑
1. 质量取决于底层模型
如果使用免费或低成本的模型,代码质量可能不如官方 Claude Opus。但对于大多数日常任务,Sonnet 或高质量的开源模型已经足够。
2. 网络依赖
除非使用本地 LM Studio,否则仍然依赖外部 API 的网络连接。
3. 合规性
使用官方工具访问非官方 API 可能涉及服务条款的灰色地带。建议在个人或内部项目中使用,而非商业产品。
总结
free-claude-code 是一个精心设计的开源项目,它展示了如何通过巧妙的架构设计来打破商业工具的限制。它不仅提供了经济的解决方案,还为 Claude Code 的扩展和定制打开了大门。
推荐给以下人群:
- ✅ 想体验 Claude Code 但成本敏感的个人开发者
- ✅ 寻求 AI 编程工具的初创团队
- ✅ 需要灵活模型选择的企业
- ✅ 对开源架构设计感兴趣的开发者
- ✅ 需要本地化部署的隐私敏感项目
不太适合:
- ❌ 需要官方支持和 SLA 的生产环境
- ❌ 对模型质量要求极高的商业应用
- ❌ 完全离线的场景(除非用本地 LM Studio)
无论如何,这个项目值得关注。它不仅是一个实用工具,更是学习 API 代理设计、多提供商集成、异步流处理的优秀教材。
相关资源
- 项目地址:github.com/Alishahryar…
- 官方文档:项目 README 包含详细的配置和使用指南
- 讨论社区:GitHub Issues 有活跃的用户和开发者讨论
- 类似项目:openclaw(Discord 机器人方案)
你是否想尝试 free-claude-code?欢迎在评论区分享你的使用体验!