开源 · 多供应商模型网关

多个模型。
一个自在的入口。

把不同供应商的模型接入同一套 OpenAI 兼容接口。用桌面界面轻松管理,用 CLI 稳定运行,让你专注于下一次创造。

MIT 开源许可本机或服务器运行
freelance / gatewayOpenAI-compatible API

GATEWAY / OVERVIEW

一眼掌握你的模型网关。

网关已就绪

连接你选择的模型,管理你自己的调用方式。

已配置供应商03
O
OpenRouteropenrouter.ai
可用
N
NVIDIAintegrate.api.nvidia.com
可用
◉
Ollama Cloudollama.com
可用
统一调用入口
POST /v1/chat/completions
自动路由model: "auto"
# OpenAI-compatible
client = OpenAI(
  base_url="http://localhost:8000/v1",
  api_key="YOUR_GATEWAY_KEY"
)

response = client.chat.completions.create(
  model="auto",
  messages=[...]
)
CLIENTFREELANCEMODEL
你的应用无需分别适配每一家供应商。/v1/models

产品交互示意 · 示例数据,非实时服务

一套接口,连接不同选择

OpenRouterNVIDIAOllamaGroqGeminiMistral

以及其他 OpenAI 兼容供应商

为实际使用而构建

少一点接入工作。 多一点选择空间。

把供应商差异留在网关里,让熟悉的工具继续工作。

01

兼容你已有的客户端

通过统一的聊天、模型列表和 SSE 流式接口接入。使用 OpenAI SDK 时,更换 Base URL 和 Key 即可连接。

/v1/chat/completions
02

为失败留一条退路

按错误策略切换候选模型,为 Key、模型和供应商设置冷却。同一供应商支持多个 Key 轮询。

retry → fallback → cooldown
03

多个答案,独立比较

按供应商默认模型并行或串行获取答案。通过 HTTP 或 MCP 接入,由你的客户端完成比较与汇总。

HTTP + MCP

01 / 可控的模型路由

先调用哪个模型, 由你决定。

将常用模型放在前面。自定义模型全部失败后,网关继续尝试默认候选;清空列表,即可恢复默认排序。

仅作用于 auto / free / best-free 自动路由。显式指定单个模型不受影响;这些名称不保证上游免费。

config.yaml
auto_routing:
  custom_ranking:
    - provider: openrouter
      model: model-a
    - provider: nvidia
      model: model-b
    - provider: ollama
      model: model-c

试一试调用顺序

DEMO

交互演示 · 不发送 API 请求

#供应商 / 示例模型↕
  1. 01
    OpenRoutermodel-a
    ↑ ↓
  2. 02
    NVIDIAmodel-b
    ↑ ↓
  3. 03
    Ollama Cloudmodel-c
    ↑ ↓
调整顺序,然后运行一次演示。
{ "model": "auto", "demo": true }

02 / 桌面与 CLI

桌面上,轻松上手。 服务器上,照常运行。

用 Windows 便携版管理本地网关,也能连接远程网关。服务器继续使用原有 CLI,桌面界面是你熟悉服务的另一个入口。

  • 一处完成供应商、Key 与模型优先级配置
  • 启动、停止、重启,自动连接就绪的网关
  • 查看运行概览,测试单模型或多模型调用
构建 Windows 便携版 阅读桌面使用说明 ↗
Freelance Gateway

本地网关 · 交互示意

网关未启动

Base URLhttp://127.0.0.1:8000/v1
供应商与优先级config.yaml
01OpenRoutermodel-a
02NVIDIAmodel-b

配置随程序文件夹保存

这里只演示界面操作,不会启动真实服务。

便携版首次启动时,在 EXE 旁边创建缺失的默认配置。分发或移动时保留整个程序文件夹。

开始连接

从你的第一个请求开始。

获取源码,选择适合你的入口。建议使用 Python 3.11;使用便携版的终端用户无需安装 Python。

01

获取项目

git clone https://gitee.com/relatex/freelance.git
cd freelance
02

选择运行方式

WINDOWS / POWERSHELL

在项目根目录构建便携版

生成 dist/FreelanceDesktop。双击其中的 EXE,填写供应商和 Key 后启动网关。重复构建前备份配置并退出旧程序。

PowerShell
python -m pip install -e ".[desktop,desktop-build]"
python scripts/build_desktop.py
python scripts/verify_desktop_bundle.py

几个常见问题

在开始之前。

可以继续使用现有的 OpenAI 客户端吗?

可以。将 Base URL 指向网关的 /v1 路径,并使用网关调用 Key。项目提供 OpenAI 兼容接口;上游模型对工具和参数的支持仍以供应商为准。

桌面版和服务端 CLI 可以独立使用吗?

可以。服务端 CLI 无需桌面依赖。桌面客户端可启动自己的本地后端,也可连接已运行的远程网关;不会停止 CLI 启动的进程。

配置文件保存在哪里?

便携版默认读取 EXE 所在目录的 config.yaml 和 .env,缺失时创建默认文件;源码桌面使用项目根目录。配置修改后需重启生效。

开源是否意味着模型调用免费?

网关采用 MIT 许可。模型调用费用、配额和免费条件由上游供应商决定;auto、free、best-free 等自动路由名称不构成免费的保证。

这张页面会连接我的网关吗?

不会。官网中的状态、模型顺序和操作都是本地示意,不发送模型请求、不收集 Key。实际调用由你部署的网关转发给配置的上游供应商。

让工具适应你。 让模型各尽所长。

开始使用 Freelance