命令列的 GitHub Copilot
GitHub Copilot 不僅是用於整合開發環境(IDE)——它現在是你終端機中強大的助手。 GitHub Copilot CLI 將 Copilot 直接帶入命令列,能解釋指令、從自然語言建議 shell 指令,並協助你安全且互動地處理檔案和專案。
Copilot CLI 使用 GitHub 認證,且獨立於 GitHub CLI 運作,但會使用你現有的憑證。 無論你是指令列新手還是經驗豐富的開發者,Copilot CLI 都能減少猜測並加速日常工作流程。
本單元涵蓋:
- 安裝與執行 GitHub Copilot CLI
- 終端機中的互動式會話
- 斜線指令與自然語言輸入
- 配置與選項
安裝與啟動 Copilot CLI
在 macOS 和 Linux 上透過 Homebrew 安裝:
brew install copilot-cli
或者使用 官方安裝腳本:
curl -fsSL https://gh.io/copilot-install | bash
以 互動模式啟動 Copilot CLI:
copilot
它會顯示歡迎橫幅和一則提示:
在第一次啟動時,Copilot 會詢問你是否信任目前資料夾裡的檔案。 Copilot 可在會話中讀取、修改或執行此目錄中的檔案,因此只能在你信任的位置繼續操作。
你可以用 來 @ 選擇你想處理的特定檔案作為上下文。
在互動式會議中,你可以:
-
使用斜杠指令(
/command)來控制會話並設定 Copilot CLI。 - 輸入 自然語言提示 來解釋、建議或修訂指令。
如果要在不進入完整互動模式的情況下執行單次提示:
copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"
常見的斜線指令
Slash 指令是明確的控制會話指令。 以下是最常見的:
| 斬擊指令 | Description |
|---|---|
/help |
顯示可用指令與選項 |
/explain <command> |
讓 Copilot 解釋任何 shell 指令 |
/suggest <task> |
請 Copilot 建議用於某項工作的 shell 指令 |
/revise |
根據你的指示修改最後的建議 |
/feedback |
對回應或建議提交回饋 |
/exit |
退出互動模式 |
/model <model> |
選擇使用哪個 AI 模型 |
/theme [auto|dark|light] |
更改終端主題 |
/skills |
管理技能以提升能力 |
/mcp |
管理 MCP 伺服器配置 |
/list-dirs |
顯示允許檔案操作的目錄 |
/reset-allowed-tools |
重設允許的工具清單 |
斜線指令無法被自然語言提示取代。 它們是控制會話設定和設定的唯一方式。
工作流程範例
1. 解釋指令
> Explain what `git reset --hard HEAD` does
Copilot 會提供詳細說明。
2. 建議指令
> Find and delete all .log files in my home folder
Copilot 會產生指令建議,如果你對建議滿意,會提示你執行。
3. 修訂建議
收到建議後,你可以輸入後續提示來修正建議指令:
> Include only files modified in the last 7 days
4. 提供回饋
回覆或建議後:
> /feedback
Copilot 會提示你選擇想要發送的回饋類型,然後導向正確的表單完成回饋。
5. 退出互動模式
> /exit
設定選項
在 Copilot CLI 中,設定方式如下:
在互動模式中的斜線指令
-
/model選擇 AI 模型 -
/theme更換終端主題 -
/skills管理增強型功能 -
/reset-allowed-tools重置工具 -
/list-dirs查看允許目錄 -
/mcpMCP 伺服器設定
-
副駕駛 CLI 配置 (非互動模式)
Copilot CLI 的設定透過權限提示、命令列旗標及本地設定檔來管理。 這些設定控制 Copilot 能存取並代表你執行的事項。
常見的組態選項包括:
- 受信任目錄——控制 Copilot 可讀取、編輯及執行檔案。
- 工具權限 – 允許或限制 Copilot 執行 shell 指令或使用如
--allow-tool或--deny-tool等旗標修改檔案。 - 路徑權限 – 控制 Copilot 可存取的目錄。
- URL 權限 – 管理 Copilot 可連接的外部網域。
完整設定選項請參閱 官方 GitHub Copilot CLI 文件 。
沙盒執行環境
GitHub Copilot CLI 支援沙盒執行環境,幫助保護你的系統,同時讓 Copilot 代表你執行任務。
沙盒化能將指令、檔案操作及其他活動與主要開發環境隔離開來。 根據你的工作流程,你可以選擇 本地沙盒 或 雲端沙盒。
本機沙箱
本地沙盒讓 Copilot 能在你電腦的受限環境中執行指令。
啟用後,Copilot 對您的檔案系統、網路連線及作業系統功能的存取權限有限,有助於降低意外變更的風險,同時仍能讓您享受代理程式輔助的工作流程。
若要在互動工作階段中啟用本機沙箱:
/sandbox enable
啟用沙盒後,Copilot 執行的指令會在沙盒環境中執行,而非直接在主機系統上執行。
本地沙盒的好處
| Benefit | Description |
|---|---|
| 改善安全性 | 限制對敏感系統資源的存取。 |
| 更安全的實驗 | 讓你能以較低風險測試代理驅動的工作流程。 |
| 地方處決 | 能利用你機器的資源,不需要雲端基礎設施。 |
| 更強的控制力 | 在使用自主代理時提供額外防護措施。 |
雲端沙箱
雲端沙箱讓 Copilot CLI 會話能在 GitHub 完全隔離的 Linux 環境中運行。
與本地沙盒不同,雲端沙盒會話完全在 GitHub 託管的基礎設施中執行,並與你的本地機器及其他沙盒會話分開運作。
雲端沙箱是建立在 Azure 容器應用程式 沙盒之上,GitHub 提供認證、治理、政策執行及帳單整合。
若要開始雲端沙箱工作階段:
copilot --cloud
啟動後,Copilot 可在雲端環境中執行指令、修改檔案、執行測試及執行開發任務,而非在本地裝置上完成。
雲端沙盒的好處
| Benefit | Description |
|---|---|
| 強烈隔離 | 工作負載會獨立於你的本機運作。 |
| 裝置彈性 | 在不同裝置上繼續開始工作階段。 |
| 資源卸載 | 使用雲端資源取代本地 CPU 和記憶體。 |
| 平行執行 | 同時執行多個代理驅動任務。 |
跨裝置繼續開始工作階段
由於雲端沙盒會話運行於 GitHub 託管的基礎設施中,工作不會綁定在特定電腦上。
這可讓您:
- 在一台裝置上啟動工作階段
- 從另一台裝置恢復同一個會話
- 繼續工作,無需手動傳輸檔案或重建環境
這種彈性對於跨多台機器或多地點工作的開發者尤其有用。
雲端沙盒會話生命週期
雲端沙盒會話可以存在三種狀態:
| State | Description |
|---|---|
| 現役 | 會話正在進行,並可供互動。 |
| 已停止 | 會話會暫停,但其狀態會被保留以備未來使用。 |
| 已刪除 | 會話和所有儲存狀態都會永久移除。 |
當會話停止時,GitHub 會儲存環境快照,包括檔案、環境變數及進行中的工作。 恢復會話會恢復儲存狀態,讓你能從中斷的地方繼續。
認證與存取
雲端沙盒使用與 GitHub Copilot CLI 相同的認證模型。
如果你能驗證到 GitHub Copilot CLI 並有權限存取 GitHub Copilot,就不需要額外的雲端服務提供者設定。
您不需要:
- 管理 API 金鑰
- 配置雲端基礎設施
- 佈建虛擬機器
- 維護容器環境
Note
組織或企業管理員必須啟用雲端沙盒存取政策,成員才能使用雲端沙盒環境。
本機與雲端沙箱
| 特徵 / 功能 | 本地沙盒 | 雲端沙盒 |
|---|---|---|
| 執行地點 | 本地機器 | GitHub 託管環境 |
| 資源使用量 | 地方資源 | 雲端資源 |
| 隔離等級 | 受限的當地環境 | 完全隔離的雲端環境 |
| 裝置獨立性 | No | 是的 |
| 平行工作負載 | 受限於本地硬體 | 易於擴展 |
什麼時候應該使用沙箱?
考慮在以下情況下使用沙盒:
- 處理不熟悉的資料庫
- 測試由代理程式產生的指令
- 運行自主工作流程
- 執行可能具破壞性的行動
- 跨多裝置運作
- 卸載運算密集型開發任務
沙盒提供額外的安全與彈性層,讓您能安全地使用 GitHub Copilot CLI 的代理功能。
有效使用 Copilot CLI 的技巧
- 探索性任務請使用互動模式(
copilot)。 - 使用一次模式 (
copilot -i) 以取得快速回應。 - 自然語言輸入是可行的——你不一定需要斜線指令。
- 執行前一定要複習指令。
- 將 Copilot CLI 與 GitHub CLI
gh() 結合,用於儲存庫和問題管理。 - 使用 斜杠指令 來進行結構化的操作或回饋。