跳转到内容

配置说明

推荐从以下文件开始:

  • gproxy.example.toml:最小可运行示例
  • gproxy.example.full.toml:全量字段示例

运行时优先级:

CLI 参数 / 环境变量 > gproxy.toml > 默认值

常用覆盖项:

  • --config / GPROXY_CONFIG_PATH
  • --host / GPROXY_HOST
  • --port / GPROXY_PORT
  • --proxy / GPROXY_PROXY
  • --admin-key / GPROXY_ADMIN_KEY
  • --mask-sensitive-info / GPROXY_MASK_SENSITIVE_INFO
  • --data-dir / GPROXY_DATA_DIR
  • --dsn / GPROXY_DSN

gproxy-storage 已启用 sqlite + mysql + postgres 驱动。你只要改 global.dsn 即可切换。

示例:

# SQLite(默认)
dsn = "sqlite://./data/gproxy.db?mode=rwc"
# MySQL
dsn = "mysql://user:password@127.0.0.1:3306/gproxy"
# PostgreSQL
dsn = "postgres://user:password@127.0.0.1:5432/gproxy"
字段说明
host监听地址,默认 0.0.0.0
port监听端口,默认 8787
proxy上游代理;空字符串表示禁用
hf_token可选,HuggingFace token
hf_urlHuggingFace 基址,默认 https://huggingface.co
admin_key管理员 key;为空时首次可自动生成
mask_sensitive_info是否在日志/事件中脱敏敏感字段
data_dir数据目录,默认 ./data
dsn数据库 DSN(sqlite/mysql/postgres)
字段默认值说明
storage_write_queue_capacity4096存储写入队列容量
storage_write_max_batch_size1024单批次最大写入事件数
storage_write_aggregate_window_ms25聚合窗口(毫秒)

每个通道使用 [[channels]] 声明,常见字段:

  • id:通道 ID(内置如 openai,或自定义如 mycustom
  • enabled:是否启用
  • settings:通道配置(通常至少包含 base_url
  • dispatch:可选协议分发规则
  • credentials:凭证列表(支持多凭证)

示例:

[[channels]]
id = "openai"
enabled = true
[channels.settings]
base_url = "https://api.openai.com"
[[channels.credentials]]
id = "openai-main"
label = "primary"
secret = "sk-replace-me"
渠道idOAuth/v1/usagesecret 凭证
OpenAIopenai
Claudeclaude
AiStudioaistudio
VertexExpressvertexexpress
Vertexvertex否(service account)
GeminiCligeminicli否(OAuth builtin)
ClaudeCodeclaudecode否(OAuth/Cookie builtin)
Codexcodex否(OAuth builtin)
Antigravityantigravity否(OAuth builtin)
Nvidianvidia
Deepseekdeepseek
Groqgroq
[[channels]]
id = "mycustom"
enabled = true
[channels.settings]
base_url = "https://api.example.com"
[[channels.credentials]]
secret = "custom-provider-api-key"

说明:

  • 自定义渠道默认走 ProviderDispatchTable::default_for_custom()
  • 你也可以在配置里显式提供 dispatch,做精细化协议路由

可用字段:

  • id / label:可读标识
  • secret:API Key 通道
  • builtin:OAuth / ServiceAccount 结构化凭证
  • state:健康状态种子

健康状态类型:

  • healthy:可用
  • partial:模型级冷却(部分可用)
  • dead:不可用

dispatch 决定“请求进入后如何被实现”:

  • Passthrough:原样转发给上游
  • TransformTo:转换为目标协议再转发
  • Local:本地实现(例如某些计数能力)
  • Unsupported:显式不支持

这也是 GPROXY 同时支持多协议入口、多上游原生差异的核心机制。