Proxify-统一管理、轻松调用各类大模型 API

Proxify 是一个开源、轻量、可以自己部署的 AI 接口反向代理。

在日常开发 AI 应用过程中,一些项目需要同时接入 OpenAI、Claude,偶尔还要测试一下 DeepSeek 或者 Gemini。

结果就是,代码里管理着一堆不同的 API_BASE_URL 和 API_KEY ,每次切换或者新增服务,都得去改配置文件,还得小心翼翼地处理各种网络问题,尤其是那些“只可意会”的网络限制。

配置一多,代码就显得乱七’八糟,维护起来也心累。我们就在想,有没有一种更优雅的方式?

一些 AI 模型厂商提供的 API 针对流式响应,存在卡顿,不丝滑的情况,比如 Azure OpenAI。

要实现类似打字机的效果,往往需要在应用层(开发者)花费大量的时间精力来做优化,是否有现成的中间层来实现?

找了一圈,市面上有一些大而全的网关,但感觉有点“杀鸡用牛刀”,而且配置复杂,资源占用严重。

于是,我们做了一个决定:将我们自己平台的核心网关模块抽象出来,封装成一个独立的、轻量的开源项目,分享给整个社区。

功能特性

1. 统一化的接口,告别杂乱配置

Proxify 的核心功能就是反向代理。你可以通过一个简单的 JSON 文件,集中管理所有上游 API。

routes.json 配置文件示例:

{
  "routes": [
    {
      "name": "OpenAI",
      "path": "/openai",
      "target": "https://api.openai.com"
    },
    {
      "name": "Claude",
      "path": "/claude",
      "target": "https://api.anthropic.com"
    }
    ...
  ]
}

配置好之后,你的代码调用方式会变得异常清爽:

  • 想访问 OpenAI?baseURL 设为 https://proxify.poixe.com/openai/v1
  • 想访问 Claude?baseURL 设为 https://proxify.poixe.com/claude/v1

https://proxify.poixe.com 可替换为你部署的 Proxify 程序地址

所有切换逻辑都在 Proxify 的配置里,你的业务代码无需任何改动。更棒的是,这个配置文件支持热加载 ,修改后无需重启服务,立刻生效。

2. 平滑如丝的流式输出

直接转发大模型的 SSE 流,部分 AI 模型厂商体验往往不佳,如 Azure 的成段吐字。我们在 Proxify 中内置了同 Poixe AI 网关的流式平滑输出模块

它能做什么?

你可以把它想象成一个智能缓冲区。当上游模型突然“爆发”式地吐出一大段文本时,Proxify 会先把它们接住,然后像打字机一样,以平滑、均匀的速度一点点地流式传输给客户端。提升了用户体验。

同时,针对流式输出,内置了心跳保活机制,定时发送心跳,有效防止了因网络空闲导致的连接意外中断。

3. 安全与隐私

代码完全开源,逻辑透明可审计。可自由二次开发、私有化部署,避免供应商锁定。

你可以把它部署在任何你自己的服务器上。所有请求数据只在你的客户端和你的服务器之间流转,不经过任何第三方,彻底杜绝隐私泄露的风险。

部署过程也极其简单,我们提供了 Docker 镜像,只需准备好两个配置文件,一行命令即可启动。整个程序由 Golang 编写,性能高,资源占用低,0.5G 内存的小服务器也能跑起来。

开始使用

1. 确定目标服务

浏览 Proxify 支持的 API 列表,找到您需要使用的服务及其对应的代理前缀。

2. 替换基础 URL

在您的代码中,将原始 API 的基础 URL 替换为 Proxify 的代理地址,并附加上一步中确定的服务前缀。

# 原始地址:
https://api.openai.com/v1/chat/completions

# 替换为:
http://proxify.poixe.com/openai/v1/chat/completions

3. 发送请求

一切准备就绪。使用您原有的 API 密钥和请求参数,像往常一样发起请求即可,无需任何其他更改。

您的 API 密钥、请求头(Header)和请求体(Body)等所有其他部分都保持不变。

4. 代码示例

# cURL example using /openai proxy endpoint
curl https://proxify.poixe.com/openai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer API_KEY" \
  -d '{
    "model": "gpt-5",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "stream": false
  }'
// Node.js example using /openai proxy endpoint
import OpenAI from "openai";

const openai = new OpenAI({ 
    apiKey: "API_KEY", 
    baseURL: "https://proxify.poixe.com/openai/v1",
});

async function main() {
    const completion = await openai.chat.completions.create({
        model: "gpt-5",
        messages: [
            { role: "system", content: "You are a helpful assistant." },
            { role: "user", content: "Hello!" }
        ],
    });

    console.log(completion.choices[0].message.content);
}

main();

部署教程

本节仅展示通过 Docker 部署的方式,更多请参考官方 Github 仓库。

1. 准备工作:配置环境与路由

Proxify 项目已经内置了 .env.example 与 routes.json.example 示例文件。 您只需复制并稍作修改,即可快速启动。

2. 开始部署:从 Docker Hub 拉取镜像

在确认 .env 与 routes.json 均配置正确后,执行:

# 1. 从 Docker Hub 拉取最新镜像
docker pull terobox/proxify:latest

# 2. 查看镜像列表
docker images

# 3. 运行容器,并挂载配置文件
docker run -d \
  --name proxify \
  -p 7777:7777 \
  -v $(pwd)/routes.json:/app/routes.json \
  -v $(pwd)/.env:/app/.env \
  --restart=always \
  poixeai/proxify:latest

# 补充:查看日志
docker logs proxify -f

# 补充:停止容器
docker stop proxify

# 补充:删除容器
docker rm proxify

写在最后

欢迎来 GitHub 仓库给我们一个 Star,或者随时提出你的想法和建议!

GitHub 仓库:https://github.com/poixeai/proxify

演示站点:https://proxify.poixe.com/

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/1555.html

(0)
mantoumantou
上一篇 2025年10月9日
下一篇 2025年10月31日

相关推荐

  • linux综合脚本集成器

    这 Bash 脚本用于监测服务器的网络流量使用情况,并根据预设的阈值进行操作。它首先显示当前的接收和发送流量,然后询问用户是否设置流量阈值。用户可以选择设置阈值,并输入所需的阈值(…

    2024年4月29日
  • Nginx 反向代理ddns网站

    由于一些原因,需要反向代理一些ip经常变化的站点,最初以为只要把域名填好就行,ip变化的时候,nginx会根据ddns域名来回源,但是事实并非如此,在每一次更换ip地址之后,都要r…

    代码程序 2021年5月16日
  • 哪吒面板搭建过程详解,教你搭建一款便携服务器监控探针

    今天给大家安利一个最近比较火的服务器状态监控面板,哪吒面板。作者并没有提供详细的安装流程,所以我呢就在这里记录下整个安装的过程,也可以给大家做个参考。 项目简介 被动接收,系统状态…

    2021年5月11日
  • Linux服务器SSH端口一键修改脚本

    说明:我们的很多VPS服务器,默认的端口都是22,所以一直会被人扫描爆破,很容易会出现问题,所以我们需要通过修改端口来尽可能减少这种事情发生,但对于很多小白或者很懒的人来说,更喜欢…

    代码程序 2021年5月25日
  • 在 GitHub 中隐藏自己的邮箱地址

    如何找到Github用户的邮箱 在介绍隐藏前首先咱们要知道,如何查看开发者的邮箱。 情况一 :对方主页上写了邮箱 这种最简单,大部分的开发者都会在Github主页留下自己的联系邮箱…

    2024年9月20日
  • Azure双栈网络及纯IPV6教程

    前情提要: 采用Cli或者第三方API面板开机可实现双栈网络,本教程为Azure网站手动配置,可避免使用API被风控。我用于演示的服务器是 基本 动态 IPV4 的香港机器,其它情…

    2024年3月6日
  • Yoast Duplicate Post 完整图文设置 一键复制文章页面

    什么是 Yoast Duplicate Post 优势 Yoast Duplicate Post 插件允许用户在WordPress中复制和粘贴文章和页面。这可以节省时间,因此用户不…

    2024年4月24日
  • 花海API更新v1.2

    地址:https://api.hhisite.cn v1.2更新内容 1.更换使用mdui,界面舒适度更高,更简洁。 2.修复随机二次元图片api偶尔图片链接失效问题。 3.修复获…

    代码程序 2021年8月11日
  • 富士 XF56mm F1.2 R WR

    富士 XF56mmF1.2 R WR 最近买了一只镜头,主要原因是X100V 夜拍能力太差,晚上拿起相机想快速拍一张的时候大概率是糊的,要么就拉高ISO 全是噪点。对富士镜头群不了…

    2023年9月7日
  • 如何在 WordPress 中添加 Cloudflare Turnstile 验证码

    您想在 WordPress 中添加 Cloudflare Turnstile 验证码吗? CAPTCHA 和 reCAPTCHA 可以阻止垃圾邮件机器人,但它们也不受访问者欢迎。通…

    2023年4月14日

发表回复

登录后才能评论