Hub GitHub Copilot CLI 完整教學

附錄 A

指令與旗標速查

這份附錄是你的「隨手翻」小抄——把整本書教過的指令、旗標、設定鍵、slash 指令,全部濃縮成一張張表格,讓你不用翻回前面十幾章就能查到。

想像它是一本料理書最後面的「食材對照表」:平常做菜你看正文步驟,但臨時忘了「一小匙醬油是幾毫升」,翻到最後一頁掃一眼就找到。這份附錄就是 GitHub Copilot CLI 的那一頁——不講原理、不講比喻,只給你「我想做 X → 該打什麼」。

最重要的一句話(每張表都適用)

GitHub Copilot CLI 改版速度非常快——查證這本教學期間,官方 repo github/copilot-cli 曾在短短兩天內(2026-07-16 至 2026-07-17)連發四個版號。逐字的旗標、slash 指令與模型名稱都可能已經調整。任何一張表,最終真相都是你電腦上的 copilot --help、互動畫面裡的 /help,或當下最新的官方文件。 本附錄對照版本為 npm @github/copilot 1.0.71(2026-07-16 釋出),查核日期 2026-07-18。表裡標 ⚠️ 或「待查」的格子尤其要實機核對,別當鐵律背。

小技巧:怎麼用這份附錄

先看 A.1 挑一種安裝法,A.2/A.3 查指令列旗標與子命令,A.4/A.5 查互動畫面裡能打的 slash 指令與快捷鍵,A.6/A.7/A.8 查環境變數、設定目錄結構、hooks 事件。每段有標「詳見第 X 章」的地方,想懂原理就回正文翻。

A.1 安裝方式速查

四條官方安裝路徑,裝到的都是同一個 copilot 指令,差別只在你手邊工具最順手哪一種。

方式指令平台需要 Node.js?
npmnpm install -g @github/copilot全平台要(22 以上)
WinGetwinget install GitHub.Copilot僅 Windows不用
Homebrewbrew install --cask copilot-climacOS/Linux不用
官方安裝腳本curl/wget 一鍵腳本,支援 PREFIXVERSION 環境變數客製化macOS/Linux不用
直接下載執行檔github/copilot-cli Releases全平台不用(手動更新)

(料源:official,Installing GitHub Copilot CLI;已內建於 GitHub Codespaces 預設映像,不用額外裝)

# npm(注意套件名是 @github/copilot,不是 @github/copilot-cli)
npm install -g @github/copilot

# 若 ~/.npmrc 設了 ignore-scripts=true,改用這行讓安裝腳本正常跑完
npm_config_ignore_scripts=false npm install -g @github/copilot

# 想搶先用預發行版(不建議日常使用)
npm install -g @github/copilot@prerelease
# WinGet(Windows 原生,不需要 WSL)
winget install GitHub.Copilot
winget install GitHub.Copilot.Prerelease
# Homebrew(務必加 --cask,漏了會裝錯或找不到)
brew install --cask copilot-cli
brew install --cask copilot-cli@prerelease

(料源:official)

驗證安裝與解除安裝:

copilot --version          # 有反應就代表裝好了
npm uninstall -g @github/copilot        # 依你當初的安裝法對應反向指令
brew uninstall --cask copilot-cli
winget uninstall GitHub.Copilot

(料源:npm/Homebrew/WinGet 三種安裝指令為 official;解除安裝表官方安裝頁完全沒有「Uninstalling」段落,上面是各套件管理工具的標準反向指令推論,非官方逐字步驟,料源:community/推論)

重要提醒

官方安裝頁沒有列出明確的作業系統版本清單、CPU 架構支援表,也沒有明講是否需要 WSL——這不是查證疏漏,是官方頁面本身沒寫這麼細。保守做法:直接照上面指令裝裝看,裝不動、跑不動才回頭懷疑系統太舊。詳見第 2 章

A.2 主要 CLI 旗標分組

這些旗標加在 copilot 後面,用來「這一次」臨時改行為。

A.2.1 會話控制

旗標作用
--resume=<SESSION-ID>接續指定 session 的對話脈絡
--continue接續目前工作目錄最近一次 session,找不到才退回全域最近一次(跟 --resume 互斥,不能同時用)
--agent=<name> / --agent <name>指定用哪一個 custom agent 執行這次任務(.agent.md 定義,詳見第 12 章)

(料源:official,GitHub Copilot CLI command reference)

待查:--cloud 旗標

早期研究筆記草稿列過一個 copilot --cloud(雲端沙箱 session)旗標,但本書後續逐章查證時,沒有在任何一頁核對到這個旗標的官方逐字出處——雲端委派目前確認可用的路徑是互動畫面裡的 /delegate [PROMPT](詳見第 7 章),把任務丟給雲端 agent 背景執行。如果你查到 --cloud 這個旗標的官方文件連結,請以你實機 copilot --help 為準,這裡先老實標成待查,不寫成鐵板事實。

A.2.2 非互動模式

旗標作用
-p "text" / --prompt "text"非互動執行一句 prompt,跑完就退出
-s安靜模式:只留 agent 的純文字回答,適合接管線
--no-ask-user停用 ask_user 工具,讓 agent 自主工作、不暫停問你額外問題
--share=PATH存成本機 Markdown 檔(預設 ./copilot-session-<ID>.md
--share-gist發布成 GitHub secret gist
--secret-env-vars=VAR1,VAR2指定環境變數,輸出時自動遮蔽其值
--output-format=json輸出 JSONL(一行一個 JSON 物件),text(預設)/json 二選一

(料源:official,GitHub Copilot CLI programmatic referencecommand reference,詳見第 10 章)

copilot -p "summarize this repository" -s
copilot -p "audit the auth module for security issues" --share=./audit-report.md
copilot -p "list the top 5 files by risk" --output-format=json

重要提醒

copilot 沒有像 Codex CLI 那樣獨立的 exec 子指令,是同一個指令加 -p只要同時用 -p--prompt 給了一句 prompt,管道灌進來的 stdin 內容就會被整段忽略,不會自動併進去。另外,--output-format=json 只確認「JSONL 格式」本身,查證範圍內沒有找到 Codex CLI --output-schema 那種強制符合精確 JSON Schema 的機制,也沒有官方逐字的退出碼對照表——寫自動化腳本前先自己實測一次,別假設兩邊功能對等。詳見第 10 章

A.2.3 權限控制

旗標作用
--allow-all(別名 --yolo一次開三個開關:--allow-all-tools--allow-all-paths--allow-all-urls
--allow-all-tools所有工具免問即可執行
--allow-all-paths完全停用路徑檢查
--allow-all-urls允許存取所有 URL
--allow-tool=TOOL選擇性放行特定工具/子指令模式,多個用逗號分隔
--deny-tool=TOOL選擇性拒絕,deny 永遠贏過 allow(就算開了 --allow-all 也一樣)
--allow-url=URL / --deny-url=URL網域白/黑名單,同樣 deny 優先
--add-dir=DIRECTORY把額外目錄加進允許存取清單,可重複使用加多個

(料源:official,Allowing tools to run,詳見第 6 章第 7 章)

# 整個工具種類都放行
copilot --allow-tool=shell

# 精準放行某一句完整指令
copilot --allow-tool='shell(git commit)'

# 用萬用字元放行整組 git 子指令,但單獨擋掉 push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# 只放行寫入某個特定檔案
copilot --allow-tool='write(.github/copilot-instructions.md)'

# 放行某個 MCP 工具
copilot --allow-tool='github(create_issue)'

(料源:official;萬用字元只在 shell 比對所有子指令、url 比對子網域或路徑後綴這兩種情境有效,不是到處都能丟 *)

官方紅線,逐字轉述

「強烈建議只在隔離環境使用這些選項。你絕對不應該用 alias 讓這些選項每次啟動 Copilot CLI 時都自動套用。」--allow-all--yolo 只該在「就算搞砸也無所謂」的隔離環境(乾淨容器、拋棄式 VM)用,絕不寫進 .bashrc.zshrc 的 alias。詳見第 6 章

A.2.4 MCP 相關

旗標作用
--add-github-mcp-toolset <名稱>單次加開內建 GitHub MCP 的某一組工具集(例如 discussions
--enable-all-github-mcp-tools全部開放內建 GitHub MCP 工具,含寫入操作
--additional-mcp-config=<path>這次 session 額外加一份 MCP 設定檔
--disable-builtin-mcps關閉所有內建 MCP server
--disable-mcp-server=<name>關閉指定的單一 MCP server

(料源:--add-github-mcp-toolset--enable-all-github-mcp-tools 為 official,第 9 章已逐字核對;--additional-mcp-config--disable-builtin-mcps--disable-mcp-server 三項出自本書研究筆記引用 Add MCP servers 頁面,但完整逐字參數本次未能在其他章節二次核對,建議動手前先跑 copilot mcp --helpcopilot --help 確認你這一版實際支援的寫法)

copilot --add-github-mcp-toolset discussions
copilot --enable-all-github-mcp-tools

A.2.5 模型指定

旗標/變數作用
--model=<model> / --model <model>指定這次用哪個模型
COPILOT_MODEL(環境變數)這次 shell session 固定用某個模型,優先序比設定檔高、比 --model

模型決定的五層優先序(由高到低):custom agent 定義裡指定的 model → --model 旗標 → COPILOT_MODEL 環境變數 → ~/.copilot/settings.json 裡的 model 欄位 → CLI 預設模型。

(料源:official,GitHub Copilot CLI programmatic reference,詳見第 8 章第 10 章)

copilot -p "What does this project do?" -s --model claude-haiku-4.5

小技巧

每一版可用的模型字串清單,會列在 copilot help--model 選項的說明文字中——別照抄本書任何具體模型名稱,模型清單改版比版本號改得更快。

A.3 子命令總表

copilot 後面直接接的子命令。

子命令一句話作用詳見
copilot啟動互動式對話畫面(不接子命令時的預設)第 4 章
copilot -p "..."非互動模式,跑完即退出第 10 章
copilot login [--host HOST]登入;--host 指定 GitHub Enterprise Cloud 的 host第 3 章
copilot init在當前目錄生成 copilot-instructions.md 起手式第 8 章
copilot completion SHELL產生 shell 補全腳本(bashzshfish第 8 章
copilot update檢查並套用更新第 8 章
copilot version / copilot --version顯示目前版本號(兩種寫法都可用)第 2 章
copilot mcp管理 MCP server 的非互動子指令(addlist 等,完整參數以 copilot mcp --help 為準)第 9 章
copilot plugin / copilot plugins list/enable/disable/remove外掛與 marketplace 管理(兩種寫法在不同章節都出現過,實際支援哪一種以 copilot --help 為準)第 8 章第 9 章
copilot help [TOPIC]說明

(料源:official,逐項出自各對應章節已核對的官方文件)

待查:copilot skill 子命令

本書研究筆記初稿列過一個 copilot skill(技能管理,list/add/remove)子命令,但後續章節查證只確認到互動畫面裡的 /skills reload/skills info <name> 這兩個 slash 指令(見 A.4),沒有進一步核對到 copilot skill 這個獨立子命令的逐字官方出處。是否存在、確切語法,以你實機 copilot --help 為準,這裡老實標成待查。

A.4 互動模式 Slash 指令速查

在互動畫面的輸入框打 / 會跳出選單。官方原始文件列出超過 80 個斜線指令,這裡只收本書逐章查證過、比較常用的一批,依用途分組。完整清單以實機 /help 為準。

A.4.1 帳號與 Session

指令作用
/login登入
/logout登出
/user list列出已登入帳號
/new開新對話(清 context)
/clear清畫面、開新 chat

A.4.2 工作模式與計畫

指令作用
/plan [PROMPT]切到 Plan 模式,動手前先問清楚再建計畫(也可用 Shift+Tab 循環切換 Standard→Plan→Autopilot)
/allow-all [on|off|show](別名 /yolo [on|off|show]session 內開關全權限
/permissions [show|reset]查看或清除已存的核准紀錄
/reset-allowed-tools重置本次已允許的工具清單

A.4.3 目錄與上下文

指令作用
/add-dir <path>把額外目錄加進允許存取清單
/list-dirs列出目前允許存取哪些目錄
/cwd / /cd <path>查看/切換目前工作目錄
/context看 token 用量視覺化畫面
/compact [FOCUS-INSTRUCTIONS]手動觸發摘要壓縮
/session checkpoints / /session plan / /session files查看壓縮存檔點/目前計畫/對話產生的暫存產物

A.4.4 回滾與安全掃描

指令作用
/undo / /rewind回滾(兩個名字功能相同);輸入框空白時連按兩下 Esc 也能觸發同一個選擇器
/experimental on開實驗模式(Tools-based rewind、/security-review/every/after 排程都要先開這個開關)
/security-review [PROMPT]commit 前 AI 安全掃描(public preview)
/review [PROMPT]請 Copilot 審查改動,可指定用不同模型
/diff顯示目前改了什麼

A.4.5 設定與模型

指令作用
/settings(別名 /config統一設定介面,點路徑鍵名(例:/settings colorMode dim
/theme切換配色(defaultdimhigh-contrastcolorblind
/model / /models選擇要用的模型
/instructions查看這次 session 實際載入了哪些指示檔案
/limits / /limits set max-ai-credits N / /limits unset查看/設定單次回應的用量軟性上限
/keep-alive [on|off|busy|DURATION](別名 /caffeinate長任務時防電腦睡眠
/downgrade VERSION回退到指定版本

A.4.6 MCP、Skills、沙箱、委派

指令作用
/mcp / /mcp add / /mcp list / /mcp show <name>MCP server 管理
/skills reload / /skills info <name>重新載入/查看 Skill
/sandbox / /sandbox enable / /sandbox disable本機沙箱設定(public preview)
/delegate [PROMPT]委派任務給雲端 agent 背景執行
/fleet [PROMPT]拆成平行子任務,多個 subagent 同時跑

A.4.7 排程(僅限實驗模式)

指令作用
/every INTERVAL PROMPT定期重跑(例:/every 1h run tests
/after DELAY PROMPT延遲一段時間後跑一次(例:/after 30m remind me the time

(料源:official,逐項出自各對應章節已核對的官方文件;A.4.1~A.4.6 多數指令詳見對應章節,A.4.7 兩個指令官方說明明確標註「Only available in experimental mode」,先打 /experimental on 才會生效,正式生產排程建議改用外部 cron/Task Scheduler,詳見第 10 章)

重要提醒

這份表只收錄本書逐章查證過的常用指令,遠遠不到官方原始文件講的 80 多個。想看完整清單,/help 是最準的來源——別以為這份表沒列到的指令就不存在。

A.5 快捷鍵速查(互動畫面)

作用
Esc取消目前操作
Esc 連按兩下(輸入框需為空)開啟回滾選擇器(/undo/rewind 的另一個入口)
Ctrl+C停止思考、清除輸入,或退出
Ctrl+L清空螢幕
Shift+Tab三態循環:Standard → Plan → Autopilot → 回到 Standard
@引用檔案,打字時跳出符合的路徑清單,可用方向鍵挑、Tab 補全
/顯示 slash 指令選單
?標籤式說明
上下箭頭瀏覽之前打過的指令歷史
Ctrl+S/mcp add 這類互動設定流程裡存檔

(料源:official,逐項出自第 4 章第 9 章已核對的官方文件)

待查:Ctrl+TCtrl+R! 前綴

本書研究筆記初稿列過三個快捷鍵——Ctrl+T(顯示/隱藏模型推理過程)、Ctrl+R(恢復設定預設值)、! 前綴(直接執行 shell 指令)。但後續逐章查證時,這三項沒有在任何一頁被官方文件或章節內容二次核對到,只出現在較早、標記為草稿的研究筆記裡。不確定就別當鐵律背,這裡老實標成待查——實機打 ? 或翻互動畫面裡的快捷鍵說明最準。

A.6 環境變數速查

變數作用備註
COPILOT_HOME覆寫整個設定資料夾位置,預設 ~/.copilot給的須是完整路徑,搬家不會自動幫你搬既有資料
COPILOT_CACHE_HOME單獨覆寫快取目錄,不受 COPILOT_HOME 影響各平台預設走系統慣例快取路徑
COPILOT_CUSTOM_INSTRUCTIONS_DIRS(逗號分隔)額外指定要掃描的自訂指示檔案目錄詳見第 5 章第 8 章
COPILOT_MODEL指定使用的模型優先序見 A.2.5
COPILOT_GITHUB_TOKEN認證 token優先序最高
GH_TOKEN認證 token(GitHub CLI 慣例變數)次高
GITHUB_TOKEN認證 token(Actions 慣例變數)最低(fallback)
COPILOT_TASK_WAIT_TIMEOUT_SECONDS-p(含 -p --autopilot)等待背景 agent/shell 指令跑完的最長秒數,0 代表不等預設 600 秒,詳見第 10 章
NODE_EXTRA_CA_CERTS額外信任的憑證檔路徑(企業自簽憑證/TLS 攔截)Node.js 通用機制,非 Copilot 自創
HTTPS_PROXY / HTTP_PROXY / NO_PROXYProxy 設定,可帶帳密 http://user:pass@proxy:8080⚠️ 官方明確限制:proxy 網址本身不能https:// 開頭

(料源:COPILOT_HOMECOPILOT_CACHE_HOMECOPILOT_CUSTOM_INSTRUCTIONS_DIRSCOPILOT_MODEL/三個認證 token/COPILOT_TASK_WAIT_TIMEOUT_SECONDS 為 official,出自第 8 章第 10 章已核對的 CLI 設定目錄參考programmatic referencecommand referenceNODE_EXTRA_CA_CERTSHTTPS_PROXYHTTP_PROXYNO_PROXY 出自本頁研究筆記引用的 network errors 疑難排解network settings 頁面)

# 用 COPILOT_HOME 幫這次執行套上一個獨立、乾淨的設定人格
COPILOT_HOME=$(pwd)/.copilot-test copilot

(料源:practice,改寫自第 8 章示範寫法)

待查:COPILOT_SUBAGENT_MAX_CONCURRENTXDG_CONFIG_HOME

本頁研究筆記另外列過 COPILOT_SUBAGENT_MAX_CONCURRENT(覆寫子代理併發數上限,關聯多代理 /fleet 機制)與 XDG_CONFIG_HOME(覆寫設定基準路徑,社群回報實作跟 XDG 慣例不完全一致)。這兩項截至本書逐章查證時,還沒有被涉及多代理與 Linux 設定路徑慣例的章節二次核對,先列在這裡供你知道有這兩個變數存在,確切行為以你實機 copilot help environment 為準

重要提醒

OPENAI_API_KEY、一般作業系統慣例的環境變數不是 Copilot CLI 專屬設定,這裡收錄的都是官方文件明確記載跟 Copilot CLI 行為直接相關的變數。

A.7 ~/.copilot 設定目錄結構

Windows 對應路徑是 %USERPROFILE%\.copilot\。目錄下的檔案分兩大類:你可以手動編輯的,和系統自動管理、不該手動碰的

使用者可編輯

檔案/目錄用途
settings.json主要設定檔,JSONC 格式,用 /settings 操作或直接編輯
copilot-instructions.md個人全域自訂指示,跨所有 repo
instructions/額外的 *.instructions.md,依主題分檔存放
mcp-config.json使用者層級 MCP 伺服器設定
lsp-config.jsonLSP 伺服器設定,用 /lsp 管理
agents/自訂 agent 定義(.agent.md
skills/個人技能定義,每個子目錄一份 SKILL.md
hooks/使用者層級 hook 腳本
extensions/使用者層級擴充功能檔案

系統自動管理(別手動編輯)

檔案/目錄用途
config.json內部應用程式狀態(含認證資料、已安裝 plugin metadata),官方明講「Do not manually edit.」
permissions-config.json依專案位置分類存放的工具/目錄核准紀錄
session-state/依 session ID 分層存放的對話歷史、事件紀錄
command-history-state/指令歷史,供反向搜尋、上下鍵翻歷史
session-store.dbSQLite 資料庫,存跨 session 資料
logs/每個 session 一份 log
installed-plugins/已安裝的外掛
plugin-data/外掛自己的持久化資料
ide/IDE 整合用的 lock file 與狀態
mcp-oauth-config/MCP OAuth token/註冊資訊的本機備援儲存
mcp-secrets/MCP secret 佔位符的本機備援儲存

(料源:official,CLI 設定目錄參考,詳見第 8 章)

重要提醒:settings.jsonconfig.json 的角色,官方說法不完全一致

網路上有些頁面(含部分第三方整理)會說 config.json 裡有 trustedFoldersmodeltheme 這類使用者可編輯的鍵。但較新、較權威的「CLI 設定目錄參考」頁面明確寫著 config.json 是「自動管理的內部應用程式狀態」且「別手動編輯」。本書採保守立場:把 settings.json(配合 /settings)當成你該編輯的主檔案,config.json 定調為內部狀態別碰。如果你查到的資料跟這裡不一樣,以你實機 /settings show 或當下最新的官方文件為準。

補充資訊

不是每一項一開始就存在,有些資料夾要等你第一次用到某個功能才會生出來(例如 installed-plugins/ 得先裝了第一個外掛才出現)。第一次打開 ~/.copilot/ 看到的項目比表格上列的少,是正常現象。

A.8 Hooks 事件名稱速查

Copilot CLI 官方目前查證到 6 個生命週期事件,注意是 camelCase 命名——這點跟 Claude Code、Codex CLI 慣用的 PascalCase(PreToolUseSessionStart 等)不同,直接照抄大寫開頭的事件名貼進 Copilot 的 hooks 設定會抓不到。

Copilot CLI 事件(camelCase)對應語意
sessionStartSession 開始
sessionEndSession 結束
userPromptSubmitted使用者送出提示
preToolUse工具執行前(可核准或拒絕,寫 JSON 到 stdout 下決定)
postToolUse工具執行後(可修改工具結果或注入額外上下文)
errorOccurred發生錯誤(Copilot CLI 獨有,Claude Code/Codex CLI 沒有對應事件)

設定檔位置:.github/hooks/<NAME>.json,須含 version: 1 欄位與 hooks 物件。

(料源:official,Use hooksHooks referenceHooks 概念)

重要提醒

命名風格差異本身是個小地雷:preToolUse 不是 PreToolUse,直接照搬另外兩套工具的事件名到 Copilot 的 hooks 設定檔,Copilot 不會抓到、也不會報錯提醒你——它就是靜靜地不生效。這 6 個事件的清單本身也可能隨版本增減,實機以 copilot help 或官方 Hooks reference 為準。

本章小結

這份附錄把全書查證過的指令濃縮成八張速查表:安裝方式(含解除安裝的誠實推論標註)、五組主要旗標(會話控制、非互動模式、權限控制、MCP、模型指定)、子命令總表、依用途分組的常用 slash 指令、鍵盤快捷鍵、環境變數、~/.copilot 設定目錄結構、hooks 六事件。查證過程中發現的幾處落差——--cloud 旗標、copilot skill 子命令、Ctrl+TCtrl+R! 前綴快捷鍵、COPILOT_SUBAGENT_MAX_CONCURRENTXDG_CONFIG_HOME 兩個環境變數——都老實標成待查,沒有在其他章節被二次核對到,別當成鐵律背下來。

把它當隨身小抄——但永遠記得最上面那句 ⚠️:GitHub Copilot CLI 改版很快,逐字旗標與 slash 指令永遠以你電腦上的 copilot --help、互動畫面裡的 /help 為最終真相。

動手試試

  1. copilot --help,看看你這一版實際支援哪些旗標,跟 A.2、A.3 兩張表對一次,圈出哪些跟本書寫的不一樣。
  2. 在互動畫面打 /,感受一下超過 80 個 slash 指令的選單長什麼樣,再對照 A.4 的分組表,確認你常用的那幾個都還在。
  3. ? 看看快捷鍵的官方說明畫面,親自確認一次 A.5 裡標「待查」的 Ctrl+TCtrl+R 在你這一版是否存在。
  4. copilot help environment(若你這一版支援),對照 A.6 的環境變數表,確認 COPILOT_SUBAGENT_MAX_CONCURRENT 是否真的存在。
  5. 打開 ~/.copilot/ 資料夾,對照 A.7 的兩張表,看看哪些檔案已經生成、哪些還沒——記得只看,別手動改 config.json

版本時效提醒

本附錄提到的指令、旗標與設定鍵,Copilot CLI 數天一版,行為可能已經調整。本附錄對照版本為 npm @github/copilot 1.0.71(2026-07-16),查核日期 2026-07-18。最終請以你實機的 copilot --help/help,或官方文件當下版本為準。

本章官方文件參考