FreeLLM API

tashfeenahmed/freellmapi 访问 GitHub ↗
🔤 TypeScript ★ 19771 ⑂ 0 daily #15 (+174) 抓取 2026-08-25

一句话简介

基于 TypeScript 构建的开源大语言模型 API 聚合工具,集成多种免费 LLM 接口,为开发者提供统一调用入口。

标签

  • TypeScript
  • LLM
  • API网关
  • 多模型集成
  • 免费AI

适用应用场景

  • 通过统一接口调用多个免费大语言模型
  • 快速搭建 AI 对话与文本生成应用
  • 对比测试不同 LLM 的输出效果
  • 作为后端服务为前端应用提供 AI 能力

README 中文摘要

项目动机

几乎所有主流 AI 实验室都开放了免费额度(每月数百万tokens 或每日数千请求),单看每个额度都微不足道,但叠加起来可达到每月约 74 亿 tokens 的可用推理容量,覆盖 474 个模型家族 / 635 个端点。问题在于手动拼接这些额度极其繁琐——需要面对 34 套不同的 SDK、限流规则和失败模式。FreeLLMAPI 将这些统一为一个兼容 OpenAI 的端点,任何 OpenAI 客户端只需指向本地服务器,路由器便会在用户已配置密钥的提供商之间透明调度。

免费额度的格局每周都在变化:新模型上线、旧模型下线、限额随时调整。路由器会从官方签名源自动拉取最新模型目录,免去手动 git pull

支持的提供商

内置覆盖 34 个免费提供商,主要包含:Google、Groq、Cerebras、OpenCode Zen、Mistral、OpenRouter、Cloudflare、Cohere、Z.ai(智谱)、NVIDIA、HuggingFace、ModelScope(通义千问、DeepSeek、GLM 等)。

另提供 自定义提供商:可指向任意 OpenAI 兼容端点(llama.cpp、LM Studio、vLLM、本地 Ollama 或远程网关),支持聊天、嵌入、图像、音频模型。

完整列表及每个模型的速率限制、上下文窗口、免费tokens配额见 freellmapi.co/models

兼容的 CLI 与编程代理

支持 Claude Code、Codex CLI、Gemini CLI、Aider、Cline、Roo Code、Continue、OpenCode、Goose、Qwen Code、Kilo Code、Crush、Cursor、Zed、JetBrains AI、DeepSeek Harness 等十余种工具,每个都有自动化配置脚本:

npx freellmapi setup-claude --url http://localhost:3001 --api-key <unified-key>

每个生成器都支持 --dry-run,会先做带时间戳的备份再合并配置。freellmapi launchfreellmapi launch-codex 是零持久化启动器,凭证只在子进程中注入。Zed 和 JetBrains 通过 Ollama 仿真接入;Gemini CLI 使用原生 /v1beta 协议。

核心特性

  • 完整的 OpenAI 兼容接口/v1/chat/completions/v1/responses/v1/completions/v1/images/generations/v1/videos/generations/v1/audio/speech/v1/audio/transcriptions/v1/embeddings/v1/models,支持流式与非流式。
  • Anthropic Messages API/v1/messages 使用 Anthropic 线缆格式,Claude Code 与官方 Anthropic SDK 可直连免费池。
  • 原生 Gemini / Ollama 表面:Gemini CLI 使用 /v1beta;可选的 Ollama 仿真为 Zed、JetBrains 等提供 NDJSON 聊天与嵌入。
  • Fusion 多模型合成:请求虚拟 fusion 模型时,路由器并行向多个不同模型分发提示,由评审模型综合出一个答案。
  • 图像、视频与语音生成:媒体模型跨提供商路由,输出标准化的 MP4 与音频。
  • 工具调用与结构化输出:OpenAI 风格 tools 跨提供商传递,文本式工具调用被挽救为真实 tool_calls
  • 六种智能路由策略:基于实时速度/能力/可靠性评分自动排序,遇到 429/5xx 自动切换下一个模型,配合冷却与密钥轮换。
  • 统一模型与配置:同一模型在多个提供商下合并为单一入口;命名回退链配置(如编程链、视觉链)可在仪表盘或通过 auto:<profile> 切换。
  • 按密钥限流追踪:每 (平台, 模型, 密钥) 维护 RPM/RPD/TPM/TPD 计数器,自动学习提供商声明的上限。
  • 自更新模型目录:每天两次从官方源拉取签名目录,应用新模型、配额变更与兼容性修复。免费版使用月度快照(新模型延迟 30 天),付费版实时同步。
  • 粘性会话与上下文交接:对话在同一模型上保持 30 分钟;中途切换时附带压缩交接注释以保持连贯。
  • 可选 Prompt 压缩:请求前自动去重、过滤工具输出、压缩重复 JSON、清理过期上下文。
  • 加密密钥:提供商密钥在 SQLite 中以 AES-256-GCM 加密,应用只见统一 freellmapi-… 令牌。
  • 管理仪表盘与分析:React UI 管理密钥、回退链、Playground;提供 p50/p95/TTFT 分析,支持 60 种语言。
  • MCP 服务器与 OpenAPI 文档:代理可在 /mcp 自省可用模型与路由策略;/v1/docs 提供零依赖 OpenAPI 查看器。

快速开始

一键安装脚本(依赖 Docker):

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

脚本会在 ~/freellmapi 创建配置,生成加密密钥并启动容器。访问 http://localhost:3001,在 Keys 页添加提供商密钥、调整 Fallback Chain 顺序,并从页面头部获取统一 API Key。Windows 推荐使用 Releases 中的 .exe 安装包。

API 使用示例

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:3001/v1",
    api_key="freellmapi-your-unified-key",
)

resp = client.chat.completions.create(
    model="auto",  # 由路由器挑选;也可写 "auto:fast" / "auto:smart" / 配置名 / 模型 ID
    messages=[{"role": "user", "content": "一句话概括罗马的衰亡。"}],
)
print(resp.choices[0].message.content)

每个响应都带有 X-Routed-Via: <platform>/<model> 头,指明实际服务的提供商。

摘要更新于 2026-08-25 00:31:41 · 原文 52788 字符 · md5 9850d508795b…