Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenRouter Proxy

一个用 Rust 编写的轻量级 OpenRouter API 代理服务。

功能特性

  • 🚀 极致轻量:Docker 镜像仅 ~10-15 MB
  • 🔒 路径白名单:仅允许指定的 API 端点
  • 🌐 CORS 支持:支持跨域请求
  • 📝 请求日志:完整的请求/响应追踪
  • ❤️ 健康检查:内置健康检查端点
  • 🐳 容器化:开箱即用的 Docker 支持

支持的 API 端点

  • POST /api/v1/chat/completions - Chat Completions API
  • GET /api/v1/models - 获取可用模型列表
  • GET /health - 健康检查

注意:仅以上端点被白名单允许,其他请求将返回 403 Forbidden

快速开始

方式一:使用 Docker(推荐)

docker pull ghcr.io/your-username/openrouter-proxy:latest

docker run -d \
  -p 3000:3000 \
  -e OPENROUTER_API_KEY=your_api_key_here \
  --name openrouter-proxy \
  ghcr.io/your-username/openrouter-proxy:latest

方式二:本地运行

  1. 配置环境变量
cp .env.example .env

编辑 .env 文件,填入你的 OpenRouter API Key:

OPENROUTER_API_KEY=your_api_key_here
PORT=3000
  1. 运行服务
cargo run --release

服务将在 http://0.0.0.0:3000 启动。

API 使用示例

Chat Completions

curl -X POST http://localhost:3000/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-3.5-turbo",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

获取模型列表

curl http://localhost:3000/api/v1/models

健康检查

curl http://localhost:3000/health

开发

本地开发

# 运行开发模式
cargo run

# 构建 Release 版本
cargo build --release

Docker 构建

# 构建镜像
docker build -t openrouter-proxy .

# 运行容器
docker run -d -p 3000:3000 -e OPENROUTER_API_KEY=your_key openrouter-proxy

环境变量

变量名 必需 默认值 说明
OPENROUTER_API_KEY - OpenRouter API 密钥
PORT 3000 服务监听端口

技术栈

  • Rust - 高性能系统编程语言
  • Axum - 现代化的异步 Web 框架
  • Tokio - 异步运行时
  • Reqwest - HTTP 客户端
  • Docker - 容器化部署

自动构建

推送到 main 分支或创建 tag 时,GitHub Actions 会自动构建 Docker 镜像并推送到 GitHub Container Registry。

# 推送 tag 触发版本构建
git tag v1.0.0
git push origin v1.0.0

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages