你在教學文或 GitHub 看到「Oh My Pi」「omp」「curl … omp.sh/install」,腦內大概會跳出三個問號:這到底是什麼?要不要再訂一份貴貴訂閱?跟 Cursor、跟 Pi 原版是不是同一個東西只是換皮?

短答:它是跑在終端機裡的開源 AI 寫程式代理(MIT),指令叫 omp;官網與安裝腳本掛在 omp.sh。讀完這篇,你應該能分清名字、判斷適不適合自己,並在自己的專案資料夾跑通第一個「只讀、不改檔」的小任務——先確認它讀得懂 repo,再考慮要不要把改碼大權交出去。AI 改錯一行的殺傷力,有時比咖啡灑在鍵盤上還麻煩。

若你更想了解極簡上游 Pi Coding Agent,可先看站內的 Pi Coding Agent 完整指南;本文聚焦 Oh My Pi 這條「開箱即用」fork

三個名字怎麼對上?

你看到的實際是什麼
Oh My Pi專案全名,開源在 can1357/oh-my-pi
omp裝好後在終端機打的指令,也是口語簡稱
omp.sh官網+文件+安裝腳本(/install/install.ps1),不是另一個 agent

一句話:Oh My Pi 是軟體,omp 是你要打的命令,omp.sh 是官網兼安裝入口。

npm/Bun 套件名是 @oh-my-pi/pi-coding-agent——給偏好用套件管理器安裝、或要把引擎嵌進自己 TypeScript 專案的人。

跟「Pi Coding Agent」是什麼關係?

兩者不是同一個可執行檔,也不是同一產品的兩種介面:

Pi 專案(badlogic/pi-mono)
└─ Pi Coding Agent(常見指令:pi)

Oh My Pi(can1357/oh-my-pi,以 Pi 為基礎的 fork)
└─ @oh-my-pi/pi-coding-agent → CLI(常見指令:omp)

上游 Pi 強調「核心精簡、自己加套件/擴充」;Oh My Pi 把自己定位成 coding-first fork,預設就打包較完整的寫程式工作流(session、subagents、斜槓指令等)。維護者、安裝套件與設定路徑都不同——不要把 pi 的教學指令原封不動套到 omp,那不是別名,是兩套 CLI 在裝可愛。

本機若兩個都裝過,可用唯讀方式確認身分:

command -v pi && pi --help
command -v omp && omp --help

command -v pi(或 omp)會在 PATH 裡找這個指令:找到就印出路徑,找不到就失敗。後面的 && 表示「左邊成功才跑右邊」——有裝才執行 --help,避免沒裝還硬跑、滿屏 command not found。兩行都印出路徑與說明=兩套都在;只有一行成功=只裝了那一個。兩個都存在時,它們是兩套 CLI,不是別名。

跟 Pi、Cursor 差在哪?(決策表)

維度Pi(上游)Oh My Pi(omp)Cursor
本質極簡終端 harness,靠套件擴充Pi 的 fork,開箱即用、功能打包較齊圖形 IDE+內建 Agent/Composer
常見指令piomp下載桌面應用
LSP/偵錯多半靠套件再加內建 LSP、DAP靠編輯器本身
改碼保險依工具與模型設定強調 雜湊錨定修改(對不上就擋下來)Diff 預覽+Agent 迴圈
最適合誰想自己拼最小組合的人要終端 workflow、但不想從零組 LSP/子代理喜歡 GUI、多檔視覺化 diff

「改碼保險」不是保險商品,比較像改檔前的防護網:AI 要改某一行時,檔案可能已經被你、別的工具、或上一輪改過;若還照舊記憶硬改,就可能改錯行、弄壞語法。三欄差在防護怎麼做——

  • 上游 Pi:核心很精簡,有沒有這類防護、嚴不嚴格,多半看你裝的工具/設定,以及模型本身夠不夠謹慎,沒有統一的預設保險口號。
  • Oh My Pi:內建雜湊錨定(見下一節例子):對不上就擋下這次修改,叫 AI 重新看檔再決定。
  • Cursor:常見是給你看 Diff 預覽(你確認再套用),再加上 Agent 迴圈(改完跑測試/再讀錯誤再修)。偏「人眼+反覆修正」,不是同一套 hash 擋行機制。

口語版怎麼選:

  • 已經用 Cursor、偶爾想在終端做批次重構/測試閉環 → 可以加裝 omp 試試,不必二選一。
  • 想要極簡、自己挑 package → 用上游 Pi,不是 omp。
  • 不想碰終端、只要圖形介面 → Cursor 就夠。終端恐懼不是罪,只是 omp 的舞台不在那裡。

任務級分工(同一 worktree 別兩邊同時寫檔)可記這張精簡表:

任務類型首選
UI 調像素、元件預覽Cursor
跨很多檔 rename/重構、跑測試閉環omp
子代理並行、native/除錯器omp
PR 前結構化 review(/reviewomp
單檔小改、邊看邊改看你人在 IDE 還是終端

兩個 agent 同時改同一檔,最後通常不是協作,是 merge conflict 的聯誼會。

Oh My Pi 的三大賣點(白話)

一般聊天式 AI 是「給你一段 code,你自己貼回去」。omp 直接連你的終端、檔案系統,甚至偵錯器——少了那一趟複製貼上馬拉松,手指會感謝你。

  1. 雜湊錨定修改(Hash-anchored edits)
    改某一行前,先對那一行內容算一張「指紋」(hash)。執行時若指紋對不上=這行已經不是剛才那樣子 → 直接擋下,而不是硬貼上去。
    例如 AI 當初看到 const port = 3000,要改成 8080;若這時你已手動改成 const port = 4000,指紋就不一樣 → omp 拒絕這次套用,降低「AI 改錯行把專案搞爛」的機率。

  2. 內建 LSP/DAP(有點像把 IDE 能力接到 agent)

    • LSP:rename、跳到定義、找引用、看診斷(紅線),比較像「懂語意」而不是純文字搜尋取代。
    • DAP:可接真實 debugger(例如設斷點、單步看變數),適合找邏輯錯或 native crash,而不是只靠猜——猜 bug 很像喝冰美式解渴:短暫清醒,問題還在。
  3. 子代理(task)並行
    主代理可派多個子代理分工;必要時用隔離工作區,減少大家搶同一份檔案互踩。適合大範圍重構、探索+實作並行這類任務。

另外:官方定位支援大量模型供應商,可用斜槓指令切換模型;簡單搜尋用便宜模型、架構難題用強模型,是常見用法。首次執行也常會讀既有的 .cursor.claude.vscode 等規則/MCP,減少手動搬家。

同一套引擎還有幾種入口:互動 TUI(omp)、單次 omp -p "…"、Node SDK、以及 RPC/ACP(讓其他編輯器驅動)。新手先會前兩種就夠。

安裝與第一個安全任務

安裝(擇一)

macOS/Linux:

curl -fsSL https://omp.sh/install | sh

也可用 Homebrew:brew install can1357/tap/omp

Windows(PowerShell):

irm https://omp.sh/install.ps1 | iex

Bun(JS/TS 開發者):

bun install -g @oh-my-pi/pi-coding-agent

確認:

omp --help

找不到指令時,先重開終端,或檢查安裝目錄是否在 PATH

登入模型後,先做「只讀」任務

在專案目錄執行 omp,進互動介面後:

  1. /login — 選供應商並完成驗證(金鑰留在本機設定流程,不要貼進專案再 commit)。
  2. /models — 確認/切換模型。
  3. /help — 看目前版本支援的斜槓指令。

第一句建議寫死邊界,例如:

請列出目前專案的主要資料夾,找出 README.md,並用三點摘要用途。只讀取,不要修改檔案。

或單次模式:

omp -p "列出目前專案的主要資料夾,並用三點摘要 README.md;不要修改檔案"

預期:能讀到工作目錄、回摘要、沒有產生檔案變更。之後再用 omp 做多步修改;omp --resume--continue 可接回舊 session。

更完整的安裝排查、工作模式與第一個「小改碼」任務,適合另寫一篇 how-to;本稿先把「這是什麼」講清楚就收工。

要付錢嗎?

項目要不要錢
Oh My Pi 軟體本身不用。MIT 開源,安裝免費
模型推理(API)要。跟 Cursor 訂閱池不同,omp 多半走你自帶的 provider(Anthropic、OpenAI、Google 等)或 OAuth 登入
Cursor可選訂閱;跟 omp 並存時,兩邊可能各自算用量

白話:omp 不是另一個 IDE 訂閱,比較像「免費的終端 harness + 你自己的 API 帳單」。想控成本,可以簡單任務用便宜模型、大重構再切強模型——這是 omp 常見用法,不是必裝功能。軟體免費、token 不免費:這句話值得印在鍵盤旁邊。

常見誤解(FAQ)

Oh My Pi 是 Pi 的官方新版嗎?
不是。它是 Can Bölük 維護的獨立 fork,跟 Mario Zechner 的上游 Pi 不同 repo、不同 CLI(omp vs pi)。

omp.sh 是 npm 套件嗎?
不是。omp.sh 是官網與安裝腳本;npm 套件名是 @oh-my-pi/pi-coding-agent

它是 Cursor 外掛嗎?
不是。它是終端機程式。首次執行常會讀取 .cursor 規則,方便跟 Cursor 並存,但不是 Cursor 裡的一個按鈕。

我該選 Pi 還是 omp?
想自己拼最小 harness → Pi。想終端開箱即用、內建 LSP/子代理 → omp。詳見上文決策表。

跟 Claude Code 比呢?
Claude Code 也是終端 agent,但綁 Anthropic 生態、內建工具集不同。若你已深度用 Claude Code,不必為了「跟風」硬換;若你在找 Pi fork + 多 provider + 內建 LSP/task,才值得試 omp。

什麼情境不適合 omp?

  • 幾乎不碰終端、只要 GUI diff 預覽 → Cursor 就夠
  • 想自己控制每一個擴充、討厭預設打包 → 上游 Pi
  • 主要工作是筆記庫維護、內容研究流 → Cursor/編輯器 skills 通常比較合(omp 擅長的是 coding worktree,不是 vault 工作流)

推薦工具/資源

工具適合誰
Oh My Pi(omp)要終端機 coding agent、希望 LSP/子代理等預設就有,不想從零組 harness
上游 Pi Coding Agent要極簡核心、自己用套件擴充;細節見 Pi Coding Agent 完整指南
Cursor日常 GUI 編輯、預覽、筆記流;可與 omp 並存但別同目錄同時寫檔

沒有「誰完勝」——取捨是介面與預設功能量,不是誰比較潮。

結語:下一步做什麼?

  1. 名字:Oh My Pi=專案;omp=指令;omp.sh=官網/安裝。
  2. 定位:Pi 的 coding-first fork,不是 Cursor 外掛,也不是上游 Pi 的官方更名版。
  3. 動手:裝好 → /login → 用「只讀」小任務驗證,再決定要不要當日常終端工具。

打開 omp.sh,照官方安裝腳本裝好 omp,在任一小型專案目錄跑一輪只讀摘要——先確認它讀得懂你的 repo,再交給它改碼。審完再來一杯;token 帳單也記得瞄一眼。

參考資料