| Crates.io | ai-req-proxy |
| lib.rs | ai-req-proxy |
| version | 0.1.1 |
| created_at | 2026-01-07 15:46:56.366604+00 |
| updated_at | 2026-01-07 16:48:58.903903+00 |
| description | ai-req-proxy是一个简单的 HTTP 请求转发代理服务器,专门用于调试和监控 AI API 请求 |
| homepage | https://github.com/heqingpan/ai-req-proxy |
| repository | https://github.com/heqingpan/ai-req-proxy |
| max_upload_size | |
| id | 2028543 |
| size | 100,623 |
一个简单的 HTTP 请求转发代理服务器,专门用于调试和监控 AI API 请求。
# 克隆仓库
git clone <repository-url>
cd ai-req-proxy
# 编译
cargo build --release
# 编译后的二进制文件位于 target/release/ai-req-proxy
ai-req-proxy <监听地址> <监听端口> <转发目标URL> [选项]
监听地址:代理服务器监听的网络地址,如 0.0.0.0 或 127.0.0.1监听端口:代理服务器监听的端口号转发目标URL:请求转发的目标 AI 服务地址-s, --save-all-requests:可选,启用后将保存所有请求和响应内容到文件# 基本启动(不保存请求)
ai-req-proxy 0.0.0.0 7080 https://open.bigmodel.cn
# 启用请求保存功能
ai-req-proxy 0.0.0.0 7080 https://open.bigmodel.cn -s
# 只监听本地
ai-req-proxy 127.0.0.1 8080 https://api.openai.com -s
启动代理后,将 AI API 客户端的请求地址改为代理地址即可:
# 例如使用 curl 发送请求
curl http://127.0.0.1:7080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
启用 -s 选项后,请求和响应会按照以下结构保存到文件系统:
data/req/
└── 20240107/
├── 20240107_143022_000001.json # 原始请求 JSON
├── 20240107_143022_000001.struct_req.txt # 结构化请求文本
└── 20240107_143022_000001.resp.json # 响应 JSON
{日期}_{时间}_{请求ID:06}.json - 原始请求内容{日期}_{时间}_{请求ID:06}.struct_req.txt - 结构化解析后的请求(包含工具调用等详细信息){日期}_{时间}_{请求ID:06}.resp.json - 响应内容对于 OpenAI 格式的请求,会自动解析并格式化为易读的文本格式,包括:
程序会输出详细的日志信息,包括:
[req_N] 请求ID - 每个请求的唯一标识见 LICENSE 文件