# 策展 · X (Twitter) 🔥

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 作者：前端哥Liam (@jinglian) · 平台：X (Twitter) · 日期：2026-06-06

> 原始來源：https://x.com/jinglian/status/2063109080126832741

## 中文摘要

# 一招解決 Codex 重新連線 5 次的問題

使用 Codex Desktop 時，估計大家經常會遇到下面這種情況：

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1780746271653-iaHKGWtmpXMAAnL7bpng.png)

而且幾乎每次，都是在 5 次重試連線後才能獲得回應。這 5 次重新連線讓大家等待了太多時間，純屬浪費。

原因在於 Codex Desktop 新版升級之後（具體從哪個版本開始並不清楚），預設連線方式改成了 WebSocket 協定。當連不上時，日誌中會直接顯示 WebSocket 握手逾時。

為什麼會這樣？因為 Codex Desktop 是一個桌面應用程式，它不像瀏覽器那樣會自動使用系統代理。它啟動時，需要明確讀取環境變數中的 `HTTP_PROXY` 與 `HTTPS_PROXY` 才會走代理。如果沒有設定這些變數，它會以為自己能直接連線，結果就是等了半天沒回應，只好進入重連迴圈。

## 以 macOS 為例

1. 在終端機輸入以下指令查看代理資訊：

```bash
scutil --proxy
```

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1780746271664-iaHKGfi7sWMAAY8f8jpg.jpg)

上圖顯示 http 與 https 的代理連接埠都是 6152，你可以手動建立，或是編輯已有的 `~/.codex/.env` 檔案，寫入代理變數：

```bash
HTTP_PROXY=http://127.0.0.1:6152
HTTPS_PROXY=http://127.0.0.1:6152
```

編輯完 `~/.codex/.env` 並儲存後，關閉 Codex Desktop 再重新開啟，即可解決這個問題。

---

不想手動設定的話，可以使用下面的 Prompt 發送給 Codex：

```text
幫我修復 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）：

```bash
#!/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 已更新完成。"
```

---

想快速入門 AI，但不知道從哪開始？

AI Spark 免費整理了一份 AI 知識庫，涵蓋 AI 基礎、知識庫搭建、工作流應用、主流 AI 工具、Obsidian、Codex、skill 和 Prompt 實戰。

免費知識庫：

https://lcnniolukk80.feishu.cn/wiki/space/7644091204958866380?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home

## 標籤

Codex, 教學資源, 其他, Codex
