一个高性能的 API 代理工具,用 Go 实现,专门用于拦截并重定向 OpenAI / Anthropic API 请求到自定义后端服务。
- 多协议支持:兼容 OpenAI (
/v1/chat/completions) 和 Anthropic (/v1/messages) 两种 API 格式 - 多后端路由:按模型 ID 精确匹配后端,自动回退到第一个激活的 API
- 模型 ID 映射:对客户端暴露自定义模型 ID,转发时自动替换为目标模型 ID
- 流式响应:支持 SSE 流式和非流式响应,可按后端强制覆盖
- 多域名 + 多证书:同时代理多个域名,每个域名独立管理 TLS 证书
- 自动系统配置:一键安装 CA 证书到系统信任存储,自动写入 hosts 文件
- TUI 管理界面:基于 Bubble Tea 的终端交互界面,支持增删改查配置
- Web 管理界面:内嵌 HTML 管理页面,默认监听
8080端口 - 系统托盘:支持后台系统托盘模式运行(Windows)
- 环境诊断:
doctor命令检测端口冲突及代理配置状态
cmd/
cli/ # CLI / TUI 入口
proxy/ # 代理服务器入口
internal/
autoconfig/ # 跨平台系统自动配置(hosts + CA 证书)
cert/ # TLS 证书生成(纯 Go 实现,无 OpenSSL 依赖)
config/ # 配置文件读写
doctor/ # 环境诊断
logger/ # 日志组件
proxy/ # 核心代理逻辑(handler / router / stream / server)
tray/ # 系统托盘
tui/ # Bubble Tea TUI 界面
webui/ # 内嵌 Web 管理界面
pkg/
models/ # 公共数据模型定义
- Go 1.23+
- Windows 托盘模式需要 CGO(需安装 MinGW-w64 或 TDM-GCC)
基础构建(无托盘,无需 CGO)
# Windows (PowerShell)
$env:GOOS="windows"; $env:GOARCH="amd64"
$env:CGO_ENABLED="0"
go build -ldflags="-H windowsgui" -o trae-proxy.exe ./cmd/proxy
go build -o trae-proxy-cli.exe ./cmd/cli完整构建(含托盘,需要 CGO)
# Windows - 需要先安装 MinGW-w64 并加入 PATH
go build -ldflags="-H windowsgui" -o trae-proxy.exe ./cmd/proxy
go build -o trae-proxy-cli.exe ./cmd/cli# Linux / macOS
go build -o trae-proxy ./cmd/proxy
go build -o trae-proxy-cli ./cmd/cli构建前运行以下命令嵌入 PE 资源文件喵:
# 1. 安装工具
go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest
# 2. 生成 resource.syso(在 cmd/proxy 目录下)
cd cmd/proxy
& "$(go env GOPATH)\bin\goversioninfo.exe"
cd ../..
# 3. 编译(图标将嵌入到 .exe 文件)
$env:CGO_ENABLED="0"
go build -ldflags="-H windowsgui" -o trae-proxy.exe ./cmd/proxy编译后的 .exe 文件在桌面上会显示自定义的应用程序图标喵~
编辑 config.yaml:
domains:
- api.openai.com
- api.anthropic.com
certificates: []
apis:
- name: deepseek-r1
format: openai # openai | anthropic
endpoint: https://api.deepseek.com
custom_model_id: deepseek-reasoner # 客户端使用的模型 ID
target_model_id: deepseek-reasoner # 实际发送给后端的模型 ID
stream_mode: "" # "true" 强制开启 | "false" 强制关闭 | "" 跟随请求
active: true
server:
port: 443
manage_port: 8080
debug: false| 字段 | 说明 |
|---|---|
format |
后端 API 格式,openai(默认)或 anthropic |
custom_model_id |
对客户端暴露的模型名称 |
target_model_id |
转发给后端时实际使用的模型名称 |
stream_mode |
强制覆盖流式设置,为空则跟随客户端原始请求 |
active |
是否参与路由选择 |
无参数运行 CLI 工具即可启动 TUI:
./trae-proxy-cli.exe| 快捷键 | 功能 |
|---|---|
a |
添加 API 配置 |
e |
编辑选中配置 |
d |
删除选中配置 |
Space |
激活 / 停用选中配置 |
D |
设置代理域名 |
C |
生成 SSL 证书 |
↑ ↓ |
上下选择 |
q |
退出 |
# 列出所有 API 配置
./trae-proxy-cli.exe list
# 添加 / 删除 / 更新 / 激活配置
./trae-proxy-cli.exe add
./trae-proxy-cli.exe remove
./trae-proxy-cli.exe update
./trae-proxy-cli.exe activate
# 设置代理域名
./trae-proxy-cli.exe domain
# 生成证书(纯 Go 实现,无需 OpenSSL)
./trae-proxy-cli.exe cert
./trae-proxy-cli.exe cert --domain api.openai.com
./trae-proxy-cli.exe cert --auto-config # 生成并自动配置系统(需管理员权限)
./trae-proxy-cli.exe cert --install-ca # 仅安装 CA 证书到系统信任存储
./trae-proxy-cli.exe cert --update-hosts # 仅更新 hosts 文件
# 启动代理(CLI 方式)
./trae-proxy-cli.exe start
# 环境诊断
./trae-proxy-cli.exe doctor./trae-proxy.exe
./trae-proxy.exe --config config.yaml --cert ca/api.openai.com.crt --key ca/api.openai.com.key
./trae-proxy.exe --debug| 路径 | 方法 | 说明 |
|---|---|---|
/v1/chat/completions |
POST | OpenAI 格式聊天请求 |
/v1/messages |
POST | Anthropic 格式请求 |
/anthropic/v1/messages |
POST | Anthropic 格式请求(备用路径) |
/v1/models |
GET | 模型列表(自动识别 OpenAI / Anthropic 格式) |
/v1/models/:id |
GET | 单个模型详情(Anthropic 格式) |
- 按请求中的
model字段精确匹配custom_model_id - 无精确匹配时回退到第一个
active: true的配置 - 全部未激活时使用配置列表中的第一项
代理运行后访问:
http://localhost:8080
支持在线修改 API 配置、生成证书、写入 / 还原 hosts 文件。
证书默认生成到 ca/ 目录,文件命名为 <domain>.crt / <domain>.key。
证书生成已完全用纯 Go 实现,不再依赖 OpenSSL。
自动配置(--auto-config)会完成:
- 生成自签名 CA 及域名证书
- 将 CA 证书安装到系统信任存储
- 将域名解析到
127.0.0.1写入 hosts 文件
需要管理员 / root 权限。