AI Gateway
Estimated reading time: 2 minutes 预计阅读时间: 2 分钟Full Chinese version:
/guide/core/ai-gateway.
Three protocol entrypoints
Each protocol has its own ApiKeyStrategy::for_group(_, ErrorFlavor::*) and *_panic_guard so failures stay in the matching shape.
6-dim routing
3-stage billing
Reserve avoids over-charging under concurrency; Settle reconciles to real usage; Refund covers upstream failures.
Hot reload
Everything that drives routing lives in DB tables (ai.channel, ai.channel_account, ai.routing_rule, ai.routing_target, ai.model_config, ai.channel_model_price, ai.token, ai.user_quota). relay/src/service/channel_store.rs polls and refreshes on a fixed interval — no restart required.
Request log
ai.request_log captures request_id, flavor, endpoint, client/upstream model, channel id, prompt/completion tokens, latency, status, attempts, and cost. Available via /api/ai-admin/request-log.
Calling examples
Source files
crates/summer-ai/relay/src/router/{mod,openai,claude,gemini}.rscrates/summer-ai/relay/src/{auth,service,convert,extract,pipeline}/crates/summer-ai/admin/src/router/(15+ files)crates/summer-ai/billing/src/
