【免费下载链接】CliRelaySelf-hosted AI gateway for coding CLIs — one OpenAI/Claude/Gemini/Codex-compatible endpoint, with a multi-tenant web console, request logs, and spend quotas.项目地址https://gitcode.com/gh_mirrors/cl/CliRelay点击查看免费下载CliRelay 是一个自托管 AI 网关AI Gateway一个兼容 OpenAI / Claude / Gemini / Codex 协议的端点自带多租户 Web 控制台、请求日志和花费额度Spend Quota。本文带你把最关键的三块配置一次配到位routing.strategy多账号调度策略、额度账号额度耗尽行为与每把 Key 的花费上限、request-log-storage请求日志存储与保留策略每个参数都说明含义、给出推荐值。先记住 CliRelay 的请求链路鉴权 → 额度检查 → 路由调度 → 执行上游请求。这三块配置正好对应链路上的三个关卡——额度决定能不能发routing.strategy决定发给哪个账号request-log-storage决定发完留多少痕迹。routing.strategy多个账号匹配时怎么选当同一个模型有多把凭据API Key、OAuth 账号可用时CliRelay 靠routing.strategy决定流量落到哪个账号。在 config.example.yaml 中routing: strategy: round-robin # round-robin (default), fill-first include-default-group: true三种策略一览策略值行为适合场景round-robin默认组内账号轮流接请求账号额度相近追求均匀磨损fill-first先把一个账号额度填满再切下一个想用便宜账号到耗尽再升级session-sticky同一会话粘性绑定同一账号达到上限后重新挑选长对话上下文依赖强、怕中途换号输入值会被自动归一化如sticky、ff也能识别解析逻辑见 routing_groups.go。两个容易踩的坑首次启动后 routing 归面板管。第一次启动时该段会写入数据库并从config.yaml中移除之后请去管理面板的「渠道分组」页修改再往 YAML 里写 routing 会被忽略。分组比策略更重要。用channel-groups按前缀、渠道把账号圈成组如pro、team-apath-routes还能把/pro这类自定义路径映射到指定分组示例都在 config.example.yaml。进阶组内调度模型较新版本在分组内还提供了更细的调度块见 routing_scheduling.godistributionweighted按权重默认/least-load选负载最低的/fill-firststicky会话粘性开关max-requests默认 200 次后强制换号release-at-load可提前释放绑定额度配置账号额度耗尽时怎么办账号额度如订阅用量窗口用尽后CliRelay 的行为由 config.example.yaml 的这段控制quota-exceeded: switch-project: true # 额度用完自动切到另一个 project switch-preview-model: true # 额度用完自动降级到 preview 模型配合两个缓冲参数避免瞬时失败request-retry: 3—— 403/408/5xx 时自动重试次数max-retry-interval: 30—— 等待冷却账号的最长秒数account-concurrency—— 账号并发槽被占满时请求排队等待的超时默认 30 秒与最大排队深度见 config.example.yaml客户端侧的花费上限则配置在每把 API Key 上例如 config.example.yamlapi-key-entries: - key: sk-user-pro daily-spending-limit: 2.0 # 每把 Key 每天最多花 2 美元 allowed-channel-groups: [pro]门户账号、权限模板还能叠加日 / 周期 / 累计额度、RPM 与 TPM 限制在面板中直接管理request-log-storage请求日志存储一次配到位无论是否开启完整请求体存储请求元数据时间、渠道、模型、token、状态码始终会记录。是否落库完整请求/响应体由request-log-storage控制完整字段定义见 sdk_config.go推荐配置如下request-log-storage: store-content: true # 开启完整请求/响应体落库默认关闭 content-retention-days: 7 # 完整内容保留 7 天 cleanup-interval-minutes: 60 # 后台清理任务间隔 max-total-size-mb: 2048 # 请求体总量上限 2GB超出先删最旧代码默认值未配置时生效见 request_log_storage_defaults.go元数据保留 7 天、内容保留 3 天、最多 10 万行、内容体积上限 128MB。示例文件中给出的是演示值可按需覆盖。选型建议排查线上问题 →store-content: truecontent-retention-days: 7起步只关心统计和审计 → 保持默认关闭元数据已足够在面板里按渠道/用户/模型聚合查询磁盘紧张 → 调低max-total-size-mb超限时最旧请求体优先被清理面板改还是文件改三块配置都支持两种方式直接编辑config.yaml或在管理面板的「配置面板」里可视化修改支持 YAML 源编辑改完即时生效routing部分首次启动后请到「渠道分组」页维护。小结与资料索引配置项一句话位置routing.strategyround-robin/fill-first/session-sticky分组与路径路由更强大config.example.yaml#L304-L330quota-exceeded 重试额度耗尽自动切 project / 降级模型失败自动重试config.example.yaml#L268-L288daily-spending-limit每把客户端 Key 的花费上限与渠道分组限制config.example.yaml#L337-L343request-log-storage请求体是否落库、保留几天、体积上限config.example.yaml#L229-L247延伸阅读README_CN.md 中的「关键配置」一节有全部配置项速查表。赞分享【免费下载链接】CliRelaySelf-hosted AI gateway for coding CLIs — one OpenAI/Claude/Gemini/Codex-compatible endpoint, with a multi-tenant web console, request logs, and spend quotas.项目地址https://gitcode.com/gh_mirrors/cl/CliRelay点击查看免费下载相关推荐SQLPad 日志配置指南基于 pino 的应用日志与 Web 请求日志详解SQLPad 日志配置指南基于 pino 的应用日志与 Web 请求日志详解 SQLPad 是一款基于 Web 的 SQL 编辑器其服务端日志系统构建在轻量后端数据可视化数据库数据分析终极STM32开源项目指南快速入门嵌入式开发终极STM32开源项目指南快速入门嵌入式开发 STM32开源项目是面向嵌入式开发新手和爱好者的完整资源库包含丰富的外设驱动、应用示例和开发工具帮助开发者快人工智能LLM 网关API网关AI 应用后端前端桌面应用GitLab4J API 日志记录配置详解如何正确启用请求响应日志GitLab4J API 日志记录配置详解如何正确启用请求响应日志 背景介绍 在使用GitLab4J API进行开发时开发者经常需要查看API请求和响应的详开发工具后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考