CPA + Codex 配置避坑指南 前言 本文记录了配置 CLI Proxy API (CPA) 与 Codex 集成时遇到的各种坑,希望能帮助后来者少走弯路。 环境信息 系统 : macOS (Apple Silicon) CPA 版本 : v6.9.29 Codex 版本 : 0.121.0 代理工具 : ClashX / Clash Verge 核心问题:502 Bad Gateway 症状 Codex 启动后尝试连接 API 时,反复出现: Unexpected status 502 Bad Gateway: Unknown error, url: http://localhost:8321/v1/responses 根本原因 系统代理拦截了 localhost 请求! ClashX/Clash Verge 等代理工具默认会拦截所有 HTTP 请求,包括 localhost 和 127.0.0.1 。当 Codex 尝试访问本地 CPA 服务时,请求被代理转发,导致: 请求无法直接到达本地服务 代理返回 502 错误 日志中看不到任何请求记录(因为请求根本没到达目标服务) 解决方案 方法 1:设置 NO_PROXY 环境变量(推荐) # 添加到 ~/.zshrc 或 ~/.bashrc export NO_PROXY="localhost,127.0.0.1" # 应用配置 source ~/.zshrc 重要: 必须在新终端中启动 Codex,才能加载新的环境变量。 方法 2:配置代理绕过规则 在 ClashX/Clash Verge 中添加绕过规则,让 localhost 不走代理。 其他常见问题 1. API Key 不匹配 (401 Unauthorized) 症状: Unexpected status 401 Unauthorized: {"error":"Invalid API key"} 原因: Codex 使用了自己的 API key(格式如 sk-sub-Pack6n6X... ),而不是配置文件中的 api_key 。 解决方案: 将 Codex 使用的 key 添加到 CPA 配置中: # ~/cpa-config.yaml api-keys: - "your-custom-key" - "sk-sub-Pack6n6X_yKXdwEwPB2mT0iGkcQyE4IMMHe-kCN7TIy4L-gf" # Codex 的 key 重启 CPA: pkill -f "cpa.*config" ~/.local/bin/cpa -config ~/cpa-config.yaml > /tmp/cpa.log 2>&1 & 2. 端口被占用 症状: Error: listen EADDRINUSE: address already in use 127.0.0.1:8321 原因: 旧的 shim 进程还在运行 LaunchAgent 自动重启服务 解决方案: # 查找占用端口的进程 lsof -nP -iTCP:8321 -sTCP:LISTEN # 停止进程 kill -9 <PID> # 禁用自动启动 launchctl unload ~/Library/LaunchAgents/com.linkunkun.codex.cliproxy-shim.plist 3. 旧版本冲突 症状: Homebrew 安装的旧版本 cliproxyapi 自动重启。 解决方案: # 停止 Homebrew 服务 brew services stop cliproxyapi # 卸载旧版本 brew uninstall cliproxyapi # 清理配置 rm -rf /opt/homebrew/etc/cliproxyapi* rm -f ~/Library/LaunchAgents/homebrew.mxcl.cliproxyapi.plist 4. Shim 是否必需? 答案:不需要! 早期以为需要 shim 来转换请求格式,但实际上: CPA 原生支持 /v1/responses 端点 直接连接 CPA 更简洁高效 推荐配置: # ~/.codex/config.toml [model_providers.custom] name = "custom" wire_api = "responses" base_url = "http://localhost:8317/v1" # 直接连 CPA api_key = "your-api-key" 完整安装步骤 1. 安装 CPA # 下载最新版本 curl -L -o /tmp/cpa.tar.gz https://github.com/router-for-me/CLIProxyAPI/releases/download/v6.9.29/CLIProxyAPI_6.9.29_darwin_arm64.tar.gz # 解压并安装 cd /tmp tar -xzf cpa.tar.gz mkdir -p ~/.local/bin mv cli-proxy-api ~/.local/bin/cpa chmod +x ~/.local/bin/cpa # 添加到 PATH echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc source ~/.zshrc 2. 配置 CPA # 复制示例配置 cp /tmp/config.example.yaml ~/cpa-config.yaml # 编辑配置 vim ~/cpa-config.yaml 关键配置项: port: 8317 # 管理密钥 remote-management: secret-key: "your-admin-password" # API keys api-keys: - "your-api-key" 3. 启动 CPA nohup ~/.local/bin/cpa -config ~/cpa-config.yaml > /tmp/cpa.log 2>&1 & 4. 配置 Codex # ~/.codex/config.toml model_provider = "custom" model = "gpt-5.4" [model_providers.custom] name = "custom" wire_api = "responses" base_url = "http://localhost:8317/v1" api_key = "your-api-key" 5. 配置代理绕过(关键!) # 添加到 ~/.zshrc echo 'export NO_PROXY="localhost,127.0.0.1"' >> ~/.zshrc source ~/.zshrc 6. 测试 # 测试 CPA curl http://localhost:8317/v1/models -H "Authorization: Bearer your-api-key" # 在新终端启动 Codex codex 调试技巧 1. 查看 CPA 日志 tail -f /tmp/cpa.log 2. 查看 Codex 日志 tail -f ~/.codex/log/codex-tui.log 3. 检查端口占用 lsof -nP -iTCP:8317 -sTCP:LISTEN 4. 测试 API 连接 curl -v http://localhost:8317/v1/responses \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.4","input":[{"role":"user","content":[{"type":"input_text","text":"test"}]}]}' 5. 检查代理设置 # 查看环境变量 env | grep -i proxy # 查看活动连接 lsof -nP -iTCP | grep codex | grep ESTABLISHED 常见错误排查流程 502 Bad Gateway ↓ 检查是否有代理 (lsof -nP -iTCP | grep codex) ↓ 有代理 → 设置 NO_PROXY ↓ 无代理 → 检查服务是否运行 ↓ 401 Unauthorized ↓ 检查 Codex 使用的 API key (查看日志) ↓ 将 key 添加到 CPA 配置 ↓ 重启 CPA 总结 配置 CPA + Codex 的最大坑就是 系统代理 。记住: 设置 NO_PROXY 环境变量 在新终端启动 Codex 直接连接 CPA,不需要 shim 将 Codex 的 API key 添加到 CPA 配置 遵循这些原则,可以避免 90% 的问题。 参考资源 CPA GitHub CPA 文档 管理界面 最后更新 : 2026-04-18 作者 : 基于实际踩坑经历整理 5 个帖子 - 3 位参与者 阅读完整话题
本帖不叙述 wireguard 的具体配置步骤,仅谈论它的意义 如果你想要知道 wireguard 的配置方法,那么在论坛中搜索下,会有更多资料 我是一个喜欢自建服务的人,我很早就在自己的机器上维护了一批自己使用的东西,但是我希望能在互联网上访问它们 最开始我也是使用 frp 这类著名的穿透工具来提供访问,但后面我切换为了自建私有网络的道路。因为自己的东西主要是自用,或者几个人范围内使用,不需要提供任意来源的公网访问 对于这种场景,wireguard 等内网技术是更好的一种方案。 它能够: 让你定义一个自己的私有网段,然后将自己的设备加进去,当然,每一个设备都应运行 wireguard。在 nat 后的设备,应当将中继作为自己的 peer 让其中一个节点成为 wireguard 的网关,或称中继,一般 vps 充当这个角色。从而让自己的内网中的所有设备能够互相通信 杜绝了自己的服务被陌生人任意访问的风险 自从使用了 wireguard, 我认为我不会再回头去使用任何一种专门的内网穿透工具了。将自己的设备组装为同一个网络,带来的便利性和安全性是巨大的 下面的佬友认为,这种方案存在问题: 国内很可能导致被干扰和中断 ,因为它特征明显 这个问题很可能存在,不能排除 我只谈论下自己的经历,仅供参考:我所有设备都在国内,我不用这一工具来作为我翻墙的路径之一。我使用的疼薰云的 vps 作为中继,其他设备用的是移不动或者电不信的网络,我在中国防护相对严格的一个城市(可能),我和 vps 在两个不同的省份。日常使用似乎没有观察到 qos 问题 11 个帖子 - 10 位参与者 阅读完整话题
每次都会显示这个,但我之前好像都是这么配的,ccs上也没变什么,求助佬友 6 个帖子 - 3 位参与者 阅读完整话题
model_provider = "cliproxyapi" model = "gpt-5.4" model_reasoning_effort = "xhigh" service_tier = "fast" 上面是我codex 模型配置,我看cpa日志,是不会用gmini和claude的供应商,有啥办法在codex会话里面切换或者让cpa自动切换吗 随便再问一下,cpa里面ai供应商的那个前缀配置怎么用啊 2 个帖子 - 2 位参与者 阅读完整话题
好几次了可以curl出来,但是hermes无法使用 6 个帖子 - 3 位参与者 阅读完整话题
角色卡自带前端,配置好API,就能和NPC打电话,看NPC直播,发朋友圈,互相点赞评论,上搜索引擎,拍照听歌,视频,论坛,收集NPC自拍,日记 沉浸的虚拟社交关系,宅男福音啊,在API荒漠的时代,这种卡太糟心了,到处pvp 主聊天用claude4.6,前端API gemini3.0flash类脑的卡,全员恶癖 点击下图可以看动态效果… 7 个帖子 - 4 位参与者 阅读完整话题
已经在cc-switch中勾选了应用到vscode中,cc插件更新到最新版本,不选opus 1m会提示1m 上下文已经全量可用,选了1m,报错如下,终端的话是正常使用的: 1 个帖子 - 1 位参与者 阅读完整话题
各位能成功调用 Ark 模型的佬都是怎么配置的啊? 我这一直报 404 错误,也不知道怎么回事。 使用站点中的操练场就可以正常聊,不过它自认为是 gemini 我在 Codex 中的配置如下: model_provider = “myproxy” model = “glm-5.1” review_model = “glm-5.1” model_reasoning_effort = “high” model_verbosity = “high” disable_response_storage = true network_access = “enabled” windows_wsl_setup_acknowledged = true model_context_window = 256000 model_auto_compact_token_limit = 65536 [features] multi_agent = true [model_providers.myproxy] name = “MyProxy” base_url = “ https://windhub.cc/v1 ” wire_api = “responses” requires_openai_auth = true 其中 base_url 不加 /v1 就是 reconnect 5/5 然后报错了: stream disconnected before completion: stream closed before response.completed 哪位佬告诉我怎么搞?还是说 Ark 的不能用在 Codex CLI 中啊? 15 个帖子 - 7 位参与者 阅读完整话题
当前模型已被配置系统提示词为kimi k2.6,网页/app一致 3 个帖子 - 3 位参与者 阅读完整话题
在配置文件中指定 Model Name,可实时切换模型。当前支持配置的 Model Name: 可用模型 deepseek-v3.2 kimi-k2.5 glm-5 minimax-m2.5 ernie-4.5-turbo-20260402 接口地址 OpenAI 兼容: https://qianfan.baidubce.com/v2/coding Anthropic 兼容: https://qianfan.baidubce.com/anthropic/coding bce-v3/ALTAKSP-f5dZc3ndJHYbxrDCZiV0U/621c8c0f42e4e93b6b89a37d93f7e3ebc469b7a1 1 个帖子 - 1 位参与者 阅读完整话题
今天用 ccs 配置了geminicli,但是运行的时候发现一个问题,一旦根目录有.env这种环境变量的文件,他就跟卡死了一样,半天不回答。但是把.env文件删掉就可以正常使用,这个要怎么弄呢,捣鼓了半天,一直以为是我的配置问题,geminicli来回卸载安装,搞了半天 2 个帖子 - 2 位参与者 阅读完整话题
感觉any大佬的ccs配置完 用vs code 还是蹬不起来。 5 个帖子 - 5 位参与者 阅读完整话题
我codex买的pro,但是不知道服务器上怎么配置,服务器不能直接科学上网 claude想问下大家有没有推荐的中转,价格稍微合适点的 5 个帖子 - 3 位参与者 阅读完整话题
球大佬告知一个claude的setting配置,感觉配置是很久之前的 1 个帖子 - 1 位参与者 阅读完整话题
IT之家 4 月 18 日消息,广汽集团 4 月 17 日宣布正式组建全新智能座舱产品线,这是继整车与动力总成业务单元相继落地并高效运转后,广汽集团自主板块在智能化领域布局迎来的又一次关键里程碑。 IT之家从文中获悉,当前,语音指令响应不及时、不同车型操作逻辑不统一、交互系统缺乏情感化设计等问题,正成为影响用户购车决策的关键因素。 过去行业普遍存在的“功能堆砌”模式 ,已难以满足用户对智能座舱的期待。为了从根本上打破这一困局,广汽集团组建独立的智能座舱产品线。 全新的智能座舱产品线将对座舱领域的 软硬件资源、研发能力、设计团队 进行系统性整合,统一负责全品牌的产品定义、技术规划与用户体验设计。通过打破原有技术边界,广汽集团将彻底告别“ 为了配置而配置 ”的开发思路。 在流程上,智能座舱产品线将贯通“用户需求-产品定义-技术开发-量产交付-持续迭代”的全生命周期,同时,深度嵌入整车开发体系,与各整车业务单元建立高效协同机制, 在车型规划最初阶段即介入 ,确保不同车型均能为用户提供有辨识度的 广汽 智能体验。 在核心能力上,智能座舱产品线将依托广汽自主研发的“ 星河智舱 ”系统,通过 AI 大模型、多模态交互等前沿技术,将用户洞察转化为精准感知、主动守护与个性化服务的核心能力,推动智能座舱从“被动响应指令”向“主动理解需求”跨越。
newapi通过codex(openai oauth)添加渠道,然后选择5.3-codex,但是不能用,只能选择5.4才能用,这是为啥? 2 个帖子 - 1 位参与者 阅读完整话题
先说下我的环境:win11 安装hermes agent(原生安装非WSL)。配置好飞书后,聊天不到5次,直接挂了 。而且重启也启动不了!! PS C:\Users\User> hermes gateway run ┌─────────────────────────────────────────────────────────┐ │ Hermes Gateway Starting… │ ├─────────────────────────────────────────────────────────┤ │ Messaging platforms + cron scheduler │ │ Press Ctrl+C to stop │ └─────────────────────────────────────────────────────────┘ Traceback (most recent call last): File “”, line 198, in _run_module_as_main File “”, line 88, in run_code File "C:\Users\User\AppData\Local\hermes\hermes-agent\venv\Scripts\hermes.exe_ main .py", line 10, in File “C:\Users\User\AppData\Local\hermes\hermes-agent\hermes_cli\main.py”, line 6546, in main args.func(args) File “C:\Users\User\AppData\Local\hermes\hermes-agent\hermes_cli\main.py”, line 789, in cmd_gateway gateway_command(args) File “C:\Users\User\AppData\Local\hermes\hermes-agent\hermes_cli\gateway.py”, line 2911, in gateway_command run_gateway(verbose, quiet=quiet, replace=replace) File “C:\Users\User\AppData\Local\hermes\hermes-agent\hermes_cli\gateway.py”, line 1631, in run_gateway success = asyncio.run(start_gateway(replace=replace, verbosity=verbosity)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py”, line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File “C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py”, line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py”, line 654, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File “C:\Users\User\AppData\Local\hermes\hermes-agent\gateway\run.py”, line 9876, in start_gateway existing_pid = get_running_pid() ^^^^^^^^^^^^^^^^^ File “C:\Users\User\AppData\Local\hermes\hermes-agent\gateway\status.py”, line 434, in get_running_pid os.kill(pid, 0) # signal 0 = existence check, no actual signal sent ^^^^^^^^^^^^^^^ OSError: [WinError 11] An attempt was made to load a program with an incorrect format 7 个帖子 - 5 位参与者 阅读完整话题
配置了好几次都不行,总是提示这样的错误 API call failed (attempt 1/3): BadRequestError [HTTP 400] Provider: kimi-coding Model: kimi-k2.5 Endpoint: https://api.moonshot.ai/v1 Error: HTTP 400: Error code: 400 Non-retryable error (HTTP 400) — trying fallback… Non-retryable error (HTTP 400): HTTP 400: Error code: 400 Non-retryable client error (HTTP 400). Aborting. Provider: kimi-coding Model: kimi-k2.5 Endpoint: https://api.moonshot.ai/v1 This type of error won’t be fixed by retrying. 1 个帖子 - 1 位参与者 阅读完整话题
大火的 Hermes AI Agent 小白如何整 想在 Windows 上使用 却被 WSL2 和复杂的环境配置劝退? 一键脚本来了,附视频教程 M.'s Blog – 17 Apr 26 Windows 一键部署 Hermes AI Agent 小白也能玩转 NousResearch 大模型! 想在 Windows 上体验强大的 NousResearch Hermes AI Agent,却被 WSL2 和复杂的环境配置劝退 2 个帖子 - 2 位参与者 阅读完整话题
00e52c8b9c1a0b6b50d9267e15bef84a:MzU4ZTgyYTM1ZjgwZTg0YzY5Mjc5MGQ3 不会配置的可以去讯飞星辰官网看文档配一下,现在我模型给的是glm5。 4 个帖子 - 3 位参与者 阅读完整话题