GitHub Copilot 連線逾時?Clash 排錯與修復指南
付費機場不一定適合所有人,免費節點也並非沒有使用成本。本文用可執行的測速、試用和風險檢查方法,對比兩者在穩定性、隱私、流量與售後方面的差異,並說明購買後如何將訂閱安全導入 Clash。
先確認 GitHub Copilot 的逾時症狀
GitHub Copilot 出現「連線逾時」、無法登入、聊天視窗一直載入,或程式碼補全突然停止時,不一定代表 GitHub Copilot 服務本身故障。對使用 Clash 的開發者而言,請求可能會先經過編輯器、作業系統代理、Clash 規則、DNS 解析與代理節點,任何一層設定不一致,都可能讓 Copilot 看似離線。
常見現象包括:Visual Studio Code 可以開啟一般網站,但 Copilot Chat 顯示網路錯誤;瀏覽器能登入 GitHub,編輯器卻無法完成授權;補全偶爾成功、偶爾卡住;或 Clash 的 Connections 中看不到與 GitHub、Copilot 相關的連線。這些症狀通常反映的是應用程式沒有使用預期的代理、規則把請求送往 DIRECT、節點對長連線支援不佳,而不只是單純的網速問題。
排錯前先確認電腦的日期、時間與時區正確,並暫時關閉其他 VPN、系統級加速器或代理外掛。多個網路工具同時接管 DNS、TUN 或系統代理時,容易形成代理鏈、埠號衝突或憑證驗證異常。若公司網路需要入口網站認證,也應先在瀏覽器完成登入,再測試 Copilot。
第一步:檢查 Clash 模式、節點與系統代理
建議按照以下順序確認:
- 確認 Clash 主程式正在執行,並且已載入有效的設定檔。
- 確認「系統代理」或「System Proxy」已開啟。
- 先使用
Rule模式,並確認主要策略組不是DIRECT或REJECT。 - 切換至一個延遲較低、近期仍可正常使用的節點。
- 必要時短暫使用
Global模式進行對照測試。
Clash 顯示已啟動,不代表所有應用程式都會自動經過 Clash。許多桌面應用程式會讀取作業系統的 HTTP 或 SOCKS 代理設定,但也有應用程式使用自己的網路層,甚至只接受環境變數或獨立的代理參數。因此,先在瀏覽器開啟 GitHub,再觀察 Clash 的 Connections 是否出現相關請求,是一個很有用的初步判斷方法。
如果使用 Global 模式後 Copilot 立即恢復,通常表示節點本身可以連線,問題較可能出在規則、策略組或域名分類。測試完成後,建議回到 Rule 模式,不要長期使用全域代理,因為更新套件、區域服務與內網資源可能因此增加延遲,甚至造成登入位置異常。
| 測試結果 | 較可能的原因 | 下一步 |
|---|---|---|
| Global 正常,Rule 逾時 | 規則命中錯誤或策略組指向 DIRECT | 檢查 GitHub 與 Copilot 域名的實際命中結果 |
| 所有模式都逾時 | 節點失效、出口受限或 TLS 連線不穩 | 更換節點並查看 Clash 日誌 |
| 瀏覽器正常,VS Code 失敗 | 編輯器沒有使用系統代理 | 檢查編輯器代理設定與環境變數 |
| 登入成功但補全失敗 | 長連線、特定 API 域名或 DNS 分流異常 | 檢查 Connections、DNS 與規則集 |
第二步:檢查規則命中與編輯器代理設定
Clash 規則通常由上而下匹配,命中第一條規則後便不再繼續往下判斷。當 GitHub Copilot 逾時時,不要只看訂閱頁面是否顯示更新成功,應直接打開 Clash 的 Connections 或 Logs,重新觸發一次登入、聊天或程式碼補全,觀察請求最後使用了哪個策略。
重點不是只查詢 github.com。Copilot 的登入、授權、API、補全與聊天功能可能涉及不同的 GitHub 相關主機名稱,也可能依照服務版本或地區而改變。看到請求後,記下完整域名、連線結果、使用的策略組與節點,再對照規則列表。若某個較上方的 DOMAIN-SUFFIX、DOMAIN-KEYWORD、GEOIP 或自訂拒絕規則先被命中,就可能造成「GitHub 網頁正常,但 Copilot 不正常」。
實用判斷方式
先只做一個改動:將問題連線暫時指定到明確可用的代理策略組,再重新啟動 Copilot 請求。如果問題消失,代表應優先修正規則或策略組,而不是立刻修改 DNS。每次只改一個變數,才能準確知道是哪項設定造成改善或惡化。
若瀏覽器能使用 GitHub,但 Visual Studio Code、JetBrains IDE 或其他編輯器仍顯示逾時,請檢查該應用程式的代理選項。以 VS Code 為例,可在設定中搜尋 proxy,確認代理是否被設為錯誤的固定地址、是否啟用了不再使用的 SOCKS 埠,或是否設定了會繞過系統代理的選項。某些版本也會受到 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY 與 NO_PROXY 環境變數影響;若變數指向已停止的本機服務,便可能出現編輯器逾時。
請特別留意 NO_PROXY。如果其中包含 GitHub 相關域名,應用程式可能會跳過 Clash,直接連線到目前網路的出口。相反地,若公司內網或本機開發服務需要直連,也不要粗略刪除所有例外項目。正確做法是保留必要的內網網段,並只針對 Copilot 的實際連線重新檢查代理路徑。
第三步:排查 DNS、TLS 與長連線問題
DNS 異常是 GitHub Copilot 逾時中很容易被忽略的一環。編輯器在建立 HTTPS 連線前,必須先將域名解析成 IP;如果系統 DNS、瀏覽器 DNS、Clash DNS 三者的結果不同,可能出現瀏覽器偶爾可用、編輯器持續逾時,或同一個節點在不同裝置上表現不一致的情況。
請在 Clash 的 DNS 設定中確認 nameserver 有可用的上游服務,並避免把所有查詢交給一個不穩定或會被攔截的本地 DNS。若使用 fake-ip 模式,檢查設定檔是否正確啟用 DNS 劫持,以及編輯器、GitHub 登入服務或公司內網域名是否被錯誤加入 fake-ip-filter。不要因為一次測試失敗就盲目切換所有 DNS 參數,先記錄原始設定,再逐項調整。
注意 TLS 錯誤
如果日誌出現 TLS handshake timeout、certificate verify failed、connection reset 或 i/o timeout,不要直接關閉憑證驗證。忽略 TLS 憑證錯誤會降低安全性,還可能讓登入權杖暴露在不可信的連線中。應先更換節點、確認系統時間、更新用戶端與根憑證,再判斷是否為代理出口的問題。
Copilot 的聊天與補全不一定是一次請求後立即結束,部分功能會維持較長的 HTTPS 或串流連線。因此,某些只適合短時間網頁瀏覽的節點,可能能開啟 GitHub 首頁,卻在 Copilot 等待回應時逾時。比較節點時,不要只看延遲數字,也要觀察連續連線的穩定度、封包遺失、TLS 建立時間與長時間傳輸是否中斷。
如果 Clash 日誌顯示連線已建立,但數十秒後才逾時,可嘗試更換另一個地區的節點,並暫時關閉可能造成額外轉發的多層代理設定。若所有節點都在相同時間失敗,也要考慮 GitHub 或 Copilot 服務端維護、公司防火牆限制、校園網路封鎖或服務商出口異常,而不是持續修改本機 YAML。
第四步:用最小變更完成驗證與修復
完成前面檢查後,建議建立一個「最小可用」的測試環境:保留一個可靠節點、一個清楚的代理策略組、簡單的 Rule 規則,以及正常運作的 DNS。先不要同時套用大量自訂規則、廣告攔截清單、特殊 DNS 覆寫與多層策略組。設定越複雜,越難判斷逾時是由哪一個環節引起。
- 重啟 Clash,重新載入設定檔,確認節點清單與策略組完整。
- 選擇一個已透過瀏覽器驗證可用的節點,不要在測試期間頻繁自動切換。
- 確認系統代理與編輯器代理沒有互相覆蓋,並清理指向舊埠號的環境變數。
- 在 Connections 中觸發一次 GitHub 登入、Copilot 補全與聊天請求,分別記錄命中規則。
- 若仍逾時,再逐一測試 DNS 模式、節點地區與 TUN 開關,並保留每次測試結果。
若你在 Windows 上使用 TUN 模式,還要確認它沒有與其他 VPN、虛擬網卡、企業安全軟體或防火牆規則衝突。TUN 主要用於接管不遵循系統代理的應用程式,但它也會增加路由與 DNS 的複雜度。當 Copilot 只是單一編輯器出問題時,先使用一般系統代理完成對照,往往比立刻開啟所有透明代理功能更容易定位。
修復成功後,建議把有效設定備份一份,並在設定檔中為重要策略組使用容易辨識的名稱。更新訂閱後再次確認策略組預設值,因為訂閱服務商可能更換規則、節點名稱或 DNS 區塊。若日後又出現逾時,可以直接比較新舊設定,而不用從頭猜測。
有些其他代理工具的介面雖然提供一鍵連線,但對應用程式代理、規則命中、DNS 路徑與長連線狀態的呈現較不完整,遇到 Copilot 這類需要多個服務端點的功能時,往往只能反覆重啟或更換整套設定。Clash 則能透過清楚的策略組、即時日誌、Connections、Rule 與 DNS 控制,逐層確認問題究竟發生在節點、規則還是應用程式代理;如果你希望之後遇到 GitHub Copilot 逾時時能更快定位原因,不妨下載 Clash,依照本文流程建立一套可觀察、可回復的代理設定。