V2EX 10月22日 17:20
Proxify:轻量级开源AI接口反向代理
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Poixe AI 团队开源了 Proxify,一个轻量级的AI接口反向代理项目。Proxify旨在解决开发者在对接多个AI服务时遇到的API管理混乱和流式输出不畅等问题。通过集中管理API配置,开发者可以使用统一的接口访问不同的AI模型,无需修改业务代码。同时,Proxify内置流式平滑输出和心跳保活机制,优化了用户体验并增强了连接稳定性。作为一个完全开源的项目,Proxify支持私有化部署,保障数据安全与隐私。

⚙️ 统一接口管理:Proxify允许用户通过简单的JSON配置文件集中管理多个上游AI服务的API地址和密钥,例如OpenAI、Claude等,从而简化了开发过程中对不同API的调用和切换,无需在代码中进行繁琐的配置更改。

🌊 流式输出优化:Proxify内置了流式平滑输出模块,能够缓存并以均匀的速度向客户端传输大型语言模型的流式响应,解决了部分AI服务(如Azure OpenAI)流式输出卡顿的问题,提升了用户体验,并具备心跳保活机制,防止连接中断。

🔒 安全与隐私保障:Proxify作为完全开源的项目,用户可以自由审查代码并进行二次开发和私有化部署,所有请求数据仅在用户的客户端和服务器之间传输,避免了第三方平台的介入,从而保障了数据的安全性和用户隐私。

🛠️ 部署简便:Proxify提供了Docker镜像,用户只需准备好简单的配置文件(.env和routes.json),即可通过一行Docker命令快速部署和运行,其Golang编写的特性保证了高性能和低资源占用,即使在配置较低的服务器上也能流畅运行。

我是 Poixe AI 团队的技术负责人。花费近两周时间,我们将平台核心网关模块抽象出来,封装成了一个独立的、轻量的开源项目。

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

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

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

背景介绍

场景 1

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

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

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

场景 2

一些 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"    }    ...  ]}

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

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 endpointcurl 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 endpointimport 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.exampleroutes.json.example 示例文件。 您只需复制并稍作修改,即可快速启动。

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

在确认 .envroutes.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 ,或者随时提出你的想法和建议!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Proxify 开源 AI接口 反向代理 API管理 流式输出 Docker
相关文章