ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CCX:统一多协议 AI API 代理网关——多上游接入、智能调度与单端口一键部署实战

CCX:统一多协议 AI API 代理网关——多上游接入、智能调度与单端口一键部署实战 API网关LLM 网关后端【免费下载链接】ccxClaude / Codex / Gemini API Proxy - CCX项目地址https://gitcode.com/gh_mirrors/cc/ccx点击查看免费下载CCX 是一个以 Go 后端为核心的单端口 AI API 代理与协议转换网关面向 Claude、OpenAI、Gemini、DeepSeek、Kimi、GLM、MiniMax 等多类 LLM 上游统一承载 Claude Messages、OpenAI Chat/Images、Codex Responses、Gemini 原生等多种协议。本文基于 docs/index.md 的项目定位与能力总览结合 架构说明、快速开始、部署指南 与仓库源码系统讲解 CCX 的多协议接入面、智能调度机制、Web 管理界面与一键部署方案读完即可完成从安装、配置渠道到接入 Claude Code / Codex CLI 等客户端的完整落地。CCX 是什么多上游统一代理的核心定位从项目首页的核心定位看CCX 面向的核心场景非常明确以统一入口代理多种 AI 上游并对不同协议做转换。官方定义如下项目定位AI API 代理网关即「Claude / Codex / Gemini API Proxy」上游支持Claude、OpenAI、Gemini、DeepSeek、Kimi、GLM、MiniMax、通义千问等多上游统一入口前端构建产物通过 Go 的embed.FS嵌入后端二进制单端口同时承载 Web UI、管理 API 与代理 API在仓库中这一「单二进制、单端口」设计有直接的源码证据backend-go/main.go 中通过//go:embed all:frontend/dist将前端构建产物打包进后端进程backend-go/internal/handlers/frontend.go 负责将其以静态资源方式提供服务。这意味着部署时只需运行一个二进制、监听一个端口Web 管理界面与代理 API 天然同源。四大核心特性首页以四个特性概括 CCX 的能力多协议支持、智能调度、Web 管理界面、一键部署。以下逐一展开并结合源码与文档深化。1. 多协议支持六类代理入口CCX 内建六类渠道类型每类渠道拥有独立的调度、指标与日志空间对应不同的代理入口渠道类型代理入口管理入口说明Messages/v1/messages/api/messages/channels/*Claude Messages 语义Chat/v1/chat/completions/api/chat/channels/*OpenAI Chat CompletionsResponses/v1/responses、/v1/responses/compact/api/responses/channels/*Codex / OpenAI ResponsesGemini/v1beta/models/*/api/gemini/channels/*Gemini 原生协议Images/v1/images/generations、/v1/images/edits、/v1/images/variations/api/images/channels/*OpenAI ImagesVectors/v1/embeddings/api/vectors/channels/*OpenAI Embeddings大多数代理入口还支持/:routePrefix/...变体用于为渠道配置附加自定义前缀详见 架构说明。这意味着同一套网关既能服务 Claude CodeMessages 协议也能服务 OpenAI 系 SDKChat / Responses 协议与 Gemini 客户端无需为每种协议单独部署服务。从源码结构看各协议 handler 在 backend-go/internal/handlers/ 下按协议分目录组织messages/、chat/、responses/、gemini/、images/、vectors/上游适配统一放在 backend-go/internal/providers/协议结构转换集中在 backend-go/internal/converters/可以推断其架构目标是「协议面」与「上游面」解耦新增协议或新增上游时互不干扰。2. 智能调度优先级、促销期、健康检查与熔断恢复CCX 的调度核心在 backend-go/internal/scheduler/选路时会综合考量渠道配置状态active/suspended/disabled促销期Promotion优先级Trace 亲和性熔断与可用 key 状态模型过滤规则上下文窗口与最大输出能力实际选路顺序为基础可用性过滤 → 模型过滤 → 路由前缀过滤 → 上下文能力过滤 → Vectors Embedding 兼容性过滤 → 手动排序 → Promotion 渠道 → Trace 亲和 → 普通 priority 顺序。其中Trace 亲和会「让位」给更高优先级且健康的候选渠道因此用户在驾驶舱中置顶 / reorder 渠道时低优先级亲和流量会被迁移到置顶渠道Promotion是临时强制优先机制会在首次选择时绕过健康检查尝试促销渠道失败场景下执行故障转移并结合熔断状态与定时恢复逻辑控制重试范围。上下文路由上下文路由用于解决同一渠道组内不同实际模型上下文窗口不一致的问题调度前先估算当前请求需要的上下文与输出预算结合下游 agent 请求模型的内置 profile 得到最小上下文窗口要求再按渠道modelMapping后的实际模型能力做资格过滤。能力来源优先级为下游 agentModelProfiles → 渠道modelCapabilities→ 全局upstreamModelCapabilities→ CCX 内置模型能力库 → 渠道defaultCapability→ unknown 策略。未知能力模型默认只允许承载不超过contextRouting.unknownSafeWindowTokens默认 200000 tokens的请求渠道设置allowUnknownContexttrue后可放行大上下文请求。完整配置示例见 架构说明 中的contextRouting段。Vectors Embedding 兼容过滤Vectors 渠道的/v1/embeddings在存在embeddingCapabilities元数据时启用严格兼容过滤候选渠道先按客户端原始model命中supportedModels再按modelMapping后的实际上游模型解析 Embedding 兼容元数据fallback 只会在相同embeddingSpaceId未配置时使用实际模型名、有效维度和归一化语义的候选之间发生。被过滤掉的候选不会发送上游请求也不会计入失败或熔断指标。完全没有 Embedding 元数据的旧配置则继续保持原有调度行为详见 环境变量指南 的 Vectors 配置示例。渠道级主动限速每个上游渠道还可配置主动限速字段rateLimitRpm、rateLimitBurst、rateLimitMaxConcurrent、rateLimitAutoFromHeaders在请求发往上游前主动限流规避免费/低额度上游如 MiMo的 RPM 限制导致的 429限速作用域是渠道级同渠道所有 API Key 共享令牌桶被限速拦截时会自动 failover 到其他可用渠道调度器在选择渠道时会跳过处于 cooldown 的渠道。3. Web 管理界面可视化渠道编排与实时监控CCX 的 Web 管理界面基于 Vue 3 Vuetify 构建源码位于 frontend/。首页将其能力概括为可视化渠道管理添加、编辑、测试渠道配置 Base URL、API Key、模型列表与优先级拖拽排序通过调整渠道顺序直接改变调度优先级实时监控查看请求量、成功率、失败率、延迟等渠道指标与全局/按模型统计历史数据日志查看每个渠道保留最近请求日志记录status、statusCode、requestSource、interfaceType、baseUrl、keyMask等字段Images 请求额外记录operationgenerations/edits/variations启动后访问http://localhost:3000使用ADMIN_ACCESS_KEY登录管理界面。管理界面同时承载三类可观测信息渠道指标、渠道日志、运行时状态熔断状态、黑名单 key 恢复、Promotion / Resume 等管理动作。4. 一键部署前端嵌入二进制单端口运行首页强调「前端嵌入二进制单端口部署支持 Docker 与系统服务」这在源码与部署文档中均有完整落点前端嵌入backend-go/main.go 通过embed.FS内嵌前端产物二进制自带 Web UIDocker官方镜像可直接运行见下文快速开始系统服务提供 Linux systemd部署指南、macOS launchddocs/service/com.ccx.gateway.plist与 Windows NSSMdocs/service/windows-nssm.md三种服务化方案快速上手从安装到首个请求Docker 部署推荐docker run -d \ --name ccx \ -p 3000:3000 \ -v ./.config:/app/.config \ -e PROXY_ACCESS_KEYyour-proxy-key \ crpi-i19l8zl0ugidq97v.cn-hangzhou.personal.cr.aliyuncs.com/bene/ccx:latest二进制部署export PROXY_ACCESS_KEYyour-proxy-key ./ccx服务默认监听http://localhost:3000。基本概念渠道Channel渠道是 CCX 的核心概念每个渠道对应一个上游 API 的配置包括API Key上游服务的认证密钥支持多 Key 轮转Base URL上游 API 的地址模型列表该渠道支持的模型白名单优先级调度时的优先级权重数字越小优先级越高访问管理界面启动后访问http://localhost:3000使用ADMIN_ACCESS_KEY登录即可添加和管理渠道、查看请求日志与流量统计、测试渠道连通性、调整渠道优先级。更完整的安装 → 配置密钥 → 启动服务 → Agent 配置 → 添加渠道 → 验证请求路径可参考 CCX Desktop 用户教程 与 快速开始。关键配置环境变量与服务化核心环境变量变量默认值说明PORT3000服务端口ENVproduction运行环境development/productionPROXY_ACCESS_KEY-代理访问密钥必填EXTRA_PROXY_ACCESS_KEYS-额外代理访问密钥可选逗号分隔仅用于代理 APIADMIN_ACCESS_KEY-管理界面密钥可选配置额外代理密钥时必填且必须独立QUIET_POLLING_LOGStrue静默轮询日志MAX_REQUEST_BODY_SIZE_MB50请求体大小限制ENABLE_WEB_UItrue是否启用 Web 管理界面LOG_LEVELinfo日志级别debug/info/warn/errorENABLE_REQUEST_LOGStrue是否记录请求日志ENABLE_RESPONSE_LOGSfalse是否记录响应日志METRICS_PERSISTENCE_ENABLEDtrue是否启用 SQLite 持久化METRICS_RETENTION_DAYS366数据保留天数3-366ENABLE_HTTPSfalse是否启用本地 HTTPS 监听TLS_AUTO_CERTtrue未配置证书时自动生成 localhost 临时自签名证书完整变量列表与本地 HTTPS、mkcert 证书签发、监听地址BIND_HOST说明见 环境变量指南。关于访问控制有一条重要约束只要配置了EXTRA_PROXY_ACCESS_KEYS管理接口就不再回退到PROXY_ACCESS_KEY必须显式设置独立的ADMIN_ACCESS_KEY且不能与任何代理密钥相同。Linux systemd 服务示例[Unit] DescriptionCCX AI API Gateway Afternetwork.target [Service] Typesimple ExecStart/opt/ccx/ccx WorkingDirectory/opt/ccx EnvironmentPROXY_ACCESS_KEYyour-proxy-key # 额外代理访问密钥可选逗号分隔启用后必须设置独立 ADMIN_ACCESS_KEY #EnvironmentEXTRA_PROXY_ACCESS_KEYSextra-proxy-key-1,extra-proxy-key-2 # 管理 API 独立密钥可选未设置时回退到 PROXY_ACCESS_KEY #EnvironmentADMIN_ACCESS_KEYyour-admin-secret-key Restartalways RestartSec5 [Install] WantedBymulti-user.target此外命令行版支持运行时路径覆盖ccx --config ~/.config/ccx/config.json --statedir ~/.local/state/ccx --logdir ~/.local/state/ccx/logs其中--config指定配置文件、--statedir指定状态目录metrics.db、conversation_state.json、scheduled_recovery_state.json写入该目录、--logdir指定日志目录none可禁用日志文件写入适合 systemd/journald 环境。配置 LLM 提供商渠道无论使用哪个提供商添加渠道的基本步骤一致登录管理界面 → 选择对应的代理入口Chat、Messages 等→ 点击「添加渠道」→ 填写渠道配置 → 保存并测试。关键配置字段字段说明名称渠道的显示名称便于识别服务类型上游 API 的协议类型openai、claude、gemini、responsesBase URL上游 API 的地址API Keys上游服务的认证密钥支持多 Key 轮转模型白名单限制该渠道可用的模型列表模型映射将请求中的模型名映射为上游实际模型名优先级数字越小优先级越高服务类型选择指南提供商Chat 入口Messages 入口说明DeepSeekopenai/https://api.deepseek.comclaude/https://api.deepseek.com/anthropic同时支持两种协议智谱 GLMopenai/https://open.bigmodel.cn/api/paas/v4claude/https://open.bigmodel.cn/api/anthropic同时支持两种协议MiniMaxopenai/https://api.minimax.io/v1claude/https://api.minimax.io/anthropic同时支持两种协议Kimi / Kimi Codeopenai/https://api.moonshot.cn/v1或https://api.kimi.com/coding/v1claude/https://api.kimi.com/coding/按量 API 与 Kimi Code 双入口OpenAI GPTopenai/https://api.openai.com/v1—仅 OpenAI 协议小米 MiMoopenai/ 见 MiMo 文档claude/ 见 MiMo 文档订阅套餐与余额两种访问方式Base URL 不同Claudeclaude协议转换claude/https://api.anthropic.com原生 Messages 协议Geminiopenai或gemini—支持 OpenAI 兼容和原生协议大多数国产 LLM 提供商同时兼容 OpenAI Chat 和 Anthropic Messages 协议使用 Claude Code CLI 时可直接在 Messages 入口配置 Anthropic 兼容端点。各提供商的分步配置教程见 docs/providers/ 下的 DeepSeek、GLM、MiniMax、Kimi、OpenAI、MiMo、Claude、Gemini、Copilot 专项文档。源码级纵深请求流与模块职责核心请求流Client - Auth Middleware - Route Handler - Channel Scheduler - Provider / Converter - Upstream API - Metrics / Channel Logs - Client Response分阶段说明中间件完成认证、CORS、压缩与请求日志处理backend-go/internal/middleware/各协议 handler 解析请求并选择对应渠道类型调度器根据渠道状态、优先级、促销期、Trace 亲和性和熔断状态选择上游Provider 负责将请求转换成上游协议并处理流式/非流式响应指标和渠道日志记录请求生命周期再返回统一响应核心模块职责模块职责internal/config/维护.config/config.json支持热重载与配置备份internal/handlers/承载 Messages、Chat、Responses、Gemini、Images、Vectors 代理与管理接口internal/providers/封装上游 API 的请求构造与响应处理屏蔽上游差异internal/converters/主要服务 Responses 场景负责协议间结构转换internal/scheduler/多渠道选路核心管理优先级、促销期、Trace 亲和性、故障转移与恢复internal/session/为 Responses API 提供previous_response_id驱动的会话跟踪internal/metrics/记录渠道指标、历史统计和请求日志支持熔断状态、持久化与自动恢复调度Model Registry 数据分发模型能力、定价与 benchmark 的唯一权威源是 shared/model-registry/ccx_model_registry.json。生成流程将其同步为公开文档站 presetdocs/public/presets/和后端内嵌 preset shardbackend-go/internal/presetstore/embedded.go运行时不再生成或依赖 Go/TypeScript 数据镜像upstreamCapabilities与benchmarkProfiles随同一个PresetBundle原子发布前端统一通过/api/presets获取当前生效版本。延伸阅读系统边界、核心模块与请求流 架构说明安装、渠道概念与六类代理入口 快速开始完整环境变量与本地 HTTPS 环境变量指南Docker Compose / systemd / launchd 部署 部署指南各 LLM 提供商渠道配置 配置教程Claude Code、Codex CLI / App、OpenCode 接入 客户端接入指南性能基准与压测结果 Benchmark 指南桌面端安装与使用 CCX Desktop 教程赞分享API网关LLM 网关后端【免费下载链接】ccxClaude / Codex / Gemini API Proxy - CCX项目地址https://gitcode.com/gh_mirrors/cc/ccx点击查看免费下载相关推荐Apache MXNet 稀疏计算实战Sparse Symbol API 四大示例FM / 稀疏线性分类 / 稀疏 Embedding 矩阵分解 / Wide Deep深度解析Apache MXNet 稀疏计算实战Sparse Symbol API 四大示例FM / 稀疏线性分类 / 稀疏 Embedding 矩阵分解 / WidAPI网关LLM 网关后端CCX 部署与使用全指南Claude / Codex / Gemini / OpenAI 多协议 API 代理网关实战CCX 部署与使用全指南Claude / Codex / Gemini / OpenAI 多协议 API 代理网关实战 CCX 是一个单端口部署的 AI APAPI网关LLM 网关后端Antigravity-Manager 实战指南多账号管理与多协议 AI 调度网关的部署与接入Antigravity Manager 实战指南多账号管理与多协议 AI 调度网关的部署与接入 Antigravity Tools仓库AntigravitLLM 网关API网关AI 应用后端上一篇Go-NFS缓存机制解析如何使用CachingHandler提升性能下一篇如何在React应用中优雅地展示和编辑JSON数据创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表