FreeLLMAPI – 开源 AI 模型聚合平台,统一OpenAI兼容格式
导读摘要:
FreeLLMAPI 是一个开源的 OpenAI 兼容代理服务,旨在将约 14 家 AI 服务商的免费额度聚合为单一 API 端点,每月总计提供约 13 亿 tokens 的免费推理额度。该项目基于 TypeScript/Express 构建,支持自动故障转移、智能路由、密钥加密和用量追踪等高级功能,专为个人开发者本地实验和原型验证场景设计。通过对外暴露标准的 `/v1/chat/completi...
1. FreeLLMAPI是什么
FreeLLMAPI 是一个开源的 OpenAI 兼容代理服务,旨在将约 14 家 AI 服务商的免费额度聚合为单一 API 端点,每月总计提供约 13 亿 tokens 的免费推理额度。该项目基于 TypeScript/Express 构建,支持自动故障转移、智能路由、密钥加密和用量追踪等高级功能,专为个人开发者本地实验和原型验证场景设计。通过对外暴露标准的 /v1/chat/completions 与 /v1/models 端点,FreeLLMAPI 能够无缝兼容官方 OpenAI SDK、LangChain、LlamaIndex 等主流客户端,用户仅需修改 base_url 即可接入。
技术定位与领域: FreeLLMAPI 属于 AI 基础设施层的 API 代理与聚合服务领域,专注于解决个人开发者在多平台免费额度管理和统一调用方面的痛点。其核心定位是提供一个轻量级、可本地部署的网关层,将分散的免费资源整合为标准化的服务接口。
研发背景: 该项目由开发者 Tashfeen Ahmed 创建并维护,主要动机来源于个人开发者在原型验证阶段面临的“免费额度分散、管理繁琐、接口不统一”等实际问题。项目采用 TypeScript/Express 技术栈,充分利用了 Node.js 生态的轻量性和高并发处理能力,同时结合 React/Vite 构建了直观的可视化管理界面。
核心价值: FreeLLMAPI 的核心价值在于大幅降低了个人开发者使用 AI 模型的门槛。通过聚合多家平台的免费额度,开发者无需为每个平台单独注册、管理密钥和编写适配代码,即可获得每月数十亿 tokens 的免费推理能力。此外,自动故障转移和智能路由机制显著提升了服务的可用性和稳定性。
技术特点: 项目采用 AES-256-GCM 对称加密算法保护上游 API 密钥,确保敏感信息在静态存储时的安全性。同时,智能速率与配额追踪系统能够针对每个 (平台, 模型, 密钥) 组合实时跟踪 RPM、RPD、TPM、TPD 用量,自动选择未超限的健康密钥,避免手动切换带来的繁琐操作。
2. 主要功能
OpenAI 兼容 API 代理: 对外暴露标准的
/v1/chat/completions与/v1/models端点,兼容官方 OpenAI SDK、LangChain、LlamaIndex 等客户端,用户仅需修改base_url即可无缝接入,无需修改现有代码逻辑。多提供商免费额度聚合: 同时接入 Google Gemini、Groq、Cerebras、SambaNova、NVIDIA NIM、Mistral、OpenRouter、GitHub Models、HuggingFace、Cohere、Cloudflare、智谱 Z.ai、Moonshot Kimi、MiniMax 等约 14 家平台,每月总计约 13 亿 tokens 免费推理额度,极大降低个人开发者的使用成本。
自动故障转移: 当首选提供商返回 429/5xx 状态码或请求超时时,系统自动将其置为冷却状态,并按预设优先级链尝试下一家提供商,最多重试 20 次,确保服务在单点故障时仍能持续运行。
智能速率与配额追踪: 针对每个 (平台, 模型, 密钥) 组合实时跟踪 RPM(每分钟请求数)、RPD(每天请求数)、TPM(每分钟 Token 数)、TPD(每天 Token 数)用量,始终调用未超限的健康密钥,避免因配额耗尽导致请求失败。
粘性会话锁定: 多轮对话在 30 分钟内锁定同一模型,防止因自动路由导致中途切换模型,从而引发输出质量跳变或上下文断裂问题,确保对话连贯性。
AES-256-GCM 密钥加密: 上游提供商的 API 密钥在 SQLite 数据库中采用 AES-256-GCM 对称加密算法静态存储,仅在发起请求前于内存中临时解密并立即清除,大幅降低密钥泄露风险。
统一认证令牌管理: 客户端使用单一的
freellmapi-…Bearer Token 访问代理,无需在代码中暴露多家上游真实密钥,简化密钥管理并提高安全性。SSE 流式输出: 完整支持
stream: true的 Server-Sent Events 流式返回,兼容长文本逐字生成场景,提供实时响应体验。工具调用(Function Calling): 支持 OpenAI 风格的
tools/tool_choice多轮工具调用流程,满足 Agent 开发需求,可集成外部工具和 API。可视化仪表盘与 Playground: 内置 React/Vite 管理后台,支持拖拽调整回退链优先级、在 Playground 中快速测试模型,并查看延迟、成功率、Token 用量等 24h/7d/30d 统计数据,方便运维监控。
3. 如何使用
环境要求: 项目基于 Node.js 运行,需要 Node.js 16+ 环境。支持 Windows、macOS 和 Linux 系统,空载仅约 40MB RSS,可在树莓派等 ARM 设备上运行。
克隆安装: 执行
git clone https://github.com/tashfeenahmed/freellmapi.git克隆项目,然后cd freellmapi进入目录,运行npm install安装依赖。配置密钥: 复制环境变量文件
cp .env.example .env,生成一个 32 字节的加密密钥用于 AES-256-GCM 加密。可以使用openssl rand -hex 32命令生成随机密钥。启动服务: 运行
npm run dev同时启动后端 API(默认端口:3001)和仪表盘(默认端口:5173)。后端 API 处理所有推理请求,仪表盘提供可视化管理界面。添加上游 Key: 在浏览器访问
http://localhost:5173,进入 Keys 页面,粘贴各平台(如 Google Gemini、Groq、Cerebras 等)的免费 API Key。系统会自动验证密钥有效性。调整回退链: 在 Fallback Chain 页面,通过拖拽方式设置提供商的优先级顺序。当首选提供商不可用时,系统会按此顺序自动切换。
获取统一 Token: 在管理面板中生成一个
freellmapi-…格式的单一 Bearer Token,该 Token 将作为客户端的统一认证凭据。SDK 调用: 在代码中修改
base_url="http://localhost:3001/v1",model参数设为"auto"或具体模型名,即可像调用 OpenAI API 一样使用 FreeLLMAPI。cURL 调用: 向
http://localhost:3001/v1/chat/completions发送标准 OpenAI 格式的 POST 请求,请求头包含Authorization: Bearer freellmapi-…。后台常驻: 通过 PM2 或 systemd 托管进程,可在树莓派等 ARM 设备上长期运行。建议使用
pm2 start npm --name "freellmapi" -- run dev命令实现进程守护。
4. 优缺点分析
| 优点 |
|---|
| 免费额度聚合: 聚合约 14 家平台的免费额度,每月总计约 13 亿 tokens,极大降低个人开发者的使用成本。 |
OpenAI 标准兼容: 对外暴露标准 /v1/chat/completions 端点,兼容主流 SDK 和框架,迁移成本极低。 |
| 智能故障转移: 自动检测提供商故障并切换,最多重试 20 次,保障服务可用性。 |
| 密钥安全加密: 采用 AES-256-GCM 对称加密算法保护上游 API 密钥,降低泄露风险。 |
| 轻量本地部署: 空载仅约 40MB RSS,可在树莓派等 ARM 设备运行,部署门槛极低。 |
5. 同类工具对比
| 对比维度 | FreeLLMAPI | LiteLLM |
|---|---|---|
| 核心架构 | TypeScript/Express + React/Vite | Python SDK + Proxy Server |
| 支持提供商 | 约 14 家免费平台(Gemini、Groq、Cerebras、GitHub Models、智谱等) | 100+ 家(OpenAI、Anthropic、Azure、Bedrock、Vertex AI 等) |
| 免费额度聚合 | 核心能力,月总计约 13 亿 tokens | 不支持自动聚合免费额度 |
| 自动故障转移 | ✅ 最多 20 次重试,冷却机制 | ✅ 支持重试、Fallback、负载均衡 |
| 密钥安全 | AES-256-GCM 静态加密 + 统一 Token | 依赖环境变量/配置文件,开源版无内置加密 |
| 可视化界面 | ✅ React 仪表盘 + Playground | ❌ 无图形界面(开源版) |
| 多租户支持 | ❌ 单用户本地运行 | ✅ 多团队、多 Key、预算隔离 |
| 部署难度 | 极低,npm run dev 一键启动 |
中等,需 Python/Docker/Helm 知识 |
| 社区规模 | 500+ Stars | 41.8k+ Stars |
选型建议: 对于个人开发者,尤其是预算有限、希望利用多家平台免费额度进行原型验证的场景,FreeLLMAPI 是最佳选择。其轻量部署、自动故障转移和统一 API 接口能够快速满足实验需求。对于企业级应用或需要支持大量付费模型(如 Azure、AWS Bedrock)的场景,LiteLLM 凭借其 100+ 提供商支持和多租户管理功能更具优势。对于国内团队,特别是需要对接文心、通义等国产模型并实现 Key 分发和计费管理的场景,One API 的中文界面和全面的国内模型覆盖使其成为首选。
6. 编辑点评
FreeLLMAPI 在 AI 基础设施层的创新性值得肯定。项目巧妙地将分散的免费 AI 资源整合为统一的标准化服务,解决了个人开发者在原型验证阶段面临的“免费额度管理繁琐、接口不统一”等核心痛点。从技术实现角度看,项目采用 TypeScript/Express 技术栈,充分利用了 Node.js 的事件驱动和非阻塞 I/O 特性,在高并发场景下表现出色。AES-256-GCM 加密算法的引入,为 API 密钥的静态存储提供了企业级的安全保障,这在同类开源项目中较为罕见。
在实用价值方面,每月约 13 亿 tokens 的免费推理额度,对于个人开发者而言几乎可以覆盖大部分实验性项目的需求。自动故障转移和智能速率追踪功能,显著提升了服务的可用性和稳定性,避免了因单一提供商故障或配额耗尽导致的请求失败。可视化仪表盘和 Playground 的加入,进一步降低了使用门槛,使得非技术用户也能快速上手。
适用人群方面,FreeLLMAPI 主要面向个人开发者、AI 爱好者、学生和研究人员,尤其是那些希望在不增加成本的前提下快速验证 AI 应用创意的用户。对于企业级场景,由于缺乏多租户支持和成本追踪功能,其适用性受到一定限制。
未来发展潜力方面,如果项目能够扩展提供商覆盖范围(特别是增加企业级付费平台)、引入多租户支持和更精细的成本管控功能,有望吸引更广泛的用户群体。此外,社区生态的建设(如增加更多文档、插件和扩展)也将是项目成长的关键。
7. 应用场景
个人开发者本地实验与原型验证: 项目明确面向个人学习与原型开发,将多家免费额度叠成单一本地 OpenAI 端点,无需付费即可快速验证 AI 应用创意,适合快速迭代开发周期。
多平台免费额度聚合调用: 同时接入 Gemini、Groq、Cerebras、GitHub Models、智谱等约 14 家平台的免费档,每月总计约 13 亿 tokens,适合需要大用量但预算有限的个人项目,如文本生成、代码补全、翻译等任务。
低功耗设备常驻代理: 空载仅约 40MB RSS,可在树莓派等 ARM 设备上通过 PM2/systemd 长期运行,作为家庭内网或边缘节点的轻量 AI 网关,为智能家居、个人助手等场景提供本地推理能力。
OpenAI 兼容接口学习: 对外暴露标准
/v1/chat/completions端点,适合学习或调试 OpenAI SDK、LangChain、LlamaIndex 等生态工具,仅需修改base_url即可切换,无需担心 API 费用。多模型快速对比测试: 通过统一接口和 Playground 仪表盘,可在同一环境下快速对比不同免费提供商的响应质量、延迟与输出风格,为模型选型提供数据支持。
8. 常见问题FAQ
Q:FreeLLMAPI 是否完全免费使用?
A:项目本身是开源免费的,但需要用户自行注册各平台的免费 API Key。FreeLLMAPI 本身不提供任何 API 额度,仅作为聚合代理将各平台的免费额度整合为统一接口。所有请求的 Token 消耗均从用户各自平台的免费额度中扣除。
Q:如何获取各平台的免费 API Key?
A:用户需要分别访问各平台官网注册账号并申请 API Key。支持的平台包括 Google Gemini、Groq、Cerebras、SambaNova、NVIDIA NIM、Mistral、OpenRouter、GitHub Models、HuggingFace、Cohere、Cloudflare、智谱 Z.ai、Moonshot Kimi、MiniMax 等。每个平台的免费额度政策不同,建议仔细阅读各平台的使用条款。
Q:FreeLLMAPI 是否支持自定义提供商?
A:目前项目内置了约 14 家平台的支持,但用户可以通过修改配置文件添加自定义提供商。需要提供提供商的 API 端点、模型列表和认证方式等信息。由于文档不够完善,自定义配置需要一定的技术能力。
Q:如何确保 API 密钥的安全性?
A:FreeLLMAPI 采用 AES-256-GCM 对称加密算法对上游 API 密钥进行静态加密存储。密钥在 SQLite 数据库中始终处于加密状态,仅在发起请求前于内存中临时解密并立即清除。此外,客户端使用统一的 freellmapi-… Bearer Token 访问代理,无需在代码中暴露真实密钥。
Q:FreeLLMAPI 是否支持流式输出和工具调用?
A:是的,FreeLLMAPI 完整支持 SSE 流式输出(stream: true)和 OpenAI 风格的 tools/tool_choice 多轮工具调用流程。流式输出适用于长文本逐字生成场景,工具调用则满足 Agent 开发需求,可集成外部工具和 API。
Q:FreeLLMAPI 能否用于生产环境?
A:由于缺乏多租户支持、成本追踪和企业级安全认证,FreeLLMAPI 更适合个人开发者的本地实验和原型验证场景。对于生产环境,建议使用 LiteLLM 或 One API 等更成熟的企业级解决方案。
9. 项目地址
- GitHub 仓库: https://github.com/tashfeenahmed/freellmapi
版权声明:本文部分内容由 AI 辅助生成并经人工校准,版权归本站所有,未经允许禁止任何形式的转载。




