标签 FreeLLMAPI 下的文章

FreeLLMAPI 的用法就 4 步:安装 → 加各家免费 Key → 拿统一 Token → 当 OpenAI 接口调

一、方式 A:Docker 一键(最省事)

curl -fsSL https://freellmapi.co/install.sh | bash

装完打开 http://localhost:3001

二、方式 B:Docker Compose(推荐常驻)

git clone https://github.com/tashfeenahmed/freellmapi.git
cd freellmapi
ENCRYPTION_KEY="$(openssl rand -hex 32)" printf "ENCRYPTION_KEY=%s\nPORT=3001\n" "$ENCRYPTION_KEY" >.env
docker compose up -d

浏览器进 http://localhost:3001Keys 页面 加 Google / Groq / Mistral / OpenRouter / 智谱 / Moonshot 等免费 Key → 页面顶部复制 freellmapi-xxxx 统一 Token。

想让同局域网其他设备访问:
HOST_BIND=0.0.0.0 docker compose up -d(只在自家信任网络这么干,别公网暴露)

三、方式 C:本机跑源码(Node 20+)

git clone https://github.com/tashfeenahmed/freellmapi.git
cd freellmapi
npm install
cp .env.example .env
echo "ENCRYPTION_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")" >> .env
npm run dev

四、怎么调(跟 OpenAI 一模一样)

from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:3001/v1",
    api_key="freellmapi-xxxx",   # 面板里拿的统一 Token
)

resp = client.chat.completions.create(
    model="auto",                # 自动选可用模型;也可写 gemini-2.5-flash / llama-3.3-70b-versatile
    messages=[{"role":"user","content":"用一句话解释乡愁"}],
)
print(resp.choices[0].message.content)
print("实际路由:", resp.headers.get("x-routed-via"))

curl 也行:

curl http://localhost:3001/v1/chat/completions \
  -H "Authorization: Bearer freellmapi-xxxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"auto","messages":[{"role":"user","content":"hi"}]}'

五、接编码工具

  • Claude Codenpx freellmapi setup-claude
  • Codex / Aider / 任意 OpenAI 兼容客户端

    export OPENAI_BASE_URL=http://localhost:3001/v1
    export OPENAI_API_KEY=freellmapi-xxxx

六、新手别踩的坑

  1. 加完 Key 等 1–2 分钟健康检查,别立马调,否则报“无可用模型”
  2. 它是单用户本机网关,不是多用户 SaaS,别直接挂公网
  3. 免费层会 429,靠 Fallback Chain 自动切换;别拿来做生产 SLA
  4. ENCRYPTION_KEY 别丢,丢了之前存的 provider Key 解不出来
  5. 本地模型也能加:Ollama / vLLM / LM Studio 填 http://host.docker.internal:11434/v1 当自定义 provider