
clewdr
一个入口统一转发多家大模型 API,高并发低延迟
clewdr 是一个用 Rust 编写的高性能 LLM 反向代理,定位在本地或服务器上统一接入多家大模型 API。它解决的核心问题是:不同厂商的 API 协议、鉴权方式和限流策略各不相同,客户端切换模型时往往要改代码或配置。clewdr 把上游请求统一收敛到一个入口,由代理层完成协议适配、请求转发和密钥管理,让下游应用只面对一套接口。得益于 Rust 的异步运行时,它在高并发转发场景下延迟低、资源占用小,适合长时间稳定运行。项目同时提供多上游路由、请求日志与基础监控能力,方便排查调用异常和统计用量。整体看,它面向自建 AI 网关、团队内部模型统一接入等需求,是一个轻量但性能取向明确的代理层组件。
项目数据
使用教程
环境要求
- 支持 Linux、macOS、Windows、Android,架构为 x86_64 或 aarch64
- 下载发布包需要能访问 GitHub Releases(curl 或浏览器)
- 使用 Docker 方式需具备 Docker 环境,镜像支持 linux/amd64 与 linux/arm64
- 默认监听 8484 端口,本机或容器需开放该端口
安装与启动步骤
-
1下载解压发布包
在 Releases 下载对应平台压缩包,命名形如 clewdr-
- .zip;解压后给二进制加执行权限。 curl -L -O https://github.com/Xerxes-2/clewdr/releases/latest/download/clewdr-linux-x86_64.zip unzip clewdr-linux-x86_64.zip chmod +x clewdr -
2运行二进制
直接启动单个静态可执行文件,程序常驻运行,控制台会打印管理员密码,请立即记录。
./clewdr -
3打开管理界面
浏览器访问本机 8484 端口,用控制台打印的管理员密码登录后台进行后续配置。
-
4改用 Docker 部署
官方镜像方式启动;必须把数据目录挂载到 /etc/clewdr,否则每次重建容器都会重新生成密码。
docker run -d --name clewdr -p 8484:8484 -v clewdr-data:/etc/clewdr ghcr.io/xerxes-2/clewdr:latest -
5用环境变量设密码
任意配置项都可用「大写 + CLEWDR_ 前缀」作为环境变量传入,适合自动化部署时自行指定密码。
docker run -d --name clewdr -p 8484:8484 -v clewdr-data:/etc/clewdr -e CLEWDR_PASSWORD=your-api-password -e CLEWDR_ADMIN_PASSWORD=your-admin-password ghcr.io/xerxes-2/clewdr:latest -
6查看生成的密码
若没有自己设置密码,可从容器日志里过滤出包含 Password 的行,读取自动生成的管理员密码。
docker logs clewdr | grep Password
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
CLEWDR_ADMIN_PASSWORD | 否 | 管理后台登录密码,不设置则由程序自动生成并打印 | your-admin-password |
CLEWDR_PASSWORD | 否 | API 调用密码,不设置则由程序自动生成 | your-api-password |
CLEWDR_IP | 否 | 监听地址,Docker 镜像已默认设为 0.0.0.0 | 0.0.0.0 |
clewdr.toml | 否 | 配置文件,Docker 方式位于 /etc/clewdr 下,日志在 log/ 目录 | /etc/clewdr/clewdr.toml |
如何确认成功
浏览器打开 http://127.0.0.1:8484 能显示管理页面,并用控制台或 docker logs 中打印的管理员密码成功登录。
常见问题
Q:管理员密码在哪里看?
A:二进制启动时控制台会直接打印;Docker 方式执行 docker logs clewdr | grep Password 查看,或在启动时用 CLEWDR_ADMIN_PASSWORD 自行指定。
Q:重建容器后密码和配置都变了?
A:说明没有挂载数据目录。启动容器时加 -v clewdr-data:/etc/clewdr,配置 clewdr.toml 与 log/ 日志都会持久化保存在该目录。
Q:外部访问不到 8484 端口?
A:Docker 镜像已预设 CLEWDR_IP=0.0.0.0 并关闭更新检查,确认启动时带了 -p 8484:8484 端口映射、防火墙未拦截即可。
Q:怎么固定版本而不是用 latest?
A:镜像标签可用 :latest,也可指定具体版本标签,例如 :v0.13.1。
注意事项
- Docker 方式不挂载 /etc/clewdr 时,容器每次重建都会丢失自动生成的密码。
- 镜像内已关闭更新检查,因为容器中的镜像无法替换自身二进制。
- 任意配置项都能写成大写并加 CLEWDR_ 前缀的环境变量,布尔值支持 true/false、yes/no、on/off、1/0(大小写不敏感)。
- 程序为单个静态可执行文件,体积约 15MB、内存占用通常小于 10MB、启动时间小于 1 秒。
核心亮点
- Rust 异步实现,高并发转发时延迟低、内存占用小
- 统一多上游 LLM API 入口,客户端无需为每家厂商改协议
- 支持多上游路由与密钥管理,便于团队集中配置和切换模型
不足之处
- 项目较新、星标约 1.2k,生态与文档成熟度仍在积累
- 高级功能如细粒度限流、用量计费、可观测性可能不如成熟网关完善
适用场景
- 团队自建 AI 网关,把多家模型 API 收敛到一个内网入口
- 本地开发时用代理统一管理多个厂商密钥,避免在代码里硬编码
- 需要高并发调用 LLM 的服务端,用代理层降低转发开销
替代项目
LiteLLM、One API
项目介绍
同类项目推荐
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···