跳轉到

A1 — 選一個 CLI agent,安全地完成第一個小任務

CLI(Command-Line Interface):用終端機文字指令操作的介面。

← 回主路線 README · Track A: CLI Power User 第 1 站 · 下一站:A2

這一站要把「終端機裡的 AI」說清楚,然後在一個可丟棄的 demo repo(由 Git 管理的練習專案資料夾)裡安全地跑一次。你會先讓工具讀檔、找測試指令、提出計畫;確認計畫後,才做一個可用 git diff 看見、也能復原的小改動。

如果你想用現成工具做事,暫時不想自己寫 agent 程式,這一站就是你的入口。

你現在只要做這件事

準備一個不含秘密、可以隨時刪除的 demo repo。還沒安裝工具時,先在下面的短表選一個,點官方入口完成安裝與登入;接著直接複製這段請求:

請只讀取目前的 demo repo,說明它的用途、找出測試指令,並提出一個小型文件改動計畫。先不要修改檔案、不要刪除檔案,也不要執行會改變資料的命令。

完成後,你應該看得到 repo 摘要、測試指令、待確認的計畫,以及工具要求權限時的提示。這就是本章的第一個可驗證成果。

📌 學習目標

  • 分清 LLM(Large Language Model,能讀寫語言的模型)、Provider API(Application Programming Interface,讓程式呼叫服務的介面)、Router、Coding agent 與 Local runtime。
  • 依你已有的帳號、provider 或本機環境選入口,不做總排名。
  • 在 demo repo 中完成一次「先讀取 → 看計畫 → 確認 → 小改動 → git diff → 復原」的循環。
展開時間、先備條件、帳號與費用
  • 時間:第一次只讀取與看計畫,通常可在一個短時段完成;CLI-1 至 CLI-4 可以分幾天慢慢做,不必一次做完。
  • 先備條件:會進入資料夾、看 git status 和 git diff;手邊有一個可丟棄的 demo repo。
  • 帳號:準備一個所選工具支援的登入方式,或把 agent 接到本機模型 runtime。沒有帳號時,先看下方選擇表和官方 Quickstart。
  • 費用:不要猜。開始前看當日官方 pricing/usage 頁;只有整條流程都留在本機時,才不會產生這次練習的模型 API 費用。

🧩 先認識五個核心詞

核心詞 它是什麼、像什麼 A1 怎麼用 不是什麼
LLM(大型語言模型) 產生文字或程式碼的模型,像工作台裡負責想答案的大腦 Claude、GPT、Gemini 都是模型家族 不會自己管理 repo、檔案權限或帳單
Provider API(模型服務入口) 讓工具向一家模型服務送出請求的門 Anthropic API、OpenAI API、Gemini API 會處理認證與計費 不是會改檔的 coding agent
Router(路由器) 把同一個請求轉給不同 provider 的轉運站 OpenRouter 可集中 API、routing 與 usage 不是 LLM,也不管理你的檔案權限
Coding agent(程式工作台) 能在終端機讀檔、改檔與執行命令的工作台 Claude Code、Codex、OpenCode、Pi 都屬於這一類 裡面用的模型、provider 與 sandbox 要另外確認
Local runtime(本機模型引擎) 在自己的電腦跑模型的引擎,像把模型發動起來的馬達 Ollama 可讓支援它的 agent 呼叫本機模型 不是 coding agent,不會自己讀 repo

依現有條件選入口

你已有的條件可先看的入口先確認什麼
Anthropic 帳號或 APIClaude Code登入與 permission prompt
ChatGPT 或 OpenAI APICodex CLIapproval、sandbox、工作目錄
Google 帳號、API 或 Vertex AIGemini CLI認證與 sandbox
想換 provider 或用本機模型OpenCode、goose、Aider、Piprovider 與權限邊界
想用 Router 或本機 runtimeOpenRouter 或 Ollama它們需搭配 coding agent

📚 必修閱讀

每次 cloud 請求的單次費用與本章總費用都會因帳號、provider、模型、輸入輸出 token 與訂閱額度而變動;練習前查當日官方價格或 usage 頁面。只有當 agent 與 provider 都設定成只連本機 Ollama,而且沒有另外呼叫雲端服務時,才不會產生這次練習的模型 API 費用;檔案與命令權限仍要照常檢查。

🛠 動手練習

動手練習 CLI-1:在 demo repo 內先讀取,再做一個可復原的小改動

成果: 你能看到 repo 說明、測試指令與待確認計畫,確認後留下可由 git diff 檢查的單一小改動。

展開 CLI-1 的準備、操作與復原步驟
  1. 建立或複製一個可丟棄的 demo repo。只放 README、少量原始碼與測試;不要放 API key、個資、合約或 production 設定。開始前先執行 git status --short,確認沒有別人的未完成改動。
  2. 先用上面的「只讀取」請求。對照工具列出的檔案、測試指令與計畫;不清楚的地方先問,不要直接核准。
  3. 你確認計畫後,只允許一個小文件改動,例如在 README.md 增加一段「如何執行測試」。要求工具先展示 diff,再由你核准。
  4. 在終端機執行 git diff -- README.md,確認只有預期內容。只有在第 1 步已確認檔案原本乾淨時,才執行 git restore -- README.md;最後再用 git status --short 確認小改動已復原。

若工具沒有 git,仍要保留原檔備份並逐行比較;不要把同一個 demo repo 同時交給兩個會寫檔的 agent。

動手練習 CLI-2:讓專案規則被正確讀到

成果: 你能用一個短規則檔說明專案用途、禁止事項、測試指令與交付格式,並驗證工具有遵守它。

展開各 CLI 的專案規則位置與驗證方式
  • Claude Code 讀取專案的 CLAUDE.md;Codex 使用 AGENTS.md。
  • OpenCode 以 AGENTS.md 優先;沒有 AGENTS.md 時,CLAUDE.md 是相容 fallback。不要建立 OPENCODE.md 當作通用規則檔。
  • Gemini CLI 常用 GEMINI.md;goose、Aider、Hermes Agent、Pi 與 Grok Build 的檔名和載入範圍依各自官方文件設定。
  • 規則只留下會改變行為的內容:專案用途、不能做的事、測試指令、交付格式。不要把長篇 API 參考資料塞進每次都載入的規則檔。

在 demo repo 內加入一條可觀察規則,例如「先提出計畫,不修改 data/」,再提出一個會觸發它的請求。最後檢查 agent 的回應與 git diff。

動手練習 CLI-3:用第二個 harness 重跑同一個請求

成果: 你能記錄兩個工具在模型/provider、權限提示、sandbox 與輸出格式上的差異,而不是用主觀分數選贏家。

展開第二個 CLI 的公平比較步驟

在同一個乾淨 demo repo、同一份 prompt、同一組檔案上各跑一次。記錄日期、CLI 版本、LLM、provider、登入方式、approval/sandbox 設定、是否實際改檔,以及 git diff 結果。不要同時啟動兩個會寫檔的 session;每次完成後復原,再開始下一次。

動手練習 CLI-4:用假憑證觀察認證失敗

成果: 你能區分「登入失敗」「provider API key 失敗」「模型名稱不存在」與「權限/sandbox 阻擋」,且不會把真正的秘密貼進 prompt 或 log。

展開安全的認證錯誤實驗

在一次性終端機 session 中使用明確標示為假的值,例如 not-a-real-key;不要改動正式的 shell 設定或共享 .env。先觀察未登入錯誤,再在已登入的 CLI 中輸入一個官方不存在的模型名稱,記下錯誤類型與補救指引。測試完立刻清除假值,並確認 shell history、工作目錄與 log 沒有真 key。

使用有效憑證的請求可能產生費用;第一次練習可使用本機 Ollama 或 provider 的明確免費額度,並以當日官方價格與實際 usage 為準。

🎯 精選 Projects

A1 只教你安全開始,不在兩個頁面重複維護同一份易變資料。9 個工具的登入、provider、sandbox 與官方來源集中放在 CLI Agents 參考指南。官方資料查核日:2026-08-30 UTC。

展開「工具、Router、local runtime」的最短辨識法
  • Claude Code、Codex、Gemini CLI、OpenCode、goose、Aider、Hermes Agent、Grok Build、Pi:會接收任務並操作工作目錄的 CLI agent/harness。
  • OpenRouter:替 agent 把請求送到 provider 的 Router,不會替你管理檔案權限。
  • Ollama:在本機跑模型的 runtime,不會自己讀 repo;要由支援它的 agent 呼叫。
  • 不確定時,只問三句:誰執行模型?誰轉送請求?誰能讀寫我的檔案?

推薦度是本學習地圖的編輯建議,不是 GitHub stars 或總排名。⭐⭐⭐⭐⭐ 表示:如果你選這條工具路徑,這一列應先看;不是叫你把所有五星工具都裝起來。

分類Project推薦度適合誰先注意什麼
官方模型生態anthropics/claude-code⭐⭐⭐⭐⭐要使用 Anthropic 生態的人保留 permission prompt,先用 demo repo
openai/codex⭐⭐⭐⭐⭐已有 ChatGPT 或 OpenAI API 的人確認 approval、sandbox 與工作目錄
google-gemini/gemini-cli⭐⭐⭐⭐已有 Google 認證或 Vertex AI 的人先確認認證方式與 sandbox
xai-org/grok-build⭐⭐⭐已在使用 xAI 生態、想比較新工具的人先在 demo repo 觀察,不作第一個 production 工具
可換 provideranomalyco/opencode⭐⭐⭐⭐⭐想切換 provider 或接相容 endpoint 的人AGENTS.md 優先;另查 permission 設定
aaif-goose/goose⭐⭐⭐⭐想同時使用 CLI、desktop 與 extensions 的人先只開低權限 extension
Aider-AI/aider⭐⭐⭐⭐⭐重視 git diff 與 commit 流程的人先理解它的 git auto-commit 行為
earendil-works/pi⭐⭐⭐⭐想從小核心加 extensions、skills 或 RPC 的人沒有內建 sandbox;需要隔離時用容器或 VM
NousResearch/hermes-agent⭐⭐⭐⭐⭐想在 terminal、desktop 或聊天平台使用同一 agent 的人逐項開啟 provider、Skill 與 MCP 權限
Router/本機引擎OpenRouter⭐⭐⭐⭐想用一個 API 入口切換 provider 的人它是 Router,仍要搭配 agent
ollama/ollama⭐⭐⭐⭐⭐想在自己電腦跑模型的人它是 local runtime,仍要搭配 agent

✅ 進 A2 前的自我檢查

  • 我能用自己的話分清五種身分,知道 OpenRouter 不是 LLM、Ollama 不是 coding agent。
  • 我在 demo repo 完成一次只讀取的說明與計畫,沒有把秘密交給工具。
  • 我確認一個小改動的 diff,並能復原它。
  • 我知道所選 CLI 的登入方式、provider、approval/sandbox 設定。

完成後進入 A2 — 建立可重複使用的 CLI 工作流程。想再比較工具的官方狀態,回看 resources/cli-agents-guide.md。

安全底線:不要在含有秘密或 production 權限的目錄中做第一次實驗;不要使用跳過所有確認的模式;不要把 API key、瀏覽器 token 或 auth 檔貼進 prompt、issue、log 或 git。