free-claude-code-proxy

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

free-claude-code-proxy

free-claude-code-proxy

Skill by ara.so — Claude Code Skills collection.
Free Claude Code is a local proxy server that intercepts Anthropic Messages API calls from Claude Code and routes them to alternative providers like NVIDIA NIM, Kimi, Wafer, OpenRouter, DeepSeek, LM Studio, llama.cpp, Ollama, OpenCode Zen, or Z.ai. It maintains Claude Code's client-side protocol while letting you choose free, paid, or local models with full streaming, tool use, and reasoning block support.
ara.so开发的Skill — Claude Code Skills合集。
Free Claude Code是一个本地代理服务器,它拦截来自Claude Code的Anthropic Messages API请求,并将其路由至其他提供商,如NVIDIA NIM、Kimi、Wafer、OpenRouter、DeepSeek、LM Studio、llama.cpp、Ollama、OpenCode Zen或Z.ai。它保留了Claude Code的客户端协议,同时允许你选择免费、付费或本地模型,全面支持流式传输、工具调用和推理块功能。

Installation

安装

Prerequisites

前提条件

Install uv and Python 3.14:
bash
undefined
安装uv和Python 3.14:
bash
undefined

macOS/Linux

macOS/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh uv self update uv python install 3.14
curl -LsSf https://astral.sh/uv/install.sh | sh uv self update uv python install 3.14

Windows PowerShell

Windows PowerShell

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" uv self update uv python install 3.14
undefined
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" uv self update uv python install 3.14
undefined

Install Claude Code

安装Claude Code

bash
npm install -g @anthropic-ai/claude-code
bash
npm install -g @anthropic-ai/claude-code

Install Free Claude Code Proxy

安装Free Claude Code Proxy

bash
uv tool install --force git+https://github.com/Alishahryar1/free-claude-code.git
Update to latest version with the same command.
bash
uv tool install --force git+https://github.com/Alishahryar1/free-claude-code.git
使用相同命令更新至最新版本。

Starting the Proxy

启动代理

bash
fcc-server
Output shows:
Server URL: http://127.0.0.1:8082
Admin UI: http://127.0.0.1:8082/admin
The server runs on port
8082
by default (configurable via
PORT
env var).
bash
fcc-server
输出示例:
Server URL: http://127.0.0.1:8082
Admin UI: http://127.0.0.1:8082/admin
服务器默认运行在端口
8082
(可通过
PORT
环境变量配置)。

Admin UI Configuration

Admin UI配置

Open
http://127.0.0.1:8082/admin
in your browser to configure providers and models through a local web interface.
在浏览器中打开
http://127.0.0.1:8082/admin
,通过本地Web界面配置提供商和模型。

Quick Setup: NVIDIA NIM

快速设置:NVIDIA NIM

  1. Get API key from https://build.nvidia.com/settings/api-keys
  2. In Admin UI, paste into
    NVIDIA_NIM_API_KEY
  3. Click Validate then Apply
  4. Default
    MODEL
    is already set to
    nvidia_nim/z-ai/glm4.7
  1. https://build.nvidia.com/settings/api-keys获取API密钥
  2. 在Admin UI中,将密钥粘贴至
    NVIDIA_NIM_API_KEY
    字段
  3. 点击Validate(验证)然后Apply(应用)
  4. 默认
    MODEL
    已设置为
    nvidia_nim/z-ai/glm4.7

Environment Variables

环境变量

The Admin UI manages these settings (or set via
.env
file):
bash
undefined
Admin UI会管理这些设置(也可通过
.env
文件配置):
bash
undefined

Server config

服务器配置

PORT=8082 AUTH_TOKEN=freecc LOG_LEVEL=INFO
PORT=8082 AUTH_TOKEN=freecc LOG_LEVEL=INFO

Provider API keys (set one or more)

提供商API密钥(设置一个或多个)

NVIDIA_NIM_API_KEY=nvapi-xxx KIMI_API_KEY=sk-xxx WAFER_API_KEY=sk-xxx OPENROUTER_API_KEY=sk-xxx DEEPSEEK_API_KEY=sk-xxx OPENCODE_API_KEY=sk-xxx ZAI_API_KEY=sk-xxx
NVIDIA_NIM_API_KEY=nvapi-xxx KIMI_API_KEY=sk-xxx WAFER_API_KEY=sk-xxx OPENROUTER_API_KEY=sk-xxx DEEPSEEK_API_KEY=sk-xxx OPENCODE_API_KEY=sk-xxx ZAI_API_KEY=sk-xxx

Local provider URLs

本地提供商URL

LM_STUDIO_BASE_URL=http://localhost:1234 LLAMACPP_BASE_URL=http://localhost:8080 OLLAMA_BASE_URL=http://localhost:11434
LM_STUDIO_BASE_URL=http://localhost:1234 LLAMACPP_BASE_URL=http://localhost:8080 OLLAMA_BASE_URL=http://localhost:11434

Model routing (prefix with provider/)

模型路由(以提供商名称为前缀)

MODEL=nvidia_nim/z-ai/glm4.7 MODEL_OPUS=nvidia_nim/moonshotai/kimi-k2.5 MODEL_SONNET=open_router/deepseek/deepseek-r1-0528:free MODEL_HAIKU=lmstudio/unsloth/GLM-4.7-Flash-GGUF
undefined
MODEL=nvidia_nim/z-ai/glm4.7 MODEL_OPUS=nvidia_nim/moonshotai/kimi-k2.5 MODEL_SONNET=open_router/deepseek/deepseek-r1-0528:free MODEL_HAIKU=lmstudio/unsloth/GLM-4.7-Flash-GGUF
undefined

Provider Configuration

提供商配置

NVIDIA NIM

NVIDIA NIM

bash
undefined
bash
undefined

In Admin UI or .env

在Admin UI或.env中配置

NVIDIA_NIM_API_KEY=nvapi-your-key-here MODEL=nvidia_nim/z-ai/glm4.7

Popular models:
- `nvidia_nim/z-ai/glm4.7`
- `nvidia_nim/z-ai/glm5`
- `nvidia_nim/moonshotai/kimi-k2.5`
- `nvidia_nim/minimaxai/minimax-m2.5`
NVIDIA_NIM_API_KEY=nvapi-your-key-here MODEL=nvidia_nim/z-ai/glm4.7

热门模型:
- `nvidia_nim/z-ai/glm4.7`
- `nvidia_nim/z-ai/glm5`
- `nvidia_nim/moonshotai/kimi-k2.5`
- `nvidia_nim/minimaxai/minimax-m2.5`

Kimi

Kimi

bash
KIMI_API_KEY=sk-your-key-here
MODEL=kimi/kimi-k2.5
bash
KIMI_API_KEY=sk-your-key-here
MODEL=kimi/kimi-k2.5

Wafer

Wafer

bash
WAFER_API_KEY=sk-your-key-here
MODEL=wafer/DeepSeek-V4-Pro
Popular models:
  • wafer/DeepSeek-V4-Pro
  • wafer/MiniMax-M2.7
  • wafer/Qwen3.5-397B-A17B
  • wafer/GLM-5.1
bash
WAFER_API_KEY=sk-your-key-here
MODEL=wafer/DeepSeek-V4-Pro
热门模型:
  • wafer/DeepSeek-V4-Pro
  • wafer/MiniMax-M2.7
  • wafer/Qwen3.5-397B-A17B
  • wafer/GLM-5.1

OpenRouter

OpenRouter

bash
OPENROUTER_API_KEY=sk-your-key-here
MODEL=open_router/stepfun/step-3.5-flash:free
bash
OPENROUTER_API_KEY=sk-your-key-here
MODEL=open_router/stepfun/step-3.5-flash:free

DeepSeek

DeepSeek

bash
DEEPSEEK_API_KEY=sk-your-key-here
MODEL=deepseek/deepseek-chat
Uses Anthropic-compatible endpoint, not OpenAI chat completions.
bash
DEEPSEEK_API_KEY=sk-your-key-here
MODEL=deepseek/deepseek-chat
使用与Anthropic兼容的端点,而非OpenAI聊天补全端点。

LM Studio

LM Studio

bash
LM_STUDIO_BASE_URL=http://localhost:1234
MODEL=lmstudio/your-model-name
Start LM Studio server and load a model with tool-use support.
bash
LM_STUDIO_BASE_URL=http://localhost:1234
MODEL=lmstudio/your-model-name
启动LM Studio服务器并加载支持工具调用的模型。

llama.cpp

llama.cpp

bash
LLAMACPP_BASE_URL=http://localhost:8080
MODEL=llamacpp/your-model
Start
llama-server
with sufficient context:
bash
llama-server --model model.gguf --ctx-size 32768 --port 8080
bash
LLAMACPP_BASE_URL=http://localhost:8080
MODEL=llamacpp/your-model
启动
llama-server
并设置足够的上下文长度:
bash
llama-server --model model.gguf --ctx-size 32768 --port 8080

Ollama

Ollama

bash
OLLAMA_BASE_URL=http://localhost:11434
MODEL=ollama/llama3.1
Pull and serve model:
bash
ollama pull llama3.1
ollama serve
bash
OLLAMA_BASE_URL=http://localhost:11434
MODEL=ollama/llama3.1
拉取并运行模型:
bash
ollama pull llama3.1
ollama serve

OpenCode Zen

OpenCode Zen

bash
OPENCODE_API_KEY=sk-your-key-here
MODEL=opencode/gpt-5.3-codex
Popular models:
  • opencode/gpt-5.3-codex
  • opencode/claude-sonnet-4
  • opencode/deepseek-v4-flash-free
    (free)
  • opencode/big-pickle
    (free)
bash
OPENCODE_API_KEY=sk-your-key-here
MODEL=opencode/gpt-5.3-codex
热门模型:
  • opencode/gpt-5.3-codex
  • opencode/claude-sonnet-4
  • opencode/deepseek-v4-flash-free
    (免费)
  • opencode/big-pickle
    (免费)

Z.ai

Z.ai

bash
ZAI_API_KEY=sk-your-key-here
MODEL=zai/glm-5.1
Models:
  • zai/glm-5.1
  • zai/glm-5-turbo
bash
ZAI_API_KEY=sk-your-key-here
MODEL=zai/glm-5.1
模型列表:
  • zai/glm-5.1
  • zai/glm-5-turbo

Connecting Claude Code Clients

连接Claude Code客户端

CLI (Recommended)

CLI(推荐方式)

bash
fcc-claude
This launcher:
  • Reads current port and auth token from Admin UI config
  • Sets
    ANTHROPIC_BASE_URL
    and
    ANTHROPIC_AUTH_TOKEN
  • Launches the real
    claude
    command
Keep
fcc-server
running in another terminal.
bash
fcc-claude
该启动器会:
  • 从Admin UI配置中读取当前端口和认证令牌
  • 设置
    ANTHROPIC_BASE_URL
    ANTHROPIC_AUTH_TOKEN
    环境变量
  • 启动原生
    claude
    命令
请在另一个终端保持
fcc-server
运行。

Manual CLI Setup

手动CLI设置

bash
export ANTHROPIC_BASE_URL=http://localhost:8082
export ANTHROPIC_AUTH_TOKEN=freecc
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
claude
bash
export ANTHROPIC_BASE_URL=http://localhost:8082
export ANTHROPIC_AUTH_TOKEN=freecc
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
claude

VS Code Extension

VS Code扩展

Open Settings → search
claude-code.environmentVariables
→ Edit in
settings.json
:
json
{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "http://localhost:8082" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "freecc" },
    { "name": "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY", "value": "1" }
  ]
}
Reload VS Code window.
打开设置 → 搜索
claude-code.environmentVariables
→ 在
settings.json
中编辑:
json
{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "http://localhost:8082" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "freecc" },
    { "name": "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY", "value": "1" }
  ]
}
重新加载VS Code窗口。

JetBrains ACP

JetBrains ACP

Edit installed ACP config:
  • Windows:
    C:\Users\%USERNAME%\AppData\Roaming\JetBrains\acp-agents\installed.json
  • Linux/macOS:
    ~/.jetbrains/acp.json
Add environment to
acp.registry.claude-acp
:
json
{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:8082",
    "ANTHROPIC_AUTH_TOKEN": "freecc",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
  }
}
Restart IDE.
编辑已安装的ACP配置文件:
  • Windows:
    C:\Users\%USERNAME%\AppData\Roaming\JetBrains\acp-agents\installed.json
  • Linux/macOS:
    ~/.jetbrains/acp.json
acp.registry.claude-acp
中添加环境变量:
json
{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:8082",
    "ANTHROPIC_AUTH_TOKEN": "freecc",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
  }
}
重启IDE。

Per-Tier Model Routing

按模型层级路由

Route different Claude Code model tiers to different providers:
bash
undefined
将不同Claude Code模型层级路由至不同提供商:
bash
undefined

Fallback

兜底模型

MODEL=zai/glm-5.1
MODEL=zai/glm-5.1

Override specific tiers

覆盖特定层级

MODEL_OPUS=nvidia_nim/moonshotai/kimi-k2.5 MODEL_SONNET=open_router/deepseek/deepseek-r1-0528:free MODEL_HAIKU=lmstudio/unsloth/GLM-4.7-Flash-GGUF

Leave tier blank to inherit from `MODEL`.
MODEL_OPUS=nvidia_nim/moonshotai/kimi-k2.5 MODEL_SONNET=open_router/deepseek/deepseek-r1-0528:free MODEL_HAIKU=lmstudio/unsloth/GLM-4.7-Flash-GGUF

若层级留空,则继承`MODEL`的设置。

Model Picker Support

模型选择器支持

With
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
, Claude Code's
/model
picker shows models from the proxy's
/v1/models
endpoint.
The proxy returns configured models based on:
  • Single provider: lists that provider's models
  • Multiple providers: shows models from all configured providers
  • Blank
    MODEL
    : returns empty list
Example: If you configure
nvidia_nim
and
open_router
, the picker shows models from both.
设置
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
后,Claude Code的
/model
选择器会显示代理
/v1/models
端点返回的模型。
代理会根据以下情况返回配置的模型:
  • 单一提供商:列出该提供商的所有模型
  • 多个提供商:显示所有已配置提供商的模型
  • MODEL
    为空:返回空列表
示例:若你配置了
nvidia_nim
open_router
,选择器会显示这两个提供商的所有模型。

Code Examples

代码示例

Python: Direct Proxy Request

Python:直接向代理发送请求

python
import os
import requests

url = "http://localhost:8082/v1/messages"
headers = {
    "x-api-key": os.getenv("AUTH_TOKEN", "freecc"),
    "anthropic-version": "2023-06-01",
    "content-type": "application/json"
}
payload = {
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Write a Python hello world"}
    ]
}

response = requests.post(url, json=payload, headers=headers, stream=True)
for line in response.iter_lines():
    if line:
        print(line.decode())
python
import os
import requests

url = "http://localhost:8082/v1/messages"
headers = {
    "x-api-key": os.getenv("AUTH_TOKEN", "freecc"),
    "anthropic-version": "2023-06-01",
    "content-type": "application/json"
}
payload = {
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Write a Python hello world"}
    ]
}

response = requests.post(url, json=payload, headers=headers, stream=True)
for line in response.iter_lines():
    if line:
        print(line.decode())

Python: Check Available Models

Python:查看可用模型

python
import requests

response = requests.get(
    "http://localhost:8082/v1/models",
    headers={"x-api-key": "freecc"}
)
models = response.json()
for model in models.get("data", []):
    print(f"{model['id']}: {model['name']}")
python
import requests

response = requests.get(
    "http://localhost:8082/v1/models",
    headers={"x-api-key": "freecc"}
)
models = response.json()
for model in models.get("data", []):
    print(f"{model['id']}: {model['name']}")

Shell: Test Proxy Streaming

Shell:测试代理流式传输

bash
curl -N http://localhost:8082/v1/messages \
  -H "x-api-key: freecc" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}],
    "stream": true
  }'
bash
curl -N http://localhost:8082/v1/messages \
  -H "x-api-key: freecc" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}],
    "stream": true
  }'

JavaScript: Use Proxy in Custom Client

JavaScript:在自定义客户端中使用代理

javascript
const response = await fetch('http://localhost:8082/v1/messages', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.AUTH_TOKEN || 'freecc',
    'anthropic-version': '2023-06-01',
    'content-type': 'application/json'
  },
  body: JSON.stringify({
    model: 'claude-3-5-sonnet-20241022',
    max_tokens: 1024,
    messages: [{role: 'user', content: 'Explain async/await'}]
  })
});

const data = await response.json();
console.log(data.content[0].text);
javascript
const response = await fetch('http://localhost:8082/v1/messages', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.AUTH_TOKEN || 'freecc',
    'anthropic-version': '2023-06-01',
    'content-type': 'application/json'
  },
  body: JSON.stringify({
    model: 'claude-3-5-sonnet-20241022',
    max_tokens: 1024,
    messages: [{role: 'user', content: 'Explain async/await'}]
  })
});

const data = await response.json();
console.log(data.content[0].text);

Common Workflows

常见工作流

Switch Between Providers

切换提供商

  1. Open Admin UI:
    http://localhost:8082/admin
  2. Update API key for new provider
  3. Change
    MODEL
    to new provider prefix (e.g.,
    kimi/kimi-k2.5
    )
  4. Click Validate then Apply
  5. Proxy restarts automatically
No need to restart
fcc-claude
— it reads config on each launch.
  1. 打开Admin UI:
    http://localhost:8082/admin
  2. 更新新提供商的API密钥
  3. MODEL
    改为新提供商的前缀(例如
    kimi/kimi-k2.5
  4. 点击Validate然后Apply
  5. 代理会自动重启
无需重启
fcc-claude
——它会在每次启动时读取最新配置。

Use Local Model with Tool Support

使用支持工具调用的本地模型

bash
undefined
bash
undefined

Start LM Studio with a tool-capable model

启动LM Studio并加载支持工具调用的模型

In Admin UI:

在Admin UI中配置:

LM_STUDIO_BASE_URL=http://localhost:1234 MODEL=lmstudio/deepseek-coder-6.7b-instruct
LM_STUDIO_BASE_URL=http://localhost:1234 MODEL=lmstudio/deepseek-coder-6.7b-instruct

Or for llama.cpp:

或者使用llama.cpp:

llama-server --model deepseek-coder-6.7b-instruct.Q4_K_M.gguf
--ctx-size 16384 --port 8080
LLAMACPP_BASE_URL=http://localhost:8080 MODEL=llamacpp/deepseek-coder-6.7b-instruct
undefined
llama-server --model deepseek-coder-6.7b-instruct.Q4_K_M.gguf
--ctx-size 16384 --port 8080
LLAMACPP_BASE_URL=http://localhost:8080 MODEL=llamacpp/deepseek-coder-6.7b-instruct
undefined

Mix Free and Paid Models

混合使用免费和付费模型

bash
undefined
bash
undefined

Free tier for Haiku

Haiku层级使用免费模型

MODEL_HAIKU=open_router/deepseek/deepseek-r1-0528:free
MODEL_HAIKU=open_router/deepseek/deepseek-r1-0528:free

Paid NVIDIA NIM for Opus

Opus层级使用付费NVIDIA NIM模型

MODEL_OPUS=nvidia_nim/moonshotai/kimi-k2.5
MODEL_OPUS=nvidia_nim/moonshotai/kimi-k2.5

Fallback to free OpenCode

兜底使用免费OpenCode模型

MODEL=opencode/big-pickle
undefined
MODEL=opencode/big-pickle
undefined

Debug Proxy Requests

调试代理请求

Set log level in Admin UI or
.env
:
bash
LOG_LEVEL=DEBUG
Restart proxy to see full request/response logs.
在Admin UI或
.env
中设置日志级别:
bash
LOG_LEVEL=DEBUG
重启代理后即可查看完整的请求/响应日志。

Troubleshooting

故障排除

Proxy returns 401 Unauthorized

代理返回401 Unauthorized(未授权)

  • Check
    AUTH_TOKEN
    matches in proxy and client
  • Verify
    ANTHROPIC_AUTH_TOKEN
    env var in Claude Code client
  • Admin UI shows current
    AUTH_TOKEN
    value
  • 检查代理和客户端的
    AUTH_TOKEN
    是否一致
  • 验证Claude Code客户端中的
    ANTHROPIC_AUTH_TOKEN
    环境变量
  • Admin UI会显示当前的
    AUTH_TOKEN

Claude Code says "Invalid API key"

Claude Code提示"Invalid API key"(无效API密钥)

  • Ensure provider API key is set correctly in Admin UI
  • Click Validate to test the key
  • Check provider dashboard for key status
  • 确保提供商API密钥在Admin UI中设置正确
  • 点击Validate测试密钥有效性
  • 检查提供商控制台中的密钥状态

Local model returns HTTP 400

本地模型返回HTTP 400错误

For llama.cpp/LM Studio:
  • Increase
    --ctx-size
    for llama.cpp
  • Verify model supports tool use
  • Check server logs for context length errors
  • Try a smaller conversation history
对于llama.cpp/LM Studio:
  • 增大llama.cpp的
    --ctx-size
    参数
  • 验证模型是否支持工具调用
  • 查看服务器日志中的上下文长度错误
  • 尝试缩短对话历史

Model picker shows no models

模型选择器无模型显示

  • Verify
    CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
    is set
  • Check that at least one provider is configured with valid credentials
  • Visit
    http://localhost:8082/v1/models
    to see raw response
  • 确认已设置
    CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
  • 检查至少有一个提供商配置了有效凭证
  • 访问
    http://localhost:8082/v1/models
    查看原始响应

VS Code extension doesn't use proxy

VS Code扩展未使用代理

  • Reload VS Code window after changing
    settings.json
  • Check Output panel → Claude Code for environment variable logs
  • Verify
    claudeCode.environmentVariables
    syntax is correct JSON array
  • 修改
    settings.json
    后重新加载VS Code窗口
  • 查看输出面板 → Claude Code中的环境变量日志
  • 验证
    claudeCode.environmentVariables
    的JSON数组语法是否正确

Admin UI changes don't apply

Admin UI更改未生效

  • Click Apply after Validate
  • Proxy auto-restarts on runtime setting changes
  • Check terminal for restart confirmation message
  • 点击Validate后再点击Apply
  • 代理会在运行时设置更改后自动重启
  • 查看终端中的重启确认消息

Port 8082 already in use

端口8082已被占用

Change port in Admin UI or
.env
:
bash
PORT=8083
Restart proxy and update client
ANTHROPIC_BASE_URL
accordingly.
在Admin UI或
.env
中修改端口:
bash
PORT=8083
重启代理并相应更新客户端的
ANTHROPIC_BASE_URL

llama.cpp/Ollama not found

无法连接llama.cpp/Ollama

  • Verify server is running:
    curl http://localhost:8080/health
    (llama.cpp) or
    curl http://localhost:11434
    (Ollama)
  • Check
    *_BASE_URL
    doesn't include
    /v1
    suffix for Ollama
  • Ensure firewall allows localhost connections
  • 验证服务器是否运行:
    curl http://localhost:8080/health
    (llama.cpp)或
    curl http://localhost:11434
    (Ollama)
  • 检查Ollama的
    *_BASE_URL
    是否包含
    /v1
    后缀
  • 确保防火墙允许本地连接

Advanced Features

高级功能

Discord Bot Integration

Discord机器人集成

bash
undefined
bash
undefined

In Admin UI or .env

在Admin UI或.env中配置

MESSAGING_PLATFORM=discord DISCORD_BOT_TOKEN=your-bot-token ALLOWED_DISCORD_CHANNELS=123456789,987654321 CLAUDE_WORKSPACE=./agent_workspace

Start bot:
```bash
fcc-bot
MESSAGING_PLATFORM=discord DISCORD_BOT_TOKEN=your-bot-token ALLOWED_DISCORD_CHANNELS=123456789,987654321 CLAUDE_WORKSPACE=./agent_workspace

启动机器人:
```bash
fcc-bot

Voice Transcription

语音转录

bash
undefined
bash
undefined

Local Whisper

使用本地Whisper

VOICE_PROVIDER=whisper WHISPER_MODEL=base
VOICE_PROVIDER=whisper WHISPER_MODEL=base

Or NVIDIA NIM

或者使用NVIDIA NIM

VOICE_PROVIDER=nvidia_nim NVIDIA_NIM_API_KEY=nvapi-xxx
undefined
VOICE_PROVIDER=nvidia_nim NVIDIA_NIM_API_KEY=nvapi-xxx
undefined

Health Check Endpoint

健康检查端点

bash
curl http://localhost:8082/health
Returns proxy status and configured provider.
bash
curl http://localhost:8082/health
返回代理状态和已配置的提供商信息。

Request Optimization

请求优化

The proxy automatically:
  • Strips unsupported parameters for local models
  • Converts thinking blocks for providers without native support
  • Handles streaming SSE format differences
  • Retries with fallback models on provider errors
代理会自动执行以下优化:
  • 为本地模型移除不支持的参数
  • 为不原生支持推理块的提供商转换推理块格式
  • 处理流式SSE格式差异
  • 提供商出错时自动重试并使用兜底模型

Development

开发

Clone and install for development:
bash
git clone https://github.com/Alishahryar1/free-claude-code.git
cd free-claude-code
uv sync
uv run pytest
Run from source:
bash
uv run fcc-server
The project uses:
  • uv
    for dependency management
  • pytest
    for testing
  • ruff
    for linting/formatting
  • loguru
    for logging
  • ty
    for type checking
克隆项目并安装开发依赖:
bash
git clone https://github.com/Alishahryar1/free-claude-code.git
cd free-claude-code
uv sync
uv run pytest
从源码运行:
bash
uv run fcc-server
项目使用的工具:
  • uv
    :依赖管理
  • pytest
    :测试框架
  • ruff
    :代码检查/格式化
  • loguru
    :日志工具
  • ty
    :类型检查