新在 Codex 里直接唤起 Claude Code:一个窗口搞定规划与执行
开发者“刀刀”分享了一个实用技巧:在 Codex 的终端中输入 claude -p 直接唤起 Claude Code,实现两者的无缝协作。Codex 负责快速执行,Claude 负责复杂架构规划,无需切换窗口。注意此方式需自备 Claude...
最近有开发者在使用 Codex Desktop 时遇到了连接超时、反复重连的问题。这其实和它的应用形态有直接关系。Reconnecting.. 2/5

Codex Desktop 是桌面端应用,它不像浏览器那样能自动接管系统代理设置。在启动时,它必须显式读取环境变量中的网络代理配置,才能正常走代理网络。
如果你的网络环境需要代理才能访问,但没有提前配置好环境变量,Codex Desktop 就会默认自己能直连目标服务器。结果往往是等半天没响应,最后只能不断进入重连循环。

解决办法是在系统中显式设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量,确保应用启动时能正确读取到代理配置,避免无意义的等待。

怎么用
上面图片显示的 http,https 的代理端口都是 6152,可以手动创建,或者编辑已有的 ~/.codex/.env, 写入代理变量。
HTTP_PROXY=http://127.0.0.1:6152
HTTPS_PROXY=http://127.0.0.1:6152
编辑完 ~/.codex/.env,保存之后,退出 codex Desktop 后重新打开 codex Desktop,即可解决这个问题。
不想手搓的话,可以使用下面的 Prompt,发送给 Codex
帮我修复 Codex Desktop 一直 Reconnecting 的问题。
请定位我本机正在使用的代理端口和代理协议,然后创建或更新 ~/.codex/.env,写入以下代理配置。不要写死端口,请替换成实际端口;如果文件已经存在,保留其他配置。
HTTP_PROXY="http://127.0.0.1:<HTTP 或 mixed 端口>"
HTTPS_PROXY="http://127.0.0.1:<HTTP 或 mixed 端口>"
写入后检查配置是否正确,并告诉我需要如何重启 Codex Desktop。
当然,你也可以试一下,我的一键自动化脚本(只适用macOS)
#!/bin/bash
# 检测 macOS 系统代理并更新 ~/.codex/.env
ENV_DIR="$HOME/.codex"
ENV_FILE="$ENV_DIR/.env"
# 读取系统代理配置
proxy_info=$(scutil --proxy)
http_enabled=$(echo "$proxy_info" | awk '/HTTPEnable/{print $3}')
http_host=$(echo "$proxy_info" | awk '/HTTPProxy/{print $3}')
http_port=$(echo "$proxy_info" | awk '/HTTPPort/{print $3}')
https_enabled=$(echo "$proxy_info" | awk '/HTTPSEnable/{print $3}')
https_host=$(echo "$proxy_info" | awk '/HTTPSProxy/{print $3}')
https_port=$(echo "$proxy_info" | awk '/HTTPSPort/{print $3}')
# 构建代理 URL
http_proxy=""
https_proxy=""
if [[ "$http_enabled" == "1" && -n "$http_host" && -n "$http_port" ]]; then
http_proxy="http://${http_host}:${http_port}"
fi
if [[ "$https_enabled" == "1" && -n "$https_host" && -n "$https_port" ]]; then
https_proxy="http://${https_host}:${https_port}"
fi
# 如果 HTTP 代理和 HTTPS 代理都没有
if [[ -z "$http_proxy" && -z "$https_proxy" ]]; then
echo "❌ 未检测到系统代理,当前无代理设置。"
exit 0
fi
# HTTPS 未单独设置时,复用 HTTP 代理
if [[ -n "$http_proxy" && -z "$https_proxy" ]]; then
https_proxy="$http_proxy"
fi
echo "✅ 检测到系统代理:"
[[ -n "$http_proxy" ]] && echo " HTTP_PROXY=$http_proxy"
[[ -n "$https_proxy" ]] && echo " HTTPS_PROXY=$https_proxy"
# 确保目录存在
mkdir -p "$ENV_DIR"
# 如果 .env 文件不存在,直接创建
if [[ ! -f "$ENV_FILE" ]]; then
{
[[ -n "$http_proxy" ]] && echo "HTTP_PROXY=$http_proxy"
[[ -n "$https_proxy" ]] && echo "HTTPS_PROXY=$https_proxy"
} > "$ENV_FILE"
echo "📄 已创建 $ENV_FILE 并写入代理配置。"
exit 0
fi
# 文件已存在,更新或追加
update_or_append() {
local key="$1" value="$2"
if grep -q "^${key}=" "$ENV_FILE"; then
sed -i '' "s|^${key}=.*|${key}=${value}|" "$ENV_FILE"
echo "🔄 已更新 ${key}"
else
echo "${key}=${value}" >> "$ENV_FILE"
echo "➕ 已追加 ${key}"
fi
}
[[ -n "$http_proxy" ]] && update_or_append "HTTP_PROXY" "$http_proxy"
[[ -n "$https_proxy" ]] && update_or_append "HTTPS_PROXY" "$https_proxy"
echo "✅ $ENV_FILE 已更新完成。"
图片来源:x.com