Skip to content
所有標籤

#cli

46 篇文章

pi-mono 深度導讀 13:Agent Harness、Skills、System Prompt 組裝——從零構建 Agent 行為

AgentHarness 核心類別、System Prompt 動態組裝流程、Skills 載入與格式化、Prompt Templates 系統、Harness 如何決定 Tool 可用性、Result Handling、Telemetry Schema 註冊、預設 Harness 建構、Extension 如何擴充 Harness。

pi-mono 深度導讀 4:Agent Loop——雙層循環與事件流,從 Steering 到 Follow-up 的完整時序

pi-agent-core 的心臟:agentLoop() → runLoop() 雙層 while(true)。Inner loop 處理 tool calls + steering messages,Outer loop 處理 follow-up + prepareNextTurn(compaction、model switch)。Enter = steering(當前工具跑完插入)、Alt+Enter = follow-up(agent 判定結束插入)。streamAssistantResponse() 如何處理 partial message 更新、tool call 解析、parallel/sequential 執行、before/after hooks。

pi-mono 深度導讀 1:從 CLI 使用者角度認識 pi——安裝、模式、Session、模型切換與訊息插隊

把 pi 當黑盒用:4 種運行模式怎麼切、Session 樹狀結構怎麼存、怎麼在對話中途換模型、Enter vs Alt+Enter 訊息插隊差異、/tree 怎麼跳回歷史分支。為後續架構篇建立直覺。

pi-mono 深度導讀 12:Compaction 深度——策略、Token Estimation、Branch Summary、Structured Compaction

Compaction 完整機制:shouldCompact 觸發條件(token 佔比、訊息數)、estimateTokens 計算(字符/單字近似)、findCutPoint 尋找切點(保留最近 N 輪)、generateSummary 生成摘要(LLM 呼叫)、prepareCompaction 整理上下文、Branch Summary 生成、Structured Compaction(Extension 自訂 via fromHook)、CompactionEntry 細節、fromHook 機制、Compaction Settings。

pi-mono 深度導讀 15:Containerization、Sandbox、Permission Model——Gondolin、Docker、OpenShell、安全邊界

Pi 為什麼不內建 Permission System、Gondolin Extension(微 VM 隔離)、Docker 整合模式、OpenShell 沙盒、Permission Model 設計哲學、三種容器化部署模式、安全邊界對比、micro-VM vs Container vs Process Isolation、Extension 如何實作沙盒。

pi-mono 深度導讀 7:Extension System——Hooks、Custom Tools、UI Components、Lifecycle 完整機制

Extension 系統完整解析:Extension 介面定義、onLoad/onUnload 生命週期、四大 Hook(onAgentStart/onBeforeToolCall/onAfterToolCall/onTurnEnd)、五大擴充點(tools/commands/keybindings/ui/settings)、ExtensionRunner 載入順序與依賴解析、ExtensionAPI 提供的能力、Dynamic Border、Widget、Dialog、Selector 等 UI 元件、Extension 間通訊、熱重載機制、官方範例 Extensions。

pi-mono 深度導讀 9:Model Catalog、Provider Factory、OAuth 與 Credential Sync——從自動生成到跨裝置同步

pi-ai Model Catalog 自動生成流程、Provider Factory 註冊與 Lazy Loading、OAuth 2.0 + PKCE 流程實作、Credential Store(Keychain/Libsecret/Credential Manager/加密檔案)、Credential Sync 跨裝置同步機制、Model Scope Diagnostics、ModelResolver 解析邏輯、CredentialSynchronizationOperation 狀態機。

pi-mono 深度導讀 2:Monorepo 架構與核心抽象層——7 套件怎麼分工、依賴為什麼單向流動

從使用者可見功能切入架構:7 個 npm 套件各司其職、依賴圖單向流向、為什麼 pi-tui/pi-telemetry 零依賴、pi-ai 如何隔離 provider 細節、lockstep versioning 怎麼避免 diamond dependency。建立「從外往內」的架構心智模型。

pi-mono 深度導讀 3:pi-ai——統一 15+ 供應商的 LLM API,從 Lazy Loading 到 Model Catalog 自動生成

pi-ai 是 pi-mono 的反腐層:上層只見 Message/Tool/Context/streamFunction,下層 15+ providers 各自實作細節。本文拆解:統一介面設計、Provider Factory Registry、Lazy Loading 實現 Tree-shaking、Model Catalog 自動生成流程、OAuth/API Key 統一管理、Credential Sync 機制、Thinking/Reasoning 參數標準化。

pi-mono 深度導讀 16:Release 流程、Lockstep Versioning、Binary Build、Trusted Publishing——從代碼到 npm 發佈的完自動化管線

Release 完整流程:Lockstep Versioning(所有套件同版本)、CHANGELOG 更新、Local Smoke Test 驗證、Release Script 自動化、Binary Build (Bun + Node)、npm-shrinkwrap.json 鎖死傳遞依賴、GitHub Actions OIDC Trusted Publishing、R2 Release Marker 驗證、pi.dev/api/latest-version 公告、Announcement Verification 確保發佈成功。

pi-mono 深度導讀 10:Remote Session——Client/Server、JSON-RPC 2.0、WebSocket、斷線重連

pi-protocol JSON-RPC 2.0 定義、pi-client 連線管理與重連指數退避、pi-server Session Registry、WebSocket Transport、心跳機制、Session Snapshot、Remote Session Handle、RPC 模式架構、流式事件傳輸、Steering/Follow-up 遠端插隊。

pi-mono 深度導讀系列:從零認識這個極簡 Coding Agent 的完整架構

本系列 17 篇帶你從 CLI 使用者角度切入,逐層深入 pi-mono 的 Agent Loop、Session Tree、Tool System、Extension System、TUI 架構、Remote Session、Telemetry、Compaction、Release 流程等核心機制。適合想自架 Agent、研究 Agent 架構、或想貢獻 pi 的開發者。

pi-mono 深度導讀 5:Session Tree——Append-only JSONL、Branching 不改歷史、Compaction 邏輯完整解析

SessionManager 核心:JSONL append-only 儲存、id/parentId 形成樹、branch() 移動 leaf pointer 不改歷史、buildSessionContext() 處理 compaction entry、createBranchedSession() fork 新檔案。完整 Entry 類型:message、thinking_level_change、model_change、compaction、branch_summary、custom、custom_message、label、session_info。Migration v1→v2→v3 細節。

pi-mono 深度導讀 11:Telemetry——Vendor-neutral Contracts、Schema 定義、Conformance Tests

pi-telemetry 核心:TelemetrySchema 定義 Span/Event/Attribute、defineTelemetrySchema 建立 TypedSpanStarter、InMemoryTelemetryContext/NOOP_TELEMETRY_CONTEXT 零開銷實作、Conformance Tests 驗證 Adapter 正確性、AI/Harness Telemetry Schema 完整定義、屬性類型系統、為什麼不直接用 OpenTelemetry。

pi-mono 深度導讀 14:Testing、Quality Gates、Supply-chain Hardening——Faux Provider、Browser Smoke、Biome、tsgo、Shrinkwrap、Trusted Publishing

測試策略:Faux Provider(無 API Key 跑 e2e)、Vitest 單元測試、Browser Smoke Test(真實瀏覽器驗證)、Biome Lint/Format、tsgo Type Check、Pinned Dependencies、Shrinkwrap 生成、Install Lock、npm Trusted Publishing、CI Pipeline 完整流程。

pi-mono 深度導讀 6:Tool System——8 核心工具定義、Factory 模式、Parallel/Sequential 執行、Before/After Hooks 攔截

pi-coding-agent 8 核心工具完整解析:ToolDefinition(給 LLM 看)vs AgentTool(執行邏輯)、createToolDefinition/createTool Factory、executionMode 決定 parallel/sequential、beforeToolCall/afterToolCall 攔截鏈、withFileMutationQueue 序列化檔案寫入、truncateHead/Line/Tail 輸出截斷、read/write/edit/bash/grep/find/ls/powershell 各工具實作細節。

pi-mono 深度導讀 8:TUI 架構——Differential Rendering、Component Tree、Layout Engine、CSI 2026 同步輸出

pi-tui 核心完整解析:Virtual DOM Diff 算法實現無閃爍渲染、Component 生命週期、Layout Engine(Flex-like VStack/HStack/Box)、CSI 2026 同步輸出避免 partial frame tearing、Keybindings Manager、Alt Screen 管理、括號貼上模式、Kitty/iTerm2 圖片協定、Markdown/Editor/Selector/Diff 等內建元件。

Looplane 的 TUI 與 CLI:一次 run 在終端機上怎麼被看見

Looplane 的 TUI 與 plain CLI 是同一套 runtime 的兩種使用者介面。CLI 先依 TTY 與旗標選擇呈現方式,runner 再送出事件;TUI 把事件投影成 thinking、tool、approval、verification 與終態。使用者能從畫面分辨 native 與 external runtime,但 UI 不替底層能力背書。

Claude Code sessions 怎麼管理:--continue、--resume、/branch 與 JSONL 檔

Claude Code 把每個 session 逐行寫進 ~/.claude/projects/ 底下的 JSONL 檔,預設保留 30 天。本文拆解 --continue 與 --resume 的差異、session 命名規則、/branch 分岔語意,以及 transcript 匯出與清理的設定。

Claude Code 裝不起來、登不進去怎麼排:PATH、安裝來源、proxy、OAuth callback

安裝與登入問題照五步排:驗 PATH(macOS/Linux 用 echo $PATH,Windows 用 PATH 查詢)、確認只剩一份安裝、測 downloads.claude.ai 是否回 200、OAuth callback 失敗就貼 login code 或改用 claude auth login,最後用 claude doctor 收尾。

跟成熟 coding agent 學設計(13):CLI 人體工學——讓新工具長得像使用者已經會用的工具

成熟的 coding agent CLI 都收斂到同一套慣例:positional prompt、-p 是 print、exec 是 headless、resume 是一級指令、-C 換目錄;looplane 直接繼承這套詞彙,把學習成本壓到接近零。

跟成熟 coding agent 學設計(14):Onboarding 設計——provider-aware 初始化與即時驗證

空白設定檔勸退人,憑證錯太晚發現更勸退人。五家成熟 agent 都把 setup 做成 first-class state,looplane 再補上存完 key 立即驗證這一步。

Antigravity CLI:Google 用閉源 Go binary 取代十萬星開源 Gemini CLI

2026 年 5 月 Google I/O 宣布 Antigravity CLI(agy),用閉源 Go binary 取代 Apache 2.0 的 Gemini CLI。技術上升級——多 agent 編排、原生沙箱、毫秒啟動——但免費額度砍 98%、開源轉閉源、28 天過渡期,社群反應強烈。

Grok Build:xAI 的 Rust Coding Agent,開源之前先把你的 repo 傳上去了

Grok Build 是 xAI 用 Rust 寫的 coding agent,845K 行程式碼、8 個平行子 agent、Arena Mode。2026 年 5 月 beta、7 月開源(Apache 2.0)——但開源的直接原因是隱私事件:它靜默把整個 repo(含 SSH key、.env)上傳到 Google Cloud Storage,27,800 倍的流量比。資料外洩的程式碼至今還在 binary 裡,只靠 server-side flag 關閉。

Muse Code:Meta 的第一個 Coding Agent,用訓練權換八折定價

2026 年 8 月 Meta Superintelligence Labs 發布 Muse Code beta。閉源靜態 binary、Muse Spark 1.2 模型、平行子 agent + worktree 隔離。最大爭議是定價:標準版 $1.25/$4.25 per M tokens,Contributor 版 $0.10/$0.20——便宜 20 倍,但你的程式碼進 Meta 的訓練管線。

DeepSeek Harness(dsh):把 Everything is a Plugin 做到底的 coding agent 框架

DeepSeek Harness(dsh)是 DeepSeek 官方的開源 coding agent 框架,2026-08-13 發布 v0.1 開發者預覽版,9 天內累積 184,000+ 星。核心是 Cordis plugin kernel——模型、工具、agent loop、UI 全部都是可抽換的外掛。四種 runtime 模式,能把 Claude Code 和 Codex 當子代理使用。Web UI 優先,目前沒有原生 CLI。

OMP 2(Oh My Pi 2):從 Pi fork 到全 Rust 重寫的獨立 coding harness

OMP 2 不再是 Pi 的 fork。整個 codebase 用 Rust 從零重寫,約 41 個 crate 涵蓋自製 bash 引擎、GPU 加速 GUI、嵌入式 CPython 3.14t、gRPC transport 與 Kokoro-82M TTS。目前 pre-release,尚未正式發行。

Opencode 2:Bun 換 Node、Tauri 換 Electron、API 全部打掉重練的代價

Opencode 2 是 Anomaly(Dax Raad)主導的大重寫。runtime 從 Bun 換成 Node.js(記憶體問題)、桌面從 Tauri 換成 Electron(WebKit 效能與 Node 整合)、v1 API 刻意不相容。新增多分頁並行 session、持久化後端服務、HTTP API + SDK。目前 beta,預估 2026 年 9 月 stable。約 200K stars。

Pi v2:AgentHarness API 升穩、Earendil 公司化,極簡主義走進下一章

Pi v0.84.0(2026-08-06)把 AgentHarness v2 API 升為 stable。Lane-based v4 Session model 讓操作可持久化、可中斷。CBOR 取代 JSON,Unix socket 取代 HTTP。背後的 Earendil Inc.(Armin Ronacher 的 PBC)拿到首輪資金。95.4K stars,still MIT,still 極簡。

Aider:最老牌的終端 AI Pair Programmer,以及它現在的維護狀況

Aider 是 2023 年就存在的終端 AI pair programmer(Python、Apache-2.0、約 48.3k stars),設計上跟現在的自主 agent 走反方向:手動 /add 檔案控制 context、每次修改自動產生一個 atomic git commit、architect/editor 雙模型分工。但要注意維護節奏:最後一版 PyPI 發布是 2026-02 的 0.86.2,最後一筆 commit 在 2026-05,官網仍推薦 Claude 3.7 Sonnet 與 o1。

Amp:靠「砍功能」定義自己的 coding agent

Amp 已於 2025 年 12 月從 Sourcegraph 獨立為 Amp Frontier Corporation,npm 套件也從 @sourcegraph/amp 改為 @ampcode/cli。它的識別特徵是持續砍功能:editor 擴充、Amp Tab、TODO 清單、Fork、custom commands、public threads 全部刪掉。2026-07-18 才首度推出月費訂閱(Megawatt $20、Gigawatt $200),此前只有 pay-as-you-go。現在主軸是 orbs——關掉筆電也會繼續跑的遠端機器。

GitHub Copilot CLI:把 agent 開在 GitHub 這個平台上

Copilot CLI 於 2026-02-25 正式 GA,所有 Copilot 方案(含 Free)都包含。差異化不在 agent 本身,而在 GitHub 平台整合:內建 GitHub MCP server 直接操作 issue 與 PR、組織政策自動繼承、`&` 前綴把工作丟給雲端 coding agent。計費走 GitHub AI Credits(1 credit = $0.01),Pro $10/mo 含 $15、Pro+ $39 含 $70、Max $100 含 $200。

omp(Oh My Pi):把 Pi 的極簡主義翻過來的 batteries-included 分支

omp 是 Pi 的 fork,但不只是插件層堆疊:它多了約 80,000 行 Rust,把 grep/shell/AST/PTY 全部搬進 in-process。內建工具從 Pi 的 7 個變成 31 個,外加 14 個 LSP op、28 個 DAP op、60+ 供應商。同一份 codebase,兩個相反的賭注。

Antigravity CLI:Google 用一套 agent harness 收編 Gemini CLI 的終端機介面

Antigravity CLI 是 Google 在 2026/5/19 I/O 發表的終端機 agent,用 Go 重寫(Gemini CLI 是 Node),二進位檔叫 agy,與桌面版 Antigravity 2.0 共用同一套 agent harness。它同時是 Gemini CLI 的接班人——個人方案的 Gemini CLI 將於 2026/6/18 停止服務。

goose:開源、跨平台、不鎖 LLM 的本地 AI Agent

goose 是由 Linux Foundation 旗下 AAIF 維護的開源 AI Agent,支援 15+ LLM 供應商、70+ MCP 擴充,用 Rust 打造桌面 App + CLI + API,定位是不鎖廠商、可自架的 Claude Code 替代方案。

aiguide

MCP vs CLI vs API:Agent 工具介面的真實分界

MCP 不會退場,但有效範圍比想像中窄。本機開發場景 CLI 和 raw API 幾乎都贏過 MCP;MCP 真正不可替代的,是「跨 agent 共享的本機工具層」這條窄縫。

Agent CLI 完整指南:設計邏輯、工具比較與使用原則

Agent CLI 不是更聰明的補全工具,而是能讀懂 codebase、執行多步驟任務、操作真實環境的 AI 代理。Claude Code、Codex CLI、Gemini CLI、OpenCode、Aider、Pi、Kiro、Amp、Cursor CLI... 工具越來越多,但底層共享一套設計邏輯——理解這套邏輯,才能真正用好它們。

Claude Code:Anthropic 終端機 AI Coding Agent 完整介紹

Claude Code 是 Anthropic 的 agentic coding 工具,跑在終端機、IDE、Slack、GitHub 和 Web 上。核心擴充機制有六層:CLAUDE.md(永駐 context)、Skills(按需工作流程)、Hooks(確定性自動化)、Subagents(隔離委派)、MCP(外部工具連接)、Agent Teams(多 agent 協作)。

Codex CLI:OpenAI 開源終端機 Coding Agent 完整介紹

Codex CLI 是 OpenAI 的開源終端機 coding agent(Rust,Apache-2.0,約 106.6k stars),支援 MCP、subagents、圖片輸入、code review、Skills。模型主線已換成 GPT-5.6 Sol / Terra / Luna,桌面版、CLI 與 IDE 擴充共用一份 config.toml。

Gemini CLI:曾經最慷慨的免費終端 Agent,現在只剩企業路徑

Gemini CLI 是 Google 開源的終端機 AI agent(Apache 2.0,~106.6k stars),曾提供每分鐘 60 次、每天 1,000 次的免費額度含 1M context。個人方案已於 2026/6/18 停止服務,接替者是 Antigravity CLI。專案本身沒關閉,repo 仍在維護,但只服務 Gemini Code Assist Standard/Enterprise 授權與付費 API key。

OpenCode:開源 AI 終端機 Coding Agent 完整介紹

OpenCode 是用 TypeScript 打造的開源 AI coding agent(MIT,約 198K GitHub stars,repo 在 anomalyco/opencode),內建 TUI、支援 75+ LLM、LSP 整合、Vim 風格編輯器、SQLite session 管理,另有桌面版。免費、不需訂閱,可接本地或雲端模型。

Pi Coding Agent:極簡主義的開源終端機 Coding Harness

Pi 是 Mario Zechner 打造的極簡 coding agent(TypeScript、MIT、約 93K stars),只有 4 個核心工具與極短 system prompt,其餘全靠 Extensions/Skills/Prompt Templates 自己疊。刻意不做 MCP、sub-agents、plan mode、權限彈窗。repo 已改名 earendil-works/pi,npm scope 換成 @earendil-works。

Claude Code Spinner Verbs:從原始碼挖出 185 個狀態動詞的完整清單

Claude Code 處理請求時會從 185 個預設動詞中隨機顯示(如 Thinking、Brewing、Clauding),完成時從 8 個動詞中選一個搭配耗時。可透過 settings.json 的 spinnerVerbs 設定自訂,支援 replace 和 append 兩種模式。本文所有資料來自 cli.js 原始碼實際驗證。

Headless 與 Agent SDK:從 claude -p 到程式化 agent

claude -p 把 Claude Code 從終端機互動變成一條可寫進腳本和 CI 的指令:pipe 資料進去、用 --output-format json 拿結構化結果、--bare 跳過大多數自動探索來加速啟動。本文以 CLI 用法為主體,最後講四個該改用 Python/TypeScript Agent SDK 的訊號。

Claude Code Permission Modes 全解析:從預設到 Auto Mode 的五種權限模式

Claude Code 有五種權限模式:default(逐步確認)、acceptEdits(自動接受編輯)、plan(唯讀規劃)、auto(AI classifier 背景審查)、bypassPermissions(YOLO 全跳過)。用 Shift+Tab 切換,搭配 settings.json 精細控制。auto mode 是最佳平衡點——既不用每步確認,又有安全防護。

techguide

用 SSH config alias 下載 VPS 檔案

設定好 SSH config 後,scp 可以直接用 alias,不用打完整 IP