CPA如何使用docker本地部署呢

CPA如何使用本地部署呢?我直接操作docker中的ai安装了CPA Management,并且网页中也可以打开页面了,但是第一步注册的时候有一个需要秘钥key,但是我因为直接部署运行在docker中的,不知道该怎么找到这个key。

1 个赞

有个配置文件的啊,不懂也可以让AI帮你找

1 个赞


就是没看见这个部署的配置文件在哪里,问了这个docker的ai也没回答出来是哪里的

装好codex直接让它给你部署好呗,它刷刷刷两下就好了,另外你为什么要部署到本地?hf+spb免费部署

需要自己修改yaml文件,在里面显示使用登录密钥。仓库的代码文件也有example.yaml文件。设置好就能登录了,不会的话,让ai帮一帮忙

直接问claude code或者codex,一下子就帮你找出来了

1 个赞

让你的 ai 来 你只需要点允许

刚接触,不太懂这个,就是想着有佬友分享的cpa文件想试一下这个

1 个赞

claude code也可以直接接管到docker中吗?那应该在哪个文件夹中打开claude code呢

网站里有教程 命令如下

docker run --rm -p 8317:8317 -v /path/to/your/config.yaml:/CLIProxyAPI/config.yaml -v /path/to/your/auth-dir:/root/.cli-proxy-api eceasy/cli-proxy-api:latest

佬参考下看看 https://linux.do/t/topic/2138939

可以让ai直接写好compose文件

services:
  cli-proxy-api:
    image: eceasy/cli-proxy-api:latest
    container_name: cli-proxy-api
    ports:
      - "8317:8317"
    volumes:
      - ./config.yaml:/CLIProxyAPI/config.yaml
      - ./auths:/root/.cli-proxy-api
      - ./logs:/CLIProxyAPI/logs
    environment:
      - TZ=Asia/Shanghai
    restart: always

已经搞好了,谢谢各位佬的思路,当前是使用claude code搞出来的,直接告知了我key是什么

windows 就不用 配 docker了吧 多安装环境,直接 有windows版本 的 cpa 本地吗直接打开服务就醒了

借楼,在这贴一个汉化后的配置文件,供后续佬友的使用。

# 要绑定的服务器主机/接口。默认值为空 ("") 以绑定所有接口 (IPv4 + IPv6)。
# 使用 "127.0.0.1" 或 "localhost" 仅将访问权限限制为本机。
host: ""

# 服务器端口
port: 8317

# HTTPS 的 TLS 设置。启用后,服务器将使用提供的证书和密钥进行监听。
tls:
  enable: false
  cert: ""
  key: ""

# 管理 API 设置
remote-management:
  # 是否允许远程(非 localhost)管理访问。
  # 为 false 时,只有 localhost 可以访问管理端点(仍然需要密钥)。
  allow-remote: false

  # 管理密钥。如果在此处提供明文值,它将在启动时被哈希处理。
  # 所有管理请求(即使来自 localhost)都需要此密钥。
  # 留空以完全禁用管理 API(所有 /v0/management 路由返回 404)。
  secret-key: ""

  # 为 true 时,禁用捆绑的管理控制面板资源下载和 HTTP 路由。
  disable-control-panel: false

  # 禁用从 GitHub 自动定期后台更新管理面板(默认:false)。
  # 启用后,仅在首次访问且面板缺失时下载面板,之后不再自动更新。
  # disable-auto-update-panel: false

  # 管理控制面板的 GitHub 仓库。接受仓库 URL 或 releases API URL。
  panel-github-repository: "https://github.com/router-for-me/Cli-Proxy-API-Management-Center"

# 认证目录(支持 ~ 表示主目录)
auth-dir: "~/.cli-proxy-api"

# 用于认证的 API 密钥
api-keys:
  - "your-api-key-1"
  - "your-api-key-2"
  - "your-api-key-3"

# 启用调试日志
debug: false

# 启用 pprof HTTP 调试服务器 (host:port)。为了安全起见,请将其绑定到 localhost。
pprof:
  enable: false
  addr: "127.0.0.1:8316"

# 为 true 时,禁用高开销的 HTTP 中间件功能,以减少高并发下每个请求的内存使用量。
commercial-mode: false

# 为 true 时,将应用程序日志写入滚动文件而不是标准输出 (stdout)
logging-to-file: false

# logs 目录下日志文件的最大总大小 (MB)。当超过此值时,最旧的日志
# 文件将被删除,直到恢复到限制范围内。设置为 0 以禁用。
logs-max-total-size-mb: 0

# 禁用请求日志记录时保留的最大错误日志文件数。
# 当超过此值时,将删除最旧的错误日志文件。默认值为 10。设置为 0 以禁用清理。
error-logs-max-files: 10

# 为 false 时,禁用内存中的使用情况统计聚合
usage-statistics-enabled: false

# 为管理 API 在内存中保留使用队列项的时长(秒)。
# 禁用了本地 Redis RESP 使用情况输出。
# 默认:60。最大值:3600。
redis-usage-queue-retention-seconds: 60

# 代理 URL。支持 socks5/http/https 协议。示例:socks5://user:pass@192.168.1.1:1080/
# 每个条目的 proxy-url 也支持 "direct" 或 "none",以显式绕过全局 proxy-url 和环境变量代理。
proxy-url: ""

# 为 true 时,无前缀的模型请求仅使用没有前缀的凭据(除非 prefix == model name)。
force-model-prefix: false

# 为 true 时,将过滤后的上游响应头转发给下游客户端。
# 默认为 false(禁用)。
passthrough-headers: false

# 请求的重试次数。如果 HTTP 响应代码为 403、408、500、502、503 或 504,将进行重试。
request-retry: 3

# 对于单个失败的请求,尝试不同凭据的最大数量。
# 设置为 0 以保持旧版行为(尝试所有可用的凭据)。
max-retry-credentials: 0

# 在触发重试之前,冷却状态的凭据的最大等待时间(秒)。
max-retry-interval: 30

# 为 true 时,全局禁用 认证/模型 冷却调度(防止在失败状态后出现请求黑洞期)。
disable-cooling: false

# disable-image-generation 支持:false(默认)、true 或 "chat"。
# - true:全局禁用 image_generation(同时 /v1/images/generations 和 /v1/images/edits 返回 404)。
# - "chat":在非图像端点上禁用 image_generation 注入,但保持 /v1/images/generations 和 /v1/images/edits 启用。
disable-image-generation: false

# 通过托管的 image_generation 工具 (Responses API) 代理 gpt-image-2 时使用的基础模型。
# 必须以 "gpt-" 开头(不区分大小写)。如果未设置或无效,则默认为 "gpt-5.4-mini"。
# gpt-image-2-base-model: "gpt-5.4-mini"

# 核心认证自动刷新工作池大小(OAuth/基于文件的认证令牌刷新)。
# 当 > 0 时,覆盖默认的工作线程数 (16)。
# auth-auto-refresh-workers: 16

# 配额超限行为
quota-exceeded:
  switch-project: true # 当超出配额时是否自动切换到另一个项目
  switch-preview-model: true # 当超出配额时是否自动切换到预览模型
  antigravity-credits: true # 当 Claude 模型的所有免费层级认证耗尽时,是否将额度 (credits) 作为最后的备用方案

# 当有多个匹配项时,选择凭据的路由策略。
routing:
  strategy: "round-robin" # 轮询模式 (round-robin,默认), 填满优先模式 (fill-first)
  # 为所有客户端启用通用的会话粘性 (session-sticky) 路由。
  # 会话 ID 提取自:metadata.user_id (Claude Code 会话格式),
  # X-Session-ID, Session_id (Codex), X-Amp-Thread-Id (Amp CLI),
  # X-Client-Request-Id (PI), conversation_id, 或前几条消息的哈希值。
  # 当绑定的认证不可用时,始终启用自动故障转移。
  session-affinity: false # 默认:false
  # 会话到认证的绑定保留多长时间。默认:1h
  session-affinity-ttl: "1h"

# 为 true 时,启用 WebSocket API (/v1/ws) 的认证。
ws-auth: true

# 为 true 时,启用 Gemini CLI 内部端点 (/v1internal:*)。
# 出于安全考虑,默认为 false。
enable-gemini-cli-endpoint: false

# 当 > 0 时,对于非流式响应,每 N 秒发送一次空行,以防止空闲超时。
nonstream-keepalive-interval: 0
# 流式处理行为 (SSE keep-alives + 安全启动重试)。
# streaming:
#   keepalive-seconds: 15   # 默认:0(禁用)。<= 0 禁用 keep-alives。
#   bootstrap-retries: 1    # 默认:0(禁用)。在发送第一个字节之前进行重试。

# 用于思考块 (thinking blocks) 的签名缓存验证 (Antigravity/Claude)。
# 为 true(默认)时,优先使用并验证缓存的签名。
# 为 false 时,规范化后直接使用客户端签名(用于测试的旁路模式)。
# antigravity-signature-cache-enabled: true

# 旁路模式签名验证严格度(仅在禁用签名缓存时适用)。
# 为 true 时,验证完整的 Claude protobuf 树(字段 2 -> 字段 1 结构)。
# 为 false(默认)时,仅检查 R/E 前缀 + base64 + 第一个字节 0x12。
# antigravity-signature-bypass-strict: false

# Gemini API 密钥
# gemini-api-key:
#   - api-key: "AIzaSy...01"
#     prefix: "test" # 可选:需要像 "test/gemini-3-pro-preview" 这样的调用来指向此凭据
#     disable-cooling: false # 可选:每个认证覆盖 认证/模型 冷却调度
#     base-url: "https://generativelanguage.googleapis.com"
#     headers:
#       X-Custom-Header: "custom-value"
#     proxy-url: "socks5://proxy.example.com:1080"
#     # proxy-url: "direct" # 可选:显式为此凭据直连
#     models:
#       - name: "gemini-2.5-flash" # 上游模型名称
#         alias: "gemini-flash"    # 映射到上游模型的客户端别名
#     excluded-models:
#       - "gemini-2.5-pro"     # 从此提供商中排除特定模型(精确匹配)
#       - "gemini-2.5-*"       # 通配符匹配前缀 (例如 gemini-2.5-flash, gemini-2.5-pro)
#       - "*-preview"          # 通配符匹配后缀 (例如 gemini-3-pro-preview)
#       - "*flash*"            # 通配符匹配子串 (例如 gemini-2.5-flash-lite)
#   - api-key: "AIzaSy...02"

# Codex API 密钥
# codex-api-key:
#   - api-key: "sk-atSM..."
#     prefix: "test" # 可选:需要像 "test/gpt-5-codex" 这样的调用来指向此凭据
#     disable-cooling: false # 可选:每个认证覆盖 认证/模型 冷却调度
#     base-url: "https://www.example.com" # 使用自定义 Codex API 端点
#     headers:
#       X-Custom-Header: "custom-value"
#     proxy-url: "socks5://proxy.example.com:1080" # 可选:每个密钥代理覆盖
#     # proxy-url: "direct" # 可选:显式为此凭据直连
#     models:
#       - name: "gpt-5-codex"   # 上游模型名称
#         alias: "codex-latest" # 映射到上游模型的客户端别名
#     excluded-models:
#       - "gpt-5.1"         # 排除特定模型(精确匹配)
#       - "gpt-5-*"         # 通配符匹配前缀 (例如 gpt-5-medium, gpt-5-codex)
#       - "*-mini"          # 通配符匹配后缀 (例如 gpt-5-codex-mini)
#       - "*codex*"         # 通配符匹配子串 (例如 gpt-5-codex-low)

# Claude API 密钥
# claude-api-key:
#   - api-key: "sk-atSM..." # 使用官方 Claude API 密钥,无需设置 base url
#   - api-key: "sk-atSM..."
#     prefix: "test" # 可选:需要像 "test/claude-sonnet-latest" 这样的调用来指向此凭据
#     disable-cooling: false # 可选:每个认证覆盖 认证/模型 冷却调度
#     base-url: "https://www.example.com" # 使用自定义 Claude API 端点
#     headers:
#       X-Custom-Header: "custom-value"
#     proxy-url: "socks5://proxy.example.com:1080" # 可选:每个密钥代理覆盖
#     # proxy-url: "direct" # 可选:显式为此凭据直连
#     models:
#       - name: "claude-3-5-sonnet-20241022" # 上游模型名称
#         alias: "claude-sonnet-latest"      # 映射到上游模型的客户端别名
#     excluded-models:
#       - "claude-opus-4-5-20251101" # 排除特定模型(精确匹配)
#       - "claude-3-*"               # 通配符匹配前缀 (例如 claude-3-7-sonnet-20250219)
#       - "*-thinking"               # 通配符匹配后缀 (例如 claude-opus-4-5-thinking)
#       - "*haiku*"                  # 通配符匹配子串 (例如 claude-3-5-haiku-20241022)
#     cloak:                         # 可选:为非 Claude Code 客户端请求伪装 (cloaking)
#       mode: "auto"                 # "auto" (默认): 仅当客户端不是 Claude Code 时进行伪装
#                                    # "always": 始终应用伪装
#                                    # "never": 绝不应用伪装
#       strict-mode: false           # false (默认): 将 Claude Code 提示词添加到用户系统消息的前面
#                                    # true: 剥离所有用户系统消息,仅保留 Claude Code 提示词
#       sensitive-words:             # 可选:使用零宽字符混淆的单词
#         - "API"
#         - "proxy"
#       cache-user-id: true          # 可选:默认为 false;设置为 true 以针对每个 API 密钥重用缓存的 user_id,而不是每次请求都生成一个随机的
#       experimental-cch-signing: false # 可选:默认为 false;为 true 时,使用当前 Claude Code cch 算法对最终的 /v1/messages 主体进行签名
#                                       # 除非明确需要此行为,否则保持禁用,以便上游种子更改时回退到传统的代理行为

# Claude API 请求的默认标头。当 Claude Code 发布新版本时更新。
# 在旧版模式下,如果客户端省略了 user-agent/package-version/runtime-version/timeout,它们将被用作后备值,
# 而 OS/arch 保持在运行时派生。当
# stabilize-device-profile 启用时,OS/arch 保持固定为下面的基线值,
# 而 user-agent/package-version/runtime-version 将生成一个软件指纹,该指纹可以
# 仍能升级到更新的官方 Claude 客户端版本。
# claude-header-defaults:
#   user-agent: "claude-cli/2.1.44 (external, sdk-cli)"
#   package-version: "0.74.0"
#   runtime-version: "v24.3.0"
#   os: "MacOS"
#   arch: "arm64"
#   timeout: "600"
#   stabilize-device-profile: false  # 可选,默认为 false;设置为 true 以启用按 认证/API 密钥 绑定指纹

# Codex OAuth 模型请求的默认标头。
# 这些仅在客户端不发送标头时,用于文件支持/OAuth Codex 请求。
# user-agent 适用于 HTTP 和 websocket 请求;
# beta-features 仅适用于 websocket 请求。它们不适用于 codex-api-key 条目。
# codex-header-defaults:
#   user-agent: "codex_cli_rs/0.114.0 (Mac OS 14.2.0; x86_64) vscode/1.111.0"
#   beta-features: "multi_agent"

# OpenAI 兼容性提供商
# openai-compatibility:
#   - name: "openrouter" # 提供商的名称;它将用于 user agent 及其他地方。
#     disabled: false # 可选:设置为 true 以禁用此提供商而无需将其删除
#     prefix: "test" # 可选:需要像 "test/kimi-k2" 这样的调用来指向此提供商的凭据
#     base-url: "https://openrouter.ai/api/v1" # 提供商的 base URL。
#     disable-cooling: false # 可选:每个提供商覆盖 认证/模型 冷却调度
#     headers:
#       X-Custom-Header: "custom-value"
#     api-key-entries:
#       - api-key: "sk-or-v1-...b780"
#         proxy-url: "socks5://proxy.example.com:1080" # 可选:每个密钥代理覆盖
#         # proxy-url: "direct" # 可选:显式为此凭据直连
#       - api-key: "sk-or-v1-...b781" # 没有 proxy-url
#     models: # 提供商支持的模型。
#       - name: "moonshotai/kimi-k2:free" # 实际的模型名称。
#         alias: "kimi-k2"                # 在 API 中使用的别名。
#         image: false                    # 可选:设置为 true 以允许此模型访问 /v1/images/generations 和 /v1/images/edits
#         thinking:                       # 可选:省略则默认为 ["low","medium","high"] 级别
#           levels: ["low", "medium", "high"]
#       # 您可以重复相同的别名来构建内部模型池。
#       # 客户端在模型列表中仍然只看到一个别名。
#       # 对该别名的请求将在下面的上游名称之间进行轮询,
#       # 并且如果选定的上游在产生输出之前失败,请求将
#       # 在同一别名池中继续使用下一个上游模型。
#       - name: "deepseek-v3.1"
#         alias: "claude-opus-4.66"
#       - name: "glm-5"
#         alias: "claude-opus-4.66"
#       - name: "kimi-k2.5"
#         alias: "claude-opus-4.66"

# Vertex API 密钥(兼容 Vertex 的端点,base-url 是可选的)
# vertex-api-key:
#   - api-key: "vk-123..."                        # x-goog-api-key 标头
#     prefix: "test"                              # 可选:需要像 "test/vertex-pro" 这样的调用来指向此凭据
#     base-url: "https://example.com/api"         # 可选,例如 https://zenmux.ai/api;省略时回退到 Google Vertex
#     proxy-url: "socks5://proxy.example.com:1080" # 可选:每个密钥代理覆盖
#     # proxy-url: "direct" # 可选:显式为此凭据直连
#     headers:
#       X-Custom-Header: "custom-value"
#     models:                                     # 可选:将别名映射到上游模型名称
#       - name: "gemini-2.5-flash"                # 上游模型名称
#         alias: "vertex-flash"                   # 客户端可见的别名
#       - name: "gemini-2.5-pro"
#         alias: "vertex-pro"
#     excluded-models:                            # 可选:从列表中排除的模型
#       - "imagen-3.0-generate-002"
#       - "imagen-*"

# Amp 集成
# ampcode:
#   # 为 Amp CLI OAuth 和管理功能配置上游 URL
#   upstream-url: "https://ampcode.com"
#   # 可选:覆盖 Amp 上游的 API 密钥(否则使用环境变量或文件)
#   upstream-api-key: ""
#   # 每个客户端的上游 API 密钥映射
#   # 将客户端 API 密钥(来自顶层的 api-keys)映射到不同的 Amp 上游 API 密钥。
#   # 当不同的客户端需要使用不同的 Amp 账户/配额时很有用。
#   # 如果未映射客户端密钥,则回退到 upstream-api-key(默认行为)。
#   upstream-api-keys:
#     - upstream-api-key: "amp_key_for_team_a"    # 这些客户端要使用的上游密钥
#       api-keys:                                 # 使用此上游密钥的客户端密钥
#         - "your-api-key-1"
#         - "your-api-key-2"
#     - upstream-api-key: "amp_key_for_team_b"
#       api-keys:
#         - "your-api-key-3"
#   # 将 Amp 管理路由(/api/auth, /api/user 等)限制为仅 localhost(默认:false)
#   restrict-management-to-localhost: false
#   # 在检查本地 API 密钥之前强制运行模型映射(默认:false)
#   force-model-mappings: false
#   # Amp 模型映射
#   # 将不可用的 Amp 模型路由到本地代理中可用的替代模型。
#   # 当 Amp CLI 请求您无法访问的模型(例如 Claude Opus 4.5)
#   # 但您有可用的类似模型(例如 Claude Sonnet 4)时非常有用。
#   model-mappings:
#     - from: "claude-opus-4-5-20251101"          # Amp CLI 请求的模型
#       to: "gemini-claude-opus-4-5-thinking"     # 路由到此可用模型进行替代
#     - from: "claude-sonnet-4-5-20250929"
#       to: "gemini-claude-sonnet-4-5-thinking"
#     - from: "claude-haiku-4-5-20251001"
#       to: "gemini-2.5-flash"

# 全局 OAuth 模型名称别名(每个通道)
# 这些别名为模型列表和请求路由重命名模型 ID。
# 支持的通道: gemini-cli, vertex, aistudio, antigravity, claude, codex, kimi, xai.
# 注意:别名不适用于 gemini-api-key, codex-api-key, claude-api-key, openai-compatibility, vertex-api-key, 或 ampcode。
# 注意:由于别名会影响合并的 /v1 模型列表和合并的请求路由,重叠的
# 客户端可见名称在跨提供商时可能会变得含糊不清。/api/provider/{provider}/... 有助于
# 您选择协议层,但推理后端选择仍然可以遵循已解析的
# 模型/别名。为了严格固定后端,请使用独一无二的别名/前缀,或避免名称重叠。
# 您可以使用不同的别名重复相同的名称,以暴露多个客户端模型名称。
# oauth-model-alias:
#   gemini-cli:
#     - name: "gemini-2.5-pro"          # 此通道下的原始模型名称
#       alias: "g2.5p"                  # 客户端可见的别名
#       fork: true                      # 为 true 时,保留原始模型,并将别名也作为额外的模型添加(默认:false)
#   vertex:
#     - name: "gemini-2.5-pro"
#       alias: "g2.5p"
#   aistudio:
#     - name: "gemini-2.5-pro"
#       alias: "g2.5p"
#   antigravity:
#     - name: "gemini-3-pro-high"
#       alias: "gemini-3-pro-preview"
#   claude:
#     - name: "claude-sonnet-4-5-20250929"
#       alias: "cs4.5"
#   codex:
#     - name: "gpt-5"
#       alias: "g5"
#   kimi:
#     - name: "kimi-k2.5"
#       alias: "k2.5"
#   xai:
#     - name: "grok-4.3"
#       alias: "grok-latest"

# OAuth 提供商排除的模型
# oauth-excluded-models:
#   gemini-cli:
#     - "gemini-2.5-pro"     # 排除特定模型(精确匹配)
#     - "gemini-2.5-*"       # 通配符匹配前缀 (例如 gemini-2.5-flash, gemini-2.5-pro)
#     - "*-preview"          # 通配符匹配后缀 (例如 gemini-3-pro-preview)
#     - "*flash*"            # 通配符匹配子串 (例如 gemini-2.5-flash-lite)
#   vertex:
#     - "gemini-3-pro-preview"
#   aistudio:
#     - "gemini-3-pro-preview"
#   antigravity:
#     - "gemini-3-pro-preview"
#   claude:
#     - "claude-3-5-haiku-20241022"
#   codex:
#     - "gpt-5-codex-mini"
#   kimi:
#     - "kimi-k2-thinking"
#   xai:
#     - "grok-3-mini"

# 可选负载 (payload) 配置
# payload:
#   default: # 默认规则仅在负载中缺少参数时才设置它们。
#     - models:
#         - name: "gemini-2.5-pro" # 支持通配符(例如 "gemini-*")
#           protocol: "gemini" # 将规则限制为特定协议,选项: openai, gemini, claude, codex, antigravity
#           from-protocol: "responses" # 将规则限制为源协议,选项: openai, responses, gemini, claude
#           headers: # 所有配置的请求标头必须匹配;值支持 "*" 通配符
#             X-Client-Tier: "tenant-*-region-*"
#           match: # 所有负载 JSON 路径必须等于配置的值
#             - "metadata.client": "codex"
#           not-match: # 负载 JSON 路径不得等于配置的值
#             - "metadata.mode": "dev"
#           exist: # 所有负载 JSON 路径必须存在且不能为空 (null)
#             - "tools.#(type==\"web_search\").type"
#           not-exist: # 所有负载 JSON 路径必须缺失或为空 (null)
#             - "metadata.disable_payload"
#       params: # JSON 路径 (gjson/sjson 语法) -> 值
#         "generationConfig.thinkingConfig.thinkingBudget": 32768
#   default-raw: # 默认原始规则在缺失时使用原始 JSON 设置参数(必须是有效的 JSON)。
#     - models:
#         - name: "gemini-2.5-pro" # 支持通配符(例如 "gemini-*")
#           protocol: "gemini" # 将规则限制为特定协议,选项: openai, gemini, claude, codex, antigravity
#       params: # JSON 路径 (gjson/sjson 语法) -> 原始 JSON 值(字符串按原样使用,必须是有效的 JSON)
#         "generationConfig.responseJsonSchema": "{\"type\":\"object\",\"properties\":{\"answer\":{\"type\":\"string\"}}}"
#   override: # 覆盖规则始终设置参数,覆盖任何现有值。
#     - models:
#         - name: "gpt-*" # 支持通配符(例如 "gpt-*")
#           protocol: "codex" # 将规则限制为特定协议,选项: openai, gemini, claude, codex, antigravity
#       params: # JSON 路径 (gjson/sjson 语法) -> 值
#         "reasoning.effort": "high"
#   override-raw: # 覆盖原始规则始终使用原始 JSON 设置参数(必须是有效的 JSON)。
#     - models:
#         - name: "gpt-*" # 支持通配符(例如 "gpt-*")
#           protocol: "codex" # 将规则限制为特定协议,选项: openai, gemini, claude, codex, antigravity
#       params: # JSON 路径 (gjson/sjson 语法) -> 原始 JSON 值(字符串按原样使用,必须是有效的 JSON)
#         "response_format": "{\"type\":\"json_schema\",\"json_schema\":{\"name\":\"answer\",\"schema\":{\"type\":\"object\"}}}"
#   filter: # 过滤规则从负载中移除指定的参数。
#     - models:
#         - name: "gemini-2.5-pro" # 支持通配符(例如 "gemini-*")
#           protocol: "gemini" # 将规则限制为特定协议,选项: openai, gemini, claude, codex, antigravity
#       params: # 要从负载中移除的 JSON 路径 (gjson/sjson 语法)
#         - "generationConfig.thinkingConfig.thinkingBudget"
#         - "generationConfig.responseJsonSchema"

大佬有没有空开一个对接codex,对接claude code的最佳配置(使用cc switch)

没用过ccw,不会 :joy:
我是最终接到axonhub里再直接接到cc里用

借楼问一下 CPA配置了多个AI 提供商 设置好优先级 一个供应商失败 会自动按优先级切换供应商对吗 频繁切换供应商 缓存命中会有影响吗