把 Windows Terminal 變成你的 AI 指揮中心:GitHub Copilot CLI 全攻略

身為每天泡在命令列的開發者,terminal 如果長得像 90 年代駭客電影道具,其實也說得過去;但既然現在都有 AI 幫寫 code 了,終端機不升級一下,好像有點對不起自己。這篇就來聊聊怎麼用 GitHub Copilot CLI 加上 Windows Terminal 的客製化,把你的 terminal 從工具升級成工作室


GitHub Copilot CLI 是什麼?

  • GitHub Copilot CLI 就是把 Copilot 搬進 terminal 裡,讓你不用開 IDE 也能在命令列裡問問題、要指令、請它幫你搞定各種工作。

  • 作者分享會在陌生語言或新專案裡,用它幫忙「怎麼 build」、「怎麼下某個 shell 指令」,甚至讓它生成一個超大 lorem ipsum 檔來當 demo 測試檔案,省下一堆時間。

安裝其實很簡單,只要一行 npm:

npm install -g @github/copilot

之後在 terminal 打 copilot 就能啟動 CLI,把它當成會寫文件、會記指令、偶爾還會幫你作弊查指令的搭檔就對了。


先把 Copilot CLI 用爽:Banner、指令與互動

每次啟動都看到那個帥氣 Banner

預設 Copilot CLI 的動畫 banner 只有第一次出現,但作者表示:這麼帥的東西當然要每次看。

有兩個做法:

  • 到 C:\Users\USERNAME\.copilot\config.json(WSL 則是 ~\.copilot\config.json),把 "banner" 設成 "always"

  • 啟動時改下指令:copilot --banner

在 Copilot CLI 裡直接跑 shell 指令

進到 Copilot CLI 之後,你輸入的每一行其實都是在跟 agent 聊天。那如果只是想跑個命令怎麼辦?
答案是:指令前面加一個驚嘆號 !

  • 例如:!git status!ls,就會直接在 Copilot CLI 裡跑 shell command。

  • 好處是不用頻繁切來切去,可以一邊問 Copilot「我要怎麼做」,一邊直接執行它建議的指令。


把 Windows Terminal 變成 Copilot 專屬套房

建一個「GitHub Copilot 專用 Profile」

作者的做法很簡單粗暴又實用:

  1. 複製現有的 PowerShell profile。

  2. 改名字跟 icon(例如叫「GitHub Copilot」)。

  3. Starting directory 設成你平常放專案的資料夾。

  4. Command line 後面加上 -c copilot,例如:

    text
    "C:\Program Files\PowerShell\7\pwsh.exe" -c copilot

    這樣一開這個 profile,就自動進入 Copilot CLI,不用再多打一行指令。

用 pane 分割:一半 Copilot,一半 shell

如果你想一邊跟 Copilot 聊天,一邊在另一個 shell 動手做,可以善用 Windows Terminal 的 pane 功能:

  • 按住 Alt 再從 profile 下拉選單開啟新 profile,就會以分割 pane 方式打開。

  • 要關掉 pane 的話,用 Ctrl + Shift + W 即可。

對多 repo、microservices、或 dev/test 併行的人來說,pane 基本上就是多工的救星。

啟動就回到上一次的工作現場

開發時最痛苦的就是「重開一次,原本開了哪些 tab 都不見」;作者直接把 Windows Terminal 的 Startup 設定改成「Restore window layout and content」,讓 Terminal 重啟時自動還原上次 tab 佈局。

對正在 debug 或 demo 的人來說,這個設定等於幫你省下一輪「再把環境全部打開一次」的懲罰。

背景圖 + 復古掃描線特效

  • Windows Terminal 支援每個 profile 設不同背景圖,也可以在 Defaults → Appearance 當中設一張所有 profile 共用的背景圖。

  • 想要懷舊一點,可以開啟「Retro terminal effects」,讓文字帶一點發光跟掃描線效果,兼具情懷與中二感。


Prompt 也要穿得體面:Oh My Posh 上場

光只有 Copilot 不夠,terminal prompt 本身也要有點「生活品質」:這時候就輪到 Oh My Posh。

裝好 Oh My Posh + Nerd Font

  • 安裝 Oh My Posh(作者偏好用 winget):

    bash
    winget install JanDeDobbeleer.OhMyPosh --source winget
    ```[1]
  • 接著下載一套 Nerd Font,作者愛用 Caskaydia Cove,你也可以選自己喜歡的字型,再到 Terminal 裡把該字型設定成 profile 的字型。

選一個主題,變成你的個人看板

  • 官方主題列表在 Oh My Posh 官網,挑一個順眼的主題後,在 PowerShell profile 裡加上像下面這樣的一行:

    powershell
    oh-my-posh init pwsh --config "THEMENAME" | Invoke-Expression

    之後每次開 PowerShell 都會套用這個主題。

  • 作者自己還貢獻了一個叫「cinnamon」的主題,可以把現在 Spotify 播放的歌顯示在 prompt 上,對邊聽音樂邊寫 code 的人非常友善。

用 segment 把資訊塞進一行 prompt

Oh My Posh 的強項在於各種 segment,像是:

  • Git segment:直接在 prompt 顯示目前 branch、diff 狀態、是否有未提交變更等。

  • npm、React segment:顯示目前使用的 npm 或 React 版本。

  • 音樂、甚至健康狀態 segment 都有,terminal 直接變成迷你 dashboard。


在 prompt 上看 Copilot 使用量:Copilot segment

如果你是 Copilot 重度用戶,可能會好奇自己 quota 用了多少。從 Oh My Posh 28.1.0 之後,可以新增 GitHub Copilot segment,在 prompt 上顯示 Copilot premium 配額使用百分比。

作法大致是:

  1. 從官方主題(例如 1_shell)複製一份 JSON 當自訂主題。

  2. 在右側對齊的 segments 列表中加入一個像這樣的物件:

    json
    {
    "type": "copilot",
    "template": "  {{ .Premium.Percent.Gauge }} ",
    "cache": {
    "duration": "5m",
    "strategy": "session"
    },
    "properties": {
    "http_timeout": 1000
    }
    }
    ```[1]
  3. 在 PowerShell 裡跑一次 oh-my-posh auth copilot 做認證,之後 prompt 上就會出現一個小小的 Copilot 使用量 gauge。

這樣你就可以一邊寫 code,一邊默默觀察自己今天「抄作業」抄了多少。


收尾:讓命令列變成你的開發主場

整篇下來,可以看到作者的核心理念很簡單:

  • Copilot CLI 讓你在 terminal 裡有一個隨叫隨到的 AI 搭檔。

  • Windows Terminal 的 profile、pane、背景與啟動設定,讓你把工作流變成一鍵啟動。

  • Oh My Posh 則把 prompt 升級成資訊看板,再加上 Copilot segment,命令列不只是黑框白字,而是你的開發 cockpit

如果你每天都會開 terminal,那這些設定多花的那幾分鐘,很可能會在未來幾個月裡幫你省下好幾小時的來回切換和查指令時間。下次打開 Windows Terminal,不妨就從幫 Copilot 開一個專屬 profile 開始。

Claude Code 的問問題(AskUserQuestion)功能使用指南

您是否經歷過這樣的窘境?

告訴 AI 要做什麼,它信心滿滿地衝出去寫程式,但結果出爐時,您才發現它的想像跟您的想像南轅北轍。功能是能用啦,但就是不太對勁。於是您開始改改改,最後花的時間比自己從頭寫還多。

如果有這樣的經驗,恭喜您,您已經發現了 AI 編程最大的痛點:假設

假設的代價

AI 就像一個對公司環境完全陌生的新人。您說「幫我加個登入功能」,它會馬上開始瞎猜:要用 OAuth 還是 JWT?支援哪些登入方式?需不需要角色權限管理?如果 session 逾時了要怎麼辦?

結果就是,AI 按照自己的想像寫出來的程式,可能根本不是您要的。浪費時間,浪費生命。

Anthropic 最近推出的 Claude Code 新功能「AskUserQuestion」,就是為了解決這個老問題。說白了,就是讓 AI 學會先問清楚再動手

反轉遊戲規則:AI 來面試你

以前我們痴迷於「提示詞工程」——費盡心思琢磨怎麼跟 AI 說話,才能讓它做對事。現在 Claude Code 的 AskUserQuestion 功能反轉了這個關係:換 AI 來問你

這聽起來簡單,但威力驚人。

想像這個場景:您跟 Claude 說「幫我整合使用者認證」。以前 Claude 會直接開始寫程式,現在它會停下來,一個接一個地拋出關鍵問題:

  • 您偏好哪種認證方法?(OAuth、JWT、還是傳統的 session?)
  • 要支援哪些登入服務商?(Google、GitHub、email+密碼?)
  • 需要角色式存取控制嗎?
  • session 逾時後要發生什麼?

每個問題都附帶合理的選項和說明,就像在進行一場真實的技術討論。這個過程有個正式的名字,叫做「規格導向開發」(spec-based development)。

三步驟:問、寫、執行

AskUserQuestion 的最佳使用方式分三個階段:

第一步:面試階段

您只需要給 Claude 一個簡單的指令:「幫我建置使用者認證系統,先問我問題好嗎?」

Claude 就會開始提問。每一個問題都精準針對您的代碼庫,給您有意義的選項。

第二步:規格階段

經過一輪問答後,Claude 會產出一份詳細的規格文件。這份文件清楚列出要建置什麼、怎麼建置,一點都不模糊。

第三步:執行階段

有了規格在手,您就可以開始新的開發會話,把規格當作背景資訊。這次 Claude 執行起來精準無誤,因為所有的歧義都已經在一開始就解決了。

不騙您,就是這麼簡單。

Linear 整合:把 AI 變成團隊同事

事情變得更有趣的地方,是 Cyrus(一個整合 Claude 的開發工具)跟 Linear 的配合。

假設 Cyrus 在處理一個 Linear 工單,發現有不清楚的地方。它不會亂猜,也不會停滯,而是直接在 Linear 裡問您問題。您可以在 Linear 的活動區段看到 Cyrus 把工單標記為「需要輸入」,然後丟出問題,並提供清晰的選項讓您選擇。

您甚至不用切換視窗,直接在 Linear 裡點一個選項回應就行。這種異步協作方式超級適合遠端團隊:

  • 異步開發:Cyrus 在您開會時繼續工作,有問題時自己提出來
  • 背景資訊保留:問題和答案都成為工單歷史的一部分
  • 團隊能見度:所有人都看得見決策過程
  • 不打斷工作流:回答問題時不用離開 Linear

為什麼這件事重要

2026 年了,AI 的能力已經不是問題。真正的問題是:AI 有沒有弄懂我想要什麼?

當 Claude 問您「這個 API 應該快速失敗還是自動重試?」時,有個很微妙的轉變發生了。設計上的權衡變得顯而易見。不是在代碼審查時才發現埋藏的假設,而是在便宜的階段——決策剛做出來的時候——就把問題談清楚。

這就像是在玩「選擇你的冒險故事」。每個問題都是一個岔路口。每個答案都讓解決方案的空間變窄一點。到了 Claude 真正開始寫程式時,您們已經一起走過了整個決策樹,還有清楚的紀錄可以回顧每個選擇。

結語

AI 不是要搶您的工作。聰明的開發者已經發現,最有威力的不是 AI,而是懂得怎麼跟 AI 合作的人

AskUserQuestion 功能就是這種合作的模板。下次當您要用 AI 寫程式時,與其期待它讀心術,不如主動告訴它:「先問我吧。」

結果可能會讓您驚訝。