2026/03/01

Copilot CLI Dev Environment Bootstrapping

GitHub Copilot CLI 開發環境設置

在新機器上快速復原 Copilot CLI 工作環境的完整指南。


前置需求

確認以下工具已安裝:

工具 用途 安裝參考
pnpm Node.js 套件管理 請參考官方安裝頁面
PHP PHP 執行環境 依作業系統安裝
Node.js JS/TS 執行環境 建議透過 nvm 安裝
Python Python 執行環境 建議透過 uv 管理

1. LSP Server 安裝

PHP — intelephense

pnpm add -g intelephense

Node.js / TypeScript — typescript-language-server

pnpm add -g typescript-language-server typescript

Python — pyright

pnpm add -g pyright

2. LSP 設定檔

建立檔案 ~/.copilot/lsp-config.json(Windows:%USERPROFILE%\.copilot\lsp-config.json):

{
  "lspServers": {
    "intelephense": {
      "command": "intelephense",
      "args": ["--stdio"],
      "fileExtensions": {
        ".php": "php"
      }
    },
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"],
      "fileExtensions": {
        ".js": "javascript",
        ".jsx": "javascriptreact",
        ".ts": "typescript",
        ".tsx": "typescriptreact",
        ".mjs": "javascript",
        ".cjs": "javascript"
      }
    },
    "pyright": {
      "command": "pyright-langserver",
      "args": ["--stdio"],
      "fileExtensions": {
        ".py": "python"
      }
    }
  }
}

3. MCP 設定

建立或更新 ~/.copilot/mcp.json(Windows:%USERPROFILE%\.copilot\mcp.json):

{
  "mcpServers": {
    "context7": {
      "tools": [
        "get-library-docs",
        "resolve-library-id"
      ],
      "type": "http",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

context7 使用遠端 HTTP 模式,不需要本地安裝任何套件。


4. 驗證

啟動 Copilot CLI 後,執行以下指令確認設定生效:

/lsp    → 查看 LSP server 載入狀態
/mcp    → 查看 MCP server 連線狀態

快速腳本(一鍵安裝)

# 1. 安裝 LSP servers
pnpm add -g intelephense typescript-language-server typescript pyright

# 2. 建立設定目錄
mkdir -p ~/.copilot

# 3. 寫入 LSP 設定
cat > ~/.copilot/lsp-config.json << 'EOF'
{
  "lspServers": {
    "intelephense": {
      "command": "intelephense",
      "args": ["--stdio"],
      "fileExtensions": {
        ".php": "php"
      }
    },
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"],
      "fileExtensions": {
        ".js": "javascript",
        ".jsx": "javascriptreact",
        ".ts": "typescript",
        ".tsx": "typescriptreact",
        ".mjs": "javascript",
        ".cjs": "javascript"
      }
    },
    "pyright": {
      "command": "pyright-langserver",
      "args": ["--stdio"],
      "fileExtensions": {
        ".py": "python"
      }
    }
  }
}
EOF

# 4. 寫入 MCP 設定
cat > ~/.copilot/mcp.json << 'EOF'
{
  "mcpServers": {
    "context7": {
      "tools": [
        "get-library-docs",
        "resolve-library-id"
      ],
      "type": "http",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
EOF

Windows 使用者:請將 ~/.copilot/ 替換為 %USERPROFILE%\.copilot\,並使用 PowerShell 執行對應命令。


Copilot CLI 自動設置 Prompt

在新環境啟動 Copilot CLI 後,貼上以下 prompt,讓 Copilot 自行查找最新做法並完成設置:

請幫我完成 Copilot CLI 的開發環境設置:

1. 我使用 pnpm 管理所有 LSP 套件。
   請全域安裝下列語言的 LSP server(自行查找目前主流推薦的套件名稱與安裝方式):
   - PHP
   - JavaScript / TypeScript
   - Python

2. 根據安裝結果,產生並寫入 ~/.copilot/lsp-config.json,
   設定每個 LSP server 的啟動指令與對應的副檔名。

3. 在 ~/.copilot/mcp.json 加入 context7 MCP server,
   使用官方建議的最新連線方式(HTTP remote 或本地安裝皆可,以官方文件為準)。

4. 完成後用 /lsp 和 /mcp 確認設定已正確載入,並回報結果。

2026/01/23

Why Daily Quotas Change the AI Coding Game

我目前訂閱的 AI 工具有 Gemini 跟 GitHub Copilot,Copilot 採用的是典型的低價入門策略,每月 10 鎂,實際上包含兩種不同性質的服務。

  • 第一種是能力相對較弱、但速度很快的輕量模型,可以無限次使用
  • 第二種是具備深度推理能力的 premium 模型,但有每月免費使用額度限制

只要有在實際做開發,要把 premium 的免費額度用完其實不難,而在 agentic workflow 逐漸成形的情境下,最大的痛點之一正是「成本不確定性」,你很難事前知道一次執行會消耗多少 token,也很難直覺換算這些 token 對應的實際成本,目前雖然已經出現一些用來量測與建議 prompt 的工具,但仍在早期探索階段,在這種前提下,只要有預算上限存在,每一次較大規模的 agent 執行,本質上都帶有不確定風險,而 Copilot 的 premium quota 又是 monthly reset,這會自然放大使用者的心理壓力,也正是在這個時候,Gemini Pro 的優勢開始變得非常明顯,即便一樣無法精確預測 token 的實際消耗方式,但 Gemini CLI 採用的是 daily reset 的配額模型,以我目前每天實際使用的情況來看,幾乎沒有遇過低於 50% 的狀態,隔天早上又會完整恢復。

這種配額機制會直接改變使用者的行為模式:

第一,你很清楚額度每天都會重置,反而會產生「今天不用就浪費掉」的心理,這和多數 monthly quota 服務的使用心態是完全相反的
第二,原本因為 Copilot 在 editor 或 IDE 內整合良好,加上有 LSP 支援,因此開發流程自然會以 Copilot 為主,畢竟少了 LSP,就等於更多純推理操作,也意味著更高的 token 消耗

但在 daily reset 的前提下,會開始出現一種心態轉變,既然每天都會歸零,那不如就讓它燒,於是實際開發行為的比重也開始慢慢轉移,從長期來看,這種使用模式的轉變,可能會讓 Google 在 coding 領域逐步侵蝕 Copilot 目前的優勢。

除了每一次實際使用本身都會回饋到模型品質的優化之外,GitHub 最核心的護城河,向來是它掌握了大量真實且高品質的程式碼 repository,但當你讓 Gemini 深度參與實際開發流程,完整讀取並理解你的 codebase,在「結構理解、模式學習與工作流程掌握」這個層級上,效果其實已經非常接近直接擁有該 repository 所能帶來的價值。

Copilot 當然也有 editor 與 IDE plugin,只是目前整體體驗仍偏陽春,一旦這一層補齊之後,Copilot 的差異化優勢到底還剩下什麼,其實就值得重新思考了,更何況目前越來越多標準正在浮現,像是 agent skills 這類抽象層的規範,Google 一開始看起來並沒有打算全面跟進,但後來的策略調整,其實也反映了現實壓力。

今年 Cloudflare 在 TBPN 的訪談中提到,Google 的資料訓練量約為 OpenAI 的 3.2 倍,也約為 Microsoft 與 Anthropic 的 4.8 倍,這裡不只是「量」的差距,更重要的是資料來源本身的結構性差異。

  • Android 裝置
  • Gmail
  • YouTube
  • Google Drive

這些並不是零散或單一用途的資料,而是高度貼近真實生活與工作流程的長期行為軌跡,近期 Apple 也開始在部分場景中採用 Gemini,即便在隱私層面不至於直接取得原始內容,但在實際系統運作與品質優化過程中,能夠接觸到的訊號密度,仍然是可以預期的,從這個角度來看,Google 在長期模型品質演進上的潛在優勢其實非常明顯。

我自己長期使用 Google 生態系,因此對這樣的發展並不排斥,但同時也希望市場不要走向單一壟斷,當初 OpenAI 問世時,讓 Google 罕見地拉起 Code Red,甚至合併了內部兩個 AI 研發部門,這才有了今天 Gemini 這個名字,也正是這種彼此拉扯的競爭關係,才讓整個 AI 發展速度被大幅推進,如果所有玩家都能持續往前推,也許哪一天,人類真的可以更接近馬斯克說的「不必為了生存而工作」的未來,這樣的世界,其實也不壞。