simple-one-api

GitHub
2.3k 194 简单 1 次阅读 今天MIT语言模型插件
AI 解读 由 AI 自动生成,仅供参考

simple-one-api 是一款专为简化大模型接入而设计的轻量级适配工具。它能够将讯飞星火、百度千帆、腾讯混元、MiniMax、DeepSeek 等众多国产及国际大模型接口,统一转换为标准的 OpenAI API 格式。

当前市场上虽然免费的大模型资源丰富,但各厂商接口标准不一,即便宣称兼容 OpenAI,实际调用时仍存在细节差异;同时,现有的聚合方案往往功能过于复杂,包含计费、流量统计等对个人用户冗余的功能。simple-one-api 正是为了解决这些痛点而生:它屏蔽了不同平台间的接口差异,去除了复杂的运营功能,让用户只需关注模型调用本身。

该工具特别适合开发者、研究人员以及希望快速体验多种大模型能力的技术爱好者。其核心亮点在于极致的简洁与高效:整个程序仅由一个可执行文件构成,无需复杂的环境依赖,配置简单,支持一键部署与开箱即用。通过 simple-one-api,用户可以轻松构建统一的应用后端,灵活切换底层模型,大幅降低了多模型集成的开发成本与维护难度。

使用场景

一位独立开发者正在构建一个面向国内用户的智能客服机器人,需要同时利用百度、讯飞和腾讯等多家厂商的免费大模型能力以降低成本并提高响应稳定性。

没有 simple-one-api 时

  • 接口适配繁琐:每家厂商(如千帆、星火、混元)的 API 鉴权方式、请求参数格式各不相同,开发者需编写多套适配代码,维护成本极高。
  • 隐藏兼容陷阱:即使部分厂商宣称“兼容 OpenAI 接口”,实际调用中仍存在细微差异,导致程序频繁报错,调试耗时耗力。
  • 功能过度冗余:现有的聚合方案(如 one-api)包含复杂的计费、流量统计等功能,对于仅需调用免费接口的个人开发者而言过于笨重且配置复杂。
  • 部署门槛高:通常需要依赖 Docker 或复杂的环境配置才能运行,难以在本地或小型服务器上快速启动验证。

使用 simple-one-api 后

  • 统一标准接入:simple-one-api 将各家异构接口统一转换为标准的 OpenAI 格式,开发者只需编写一套代码即可无缝切换百度、讯飞、腾讯等后端模型。
  • 抹平差异细节:工具内部自动处理了各厂商特有的参数差异和鉴权逻辑,彻底消除了因“伪兼容”导致的运行时错误,让调用稳如磐石。
  • 轻量化零负担:摒弃了计费和统计等冗余功能,仅提供纯粹的接口转发,单个可执行文件即可运行,完美契合个人项目对轻量级的需求。
  • 一键开箱即用:无需安装 Docker 或配置复杂环境,下载二进制文件修改简单配置即可启动,几分钟内即可完成从本地测试到服务部署的全流程。

simple-one-api 通过极简的单文件架构抹平了国产大模型的接口鸿沟,让开发者能专注于业务逻辑而非繁琐的底层适配。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes本项目基于 Go 语言开发,无需 GPU 或 Python 环境。主要依赖为 Go 1.21 及以上版本。支持直接下载预编译的可执行文件或通过源码编译(提供 quick_build.sh/bat 和 build.sh 脚本)。运行时需要配置 config.json 文件以接入各大模型厂商的 API Key。支持 Docker 部署。
python未说明
Go 1.21+
simple-one-api hero image

快速开始

中文 | English

Powered by DartNode

simple-one-api:通过标准的 OpenAI API 格式访问的各种国产大模型,开箱即用

简介

目前市面上免费的使用国产的免费大模型越来越多,one-api对于个人用起来还是有点麻烦,就想要一个不要统计、流量、计费等等的适配程序即可。

还有一点是:即使有些厂商说兼容openai的接口,但是实际上还是存在些许差异的!!!

simple-one-api主要是解决以上2点,旨在兼容多种大模型接口,并统一对外提供 OpenAI 接口。通过该项目,用户可以方便地集成和调用多种大模型,简化了不同平台接口差异带来的复杂性。

免费大模型列表

大模型 免费版本 免费限制 控制台(api_key等) 文档地址
讯飞星火大模型 spark-lite tokens:总量无限
QPS:2
有效期:不限
访问链接 文档查看
百度千帆大模型平台 yi_34b_chat, ERNIE-Speed-8K, ERNIE-Speed-128K, ERNIE-Lite-8K, ERNIE-Lite-8K-0922, ERNIE-Tiny-8K Lite、Speed-8K:RPM = 300,TPM = 300000
Speed-128K:RPM = 60,TPM = 300000
访问链接 文档查看
腾讯混元大模型 hunyuan-lite 限制并发数为 5 路 访问链接 链接
Cloudflare Workers AI 所有模型 免费可以每天使用1万次,一个月可以30万次;测试版本本的模型无限制 访问链接 文档查看
字节扣子(coze.cn) 豆包·Function call模型(32K)、通义千问-Max(8K)、MiniMax 6.5s(245K)、Moonshot(8K)、Moonshot(32K)、Moonshot(128K) 当前扣子 API 免费供开发者使用,每个空间的 API 请求限额如下:QPS (每秒发送的请求数):2
QPM (每分钟发送的请求数):60
QPD (每天发送的请求数):3000
访问链接 文档查看
字节火山方舟 doubao系列、Moonshot系列等 2024年5月15日至8月30日期间,为您提供一次独特的机会,即高达5亿tokens的免费权益。 访问链接 文档查看
Llama Family "Atom-13B-Chat","Atom-7B-Chat","Atom-1B-Chat","Llama3-Chinese-8B-Instruct" 1.每天 8-22 点:接口限速每分钟 20 次并发
2.每天 22-次日 8 点:接口限速每分钟 50 次并发
访问链接 文档查看
groq gemma-7b-it、mixtral-8x7b-32768、llama3-70b-8192、llama3-8b-8192 rpm为30,rpd为14400,TOKENS PER MINUTE也有限制 访问链接 文档查看
Google Gemini gemini-1.5-pro、gemini-1.5-flash、gemini-1.0-pro、gemini-pro-vision 15RPM(每分钟请求数);100万 TPM(每分钟令牌);1500 RPD(每天请求数) 访问链接 文档查看
硅基流动 Qwen2-7B-Instruct,Qwen2-1.5B-Instruct,Qwen1.5-7B-Chat,glm-4-9b-chat,chatglm3-6b,Yi-1.5-9B-Chat-16K,Yi-1.5-6B-Chat RPM限制为100,QPS限制为3,更多可以进行申请 访问链接 文档查看

各个模型详细的申请和接入流程

为了更加方便申请和接入,也整理了各个模型的接入指南,可以查阅:

接入使用

社群小伙伴反馈验证可用的客户端

功能

文本生成

支持多种大模型:

如果兼容某个参加已经支持OpenAI的接口,那么可以在simple-one-api中直接使用。参考文档docs/兼容OpenAI模型协议接入指南.md

支持的功能

  • 支持配置多个模型,可以随机负载均衡
  • 支持一个模型可配置多个api_key,并且可以随机负载均衡
  • 支持设置一个对外总api_key
  • 支持random模型,后台自动寻找配置的可用的模型
  • 支持模型名称重定向设置模型设置别名
  • 支持全局设置模型名称重定向,并且支持all模式全部重定向
  • 支持每一种模型服务设置服务的地址
  • 兼容支持OpenAI的接口,同时支持/v1和/v1/chat/completions两种路径
  • 对于不支持system的模型,simple-one-api会放到第一个prompt中直接兼容(更加统一,例如沉浸式翻译中如果system,不支持system的模型也能正常调用)
  • 支持全局代理模式
  • 支持每个service设置qps或qpm或者concurrency
  • 支持/v1/models/v1/models/:model接口

更新日志

查看 CHANGELOG.md 获取本项目的详细更新历史。

交流群

交流群

安装

源码安装

  1. 克隆本仓库:
git clone https://github.com/fruitbars/simple-one-api.git

快速编译使用

首先得确保你已经安装了go,版本需要是1.21以上,具体安装教程参考官网地址:https://go.dev/doc/install 可以通过go version查看go的版本。

linux/macOS

chmod +x quick_build.sh
./quick_build.sh

将会在当前目录生成simple-one-api

Windows 双击quick_build.bat执行

quick_build.bat

将会在当前目录生成simple-one-api.exe

交叉编译不同平台版本

有时需要编译不同平台的版本,比如windows、linux、macOS; 确保安装好go之后,执行build.sh

chmod +x build.sh
./build.sh

会自动编译出对于以上3中平台不同架构的可执行文件,生成在build目录中。

接下来配置你的模型服务和凭证:config.json 文件中添加你的模型服务和凭证信息,参考下文的配置文件说明。

直接下载

前往Releases页面

使用方法

直接启动

默认读取和simple-one-api相同目录下的config.json启动

./simple-one-api

如果想指定config.json的路径,可以这样启动

./simple-one-api /path/to/config.json

Docker 启动

以下是如何使用 Docker 部署 simple-one-api 的步骤: 运行 使用以下命令运行 Docker 容器,同时挂载你的配置文件 config.json

docker run -d --name simple-one-api -p 9090:9090 -v /path/to/config.json:/app/config.json fruitbars/simple-one-api

注意: 请确保将 /path/to/config.json 替换为 config.json 文件在你主机上的绝对路径。

查看容器日志 你可以使用以下命令查看容器的日志输出:

docker logs -f simple-one-api

docker logs -f <container_id>

其中, 是容器的 ID,可以通过 docker ps 命令查看。

Docker Compose 启动步骤

  1. 配置文件:在docker-compose.yml中首先确保你已经将你的 config.json 文件的路径替换成了正确的绝对路径。
  2. 启动容器: 使用 Docker Compose 启动服务,你可以在包含 docker-compose.yml 文件的目录下运行以下命令:
    docker-compose up -d
    
    这个命令会在后台启动 simple-one-api 服务。

其他查看命令参考docker-compose的文档。

其他启动方式

其他启动方式:

调用 API

现在,你可以通过 OpenAI 兼容的接口调用你配置的各大模型服务。服务地址: http://host:port/v1,api-key可以任意设置

支持模型名称设置为random,后台会自动找一个"enabled": true的模型来使用。

配置文件示例(以讯飞星火spark-lite为例)

{
    "load_balancing": "random",
    "services": {
      "xinghuo": [
        {
          "models": ["spark-lite"],
          "enabled": true,
          "credentials": {
            "appid": "xxx",
            "api_key": "xxx",
            "api_secret": "xxx"
          }
        }
      ]
    }
}

其他模型的配置文件示例可以参考:https://github.com/fruitbars/simple-one-api/tree/main/samples

配置文件在线生成

感谢来自社群小伙伴提供在线生成配置

https://simple-one-api-ui.vercel.app/

配置文件说明

参考文档:config.json详细说明

各个厂商详细的配置说明:https://github.com/fruitbars/simple-one-api/tree/main/docs

各个厂商详细的示例config:https://github.com/fruitbars/simple-one-api/tree/main/samples

比较完整的配置文件示例

具体文档查看config.json详细说明.md,以下是一个完整的配置示例,涵盖了多个大模型平台和不同模型:

{
  "server_port":":9090",
  "load_balancing": "random",
  "services": {
    "qianfan": [
      {
        "models": ["yi_34b_chat", "ERNIE-Speed-8K", "ERNIE-Speed-128K", "ERNIE-Lite-8K", "ERNIE-Lite-8K-0922", "ERNIE-Tiny-8K"],
        "enabled": true,
        "credentials": {
          "api_key": "xxx",
          "secret_key": "xxx"
        }
      }
    ],
    "xinghuo": [
      {
        "models": ["spark-lite"],
        "enabled": true,
        "credentials": {
          "appid": "xxx",
          "api_key": "xxx",
          "api_secret": "xxx"
        },
        "server_url": "ws://spark-api.xf-yun.com/v1.1/chat"
      }
    ],
    "hunyuan": [
      {
        "models": ["hunyuan-lite"],
        "enabled": true,
        "credentials": {
          "secret_id": "xxx",
          "secret_key": "xxx"
        }
      }
    ],
    "openai": [
      {
        "models": ["deepseek-chat"],
        "enabled": true,
        "credentials": {
          "api_key": "xxx"
        },
        "server_url": "https://api.deepseek.com/v1"
      }
    ],
    "minimax": [
      {
        "models": ["abab6-chat"],
        "enabled": true,
        "credentials": {
          "group_id": "xxx",
          "api_key": "xxx"
        },
        "server_url": "https://api.minimax.chat/v1/text/chatcompletion_pro"
      }
    ]
  }
}

FAQ

在沉浸式翻译当中怎么使用?

参考docs/在沉浸式翻译中使用simple-one-api

是否支持并发限制?

具体文档查看config.json详细说明.md

参考如下配置,免费的讯飞星火spark-lite模型,有2qps限制,因此可以这么设置:

{
  "server_port": ":9090",
  "debug": false,
  "load_balancing": "random",
  "services": {
    "xinghuo": [
      {
        "models": ["spark-lite"],
        "enabled": true,
        "credentials": {
          "appid": "xxx",
          "api_key": "xxx",
          "api_secret": "xxx"
        },
        "limit": {
          "qps":2,
          "timeout": 10
        }
      }
    ]
  }
}

如何设置代理

从v0.9.1开始,更新了代理方式,每个service支持独立代理 参考文档《simple‐one‐api代理配置说明

如何设置一个对外的apikey?

可以通过api_key字段来设置

{
    "api_key":"123456",
    "load_balancing": "random",
    "services": {
       "xinghuo": [
         {
           "models": ["spark-lite"],
           "enabled": true,
           "credentials": {
             "appid": "xxx",
             "api_key": "xxx",
             "api_secret": "xxx"
           }
         }
       ]
   }
}

单个模型如何配置多个credentials自动负载?

以客户端选择spark-lite为例,可以按照下面这样配置,会随机credentials

{
    "api_key":"123456",
    "load_balancing": "random",
    "services": {
       "xinghuo": [
         {
           "models": ["spark-lite"],
           "enabled": true,
           "credentials": {
             "appid": "xxx",
             "api_key": "xxx",
             "api_secret": "xxx"
           }
         },
         {
           "models": ["spark-lite"],
           "enabled": true,
           "credentials": {
             "appid": "xxx",
             "api_key": "xxx",
             "api_secret": "xxx"
           }
         }
       ]
   }
}

如何让后台随机选择模型使用?

load_balancing就是为自动选择模型来配置的,支持random,自动随机选一个enabledtrue的模型

{
    "api_key":"123456",
    "load_balancing": "random",
    "services": {
       "xinghuo": [
         {
           "models": ["spark-lite"],
           "enabled": true,
           "credentials": {
             "appid": "xxx",
             "api_key": "xxx",
             "api_secret": "xxx"
           }
         }
       ]
   }
}

星级历史

星级历史图表

贡献

我们欢迎任何形式的贡献。如果你有任何建议或发现了问题,请通过提交 issue 或 pull request 的方式与我们联系。

版本历史

v0.9.62024/11/11
v0.9.52024/08/19
v0.9.42024/08/09
v0.9.32024/07/31
v0.9.22024/07/13
v0.9.2-beta2024/07/12
v0.9.12024/07/04
0.9.02024/07/01
v0.8.22024/06/24
v0.8.12024/06/23
v0.82024/06/19
v0.72024/06/13
v0.52024/06/09
v0.42024/06/06
v0.32024/06/03
v0.22024/05/29
v0.12024/05/28

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

153.6k|★★☆☆☆|今天
开发框架Agent语言模型

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|3天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|1周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|3天前
图像数据工具视频