Cả hai client đều là phần mềm MIT miễn phí, vì vậy lựa chọn không nằm ở giá — mà nằm ở việc bạn muốn hóa đơn model đến từ cùng tài khoản với client hay không. OpenCode bán model trực tiếp: một subscription $10 mỗi tháng có tên OpenCode Go và một gateway pay-as-you-go có tên OpenCode Zen. Oh My Pi hoàn toàn không bán gì và mong bạn mang theo key. Hãy chọn Oh My Pi khi bạn đã biết mình mua token ở đâu và muốn kiểm soát định tuyến sâu đối với chúng; chọn OpenCode khi bạn muốn một bề mặt rộng hơn — terminal, IDE, server, SDK — cùng tùy chọn mua model mà không cần rời khỏi đó.
Ba trường hợp trùng tên phải được giải quyết trước khi những thông tin đó trở nên hữu ích, vì hai trong số chúng sẽ đưa bạn đến nhầm tài liệu.
Dự án nào là dự án nào
| Tên mà bạn có thể đã tìm kiếm | Thực chất nó là gì | Trạng thái ngày 19 tháng 9 năm 2026 |
|---|---|---|
Oh My Pi, omp | can1357/oh-my-pi, trang omp.sh, npm @oh-my-pi/pi-coding-agent | Đang hoạt động, MIT, chưa được lưu trữ. 31.824 sao; bản phát hành mới nhất v18.2.6, công bố ngày 18 tháng 9 năm 2026 |
| Pi (upstream) | earendil-works/pi của Mario Zechner; địa chỉ cũ badlogic/pi-mono chuyển hướng đến đây | Đang hoạt động, 107.018 star. Một client khác với omp — xem Pi vs OpenCode |
| OpenCode | anomalyco/opencode, trang opencode.ai; sst/opencode chuyển hướng đến đây | Đang hoạt động, MIT. 208.444 sao; bản phát hành mới nhất v1.18.31, công bố ngày 14 tháng 9 năm 2026 |
| OpenCode (CLI Go) | opencode-ai/opencode, một dự án không liên quan viết bằng Go | Đã được lưu trữ. README cho biết công việc tiếp tục dưới tên Crush cùng đội Charm. Không phải chủ đề của trang này |
| "OpenCode Go" | Gói subscription $10 mỗi tháng trên dự án đang hoạt động | Một gói, không phải CLI Go đã được lưu trữ ở trên. Tên đầy đủ được sử dụng xuyên suốt trang này |
Thông tin về kho mã nguồn, bản phát hành và gói được đọc từ các API GitHub và npm vào ngày 19 tháng 9 năm 2026. Oh My Pi được xác định rõ là một bản fork: README của nó nói "omp là một bản fork của Pi do Mario Zechner tạo ra, được viết lại thành một giao diện ưu tiên lập trình", và kho mã nguồn vẫn có danh sách kiểm tra để chuyển các thay đổi từ dự án gốc sang. Việc OpenCode chuyển đổi là một lần đổi thương hiệu công ty chứ không phải thay đổi chủ sở hữu — tổ chức sst hiện hiển thị "We've moved to https://github.com/anomalyco" và tổ chức anomalyco có tên là Anomaly. Trang này không khẳng định ngày đổi tên vì bằng chứng công khai về một ngày cụ thể không thống nhất.
Bạn nên chọn công cụ nào
| Nếu điều này đúng với bạn | Lựa chọn | Bởi vì |
|---|---|---|
| Bạn muốn client và hóa đơn model nằm trong cùng một tài khoản | OpenCode | OpenCode Go và OpenCode Zen có thể được mua trong đó. Oh My Pi không có tài khoản để mua bất kỳ thứ gì |
| Bạn đã có key gateway hoặc vendor và muốn kiểm soát việc định tuyến key đó | Oh My Pi | Chín vai trò model, chuỗi fallback theo từng vai trò và việc xếp chồng credential theo kiểu round-robin là các nút điều khiển định tuyến mà README của nó xếp cùng với custom provider |
| Bạn làm việc trong một editor hoặc muốn có bề mặt web, server hay desktop | OpenCode | Tài liệu của nó bao quát TUI, CLI, Web, IDE, GitHub, GitLab, SDK, Server, Plugins và ACP; trang giới thiệu cũng nêu một desktop app bên cạnh các bề mặt terminal và IDE |
| Bạn muốn nhúng agent vào chương trình riêng của mình | Oh My Pi | Bốn điểm vào: TUI, omp -p một lần, Node SDK và omp --mode rpc hoặc omp acp qua stdio |
| Bạn muốn một chế độ giới hạn để giao cho người đang khám phá một codebase | OpenCode | Agent tích hợp plan mặc định đặt thao tác chỉnh sửa tệp và bash thành ask, và Tab chuyển sang agent đó |
| Công việc của bạn chạy trên các model open-weight và bạn muốn một con số hàng tháng cố định | OpenCode | OpenCode Go có giá $10 mỗi tháng, áp dụng với mức trần đô la theo từng model. Oh My Pi không thể bán cho bạn một gói |
| Công việc của bạn cần các model Claude | Cả hai — gói không quyết định điều đó | Các model Claude không có trong danh sách model được công bố của Go, vì vậy trong cả hai client, các token đó đến từ Zen, một vendor hoặc một gateway |
Quy trình. Oh My Pi là một agent ưu tiên terminal với lớp định tuyến rõ ràng khác thường: README mô tả chín vai trò định tuyến công việc theo ý định — default cho các lượt thông thường, smol để phân phối subagent giá rẻ, slow cho suy luận sâu, cùng với plan, commit, vision, task, advisor và tiny — mỗi vai trò có thể chỉ định một model khác nhau, với các chuỗi fallback dưới retry.fallbackChains khi primary chạm giới hạn quota. Thay vào đó, OpenCode mở rộng theo chiều ngang: hai agent tích hợp sẵn được chuyển bằng Tab, cùng các tích hợp được ghi nhận trên IDE, bề mặt web, server, SDK và plugin. Nếu vấn đề của bạn là "Tôi muốn model rẻ xử lý các phần rẻ", đó là hình dạng tích hợp sẵn của omp. Nếu vấn đề của bạn là "Tôi muốn agent này có thể truy cập từ nhiều nơi hơn", đó là OpenCode.
Quyền hạn và thực thi. Không bên nào mặc định là lựa chọn thận trọng. Tài liệu approval-mode của omp nêu yolo là chế độ mặc định, tự động phê duyệt read, write và exec, không yêu cầu xác nhận, còn always-ask và write là các thiết lập nghiêm ngặt hơn. Tài liệu cũng nhận diện một danh sách ngắn các mẫu bash quan trọng — rm -rf /, fork bomb, tải từ xa rồi thực thi và các trường hợp tương tự — nhưng hãy đọc kỹ trang approval-mode của omp trước khi dựa vào điều đó: cùng tài liệu nói rằng trong yolo, một override quan trọng đơn độc sẽ bị bỏ qua, và chỉ chính sách tool hoặc user prompt/deny rõ ràng mới vẫn buộc dừng. Trang permissions của OpenCode cho biết hầu hết quyền mặc định là "allow", còn doom_loop và external_directory mặc định là "ask", và việc đọc tệp .env bị từ chối. Hình dạng cũng khác nhau, điều này quan trọng khi chuyển một policy: omp khai báo cấp read/write/exec cho từng tool và override bằng tools.approval.<toolName>, còn OpenCode đánh giá các quy tắc mẫu, trong đó quy tắc khớp cuối cùng sẽ thắng.
Giới hạn về gói và giao thức. Hạn chế duy nhất có hình dạng giống gói ở đây hoạt động theo hướng mà nhiều người không ngờ tới. Không client nào giới hạn việc dùng key riêng sau một gói. Tuy nhiên, OpenCode Go có các yêu cầu về loại client sử dụng nó: tài liệu nói gói này được thiết kế cho OpenCode và các coding agent khác tạo ra những request tương tự, rằng "Traffic is monitored for abuse", và client của bạn "should" gửi traffic điển hình của coding agent, "Identify itself with its own user agent" và "Send a stable session ID in x-opencode-session" cho mỗi cuộc trò chuyện. omp triển khai chính xác phần kết nối đó cho provider opencode-go của mình. Bảng client đã được xác thực của OpenCode liệt kê một dòng chỉ có tên "Pi", không phân biệt dự án upstream với fork này, vì vậy không thể xác định từ trang đó liệu dòng này có bao gồm Oh My Pi hay không — hướng dẫn này không khẳng định Oh My Pi là OpenCode Go client đã được xác thực.
Chi phí của từng sản phẩm
| Khoản mục | Giá niêm yết | Bạn đang mua gì |
|---|---|---|
Oh My Pi (omp) | $0, MIT | Không bán gì cả. Không tài khoản, không gateway, không gói dịch vụ |
| Ứng dụng OpenCode | $0, MIT | Cài đặt qua script, npm, Homebrew, scoop, choco và các cách khác; trang giới thiệu có đề cập đến ứng dụng desktop và tiện ích mở rộng IDE |
| OpenCode Go | $10 mỗi tháng | Quyền truy cập tính phí theo đô la vào danh sách các model mã nguồn mở và bên thứ ba được công bố |
| OpenCode Zen | Theo token, tín dụng trả trước | Gateway có mức giá theo từng model được công bố và gói miễn phí bị giới hạn thời gian |
| OpenCode Enterprise | Chưa công bố | Theo chỗ ngồi, "liên hệ với chúng tôi". Không nêu con số ở đây vì không có mức giá nào được công bố |
| Token của model trên cả hai ứng dụng | Mức giá của nhà cung cấp của bạn | Khoản phí phát sinh trên cả hai ứng dụng bất kể bạn chọn ứng dụng nào |
Đã kiểm tra ngày 19 tháng 9 năm 2026. Bằng chứng cho thấy Oh My Pi không bán gì là gián tiếp nhưng thuyết phục: sitemap của sản phẩm công bố 36 URL, gồm trang chủ và 35 trang tài liệu, không có route định giá, thanh toán, checkout hoặc đăng ký nào trong số đó, và repository được cấp phép MIT. Điểm tiếp xúc được host duy nhất là relay cộng tác phiên, mặc định là wss://my.omp.sh và niêm phong mọi payload phiên trước khi payload đó đến socket — không kèm giá hay đăng ký. URL relay tùy chỉnh được chấp nhận, nhưng chính trang này nêu rằng relay production hiện chưa được phân phối để tự host.
Gói $10 là mức trần, không phải hạn mức được cấp
OpenCode Go đáng được tìm hiểu chính xác, vì các bản tóm tắt của bên thứ ba về nó liên tục sai. Trang chính thức nêu rằng "Usage limits are defined as monthly dollar amounts", chứ không phải số lượng request. Mỗi model có hạn mức đô la hàng tháng riêng — $15, $30 hoặc $60 tùy model — và các khoảng thời gian ngắn hơn là tỷ lệ phần trăm của chính hạn mức theo model đó: khoảng thời gian 5 giờ là 20% và khoảng thời gian hàng tuần là 50%. Vì vậy, con số "$12 per 5 hours" được nhắc lại rộng rãi chỉ đúng với model có hạn mức hàng tháng là $60. Hai quy tắc khác làm thay đổi phép tính: "Only one member per workspace can subscribe to OpenCode Go", và việc chạm hạn mức không phải là dừng cứng — trang này nói rằng bạn vẫn có thể tiếp tục dùng các model miễn phí, hoặc bật fallback số dư để request sử dụng tín dụng Zen thay vì bị chặn. Hãy đọc bảng danh sách model ngay trên trang thay vì dựa vào bất kỳ bản tóm tắt nào. Trang này nói rằng danh sách có thể thay đổi, và nó thay đổi nhanh hơn khả năng theo dõi của một bài hướng dẫn: hạn mức của một model được đọc khác nhau trong hai lần kiểm tra cách nhau một ngày trong khi một hệ số khuyến mại có thời hạn đang được áp dụng cho model đó, vì vậy hãy xem mọi hạn mức được nêu ở bất kỳ đâu — kể cả ở đây — là dạng thức chứ không phải con số hiện tại.
Zen là phần tính phí theo mức sử dụng của cùng tài khoản đó. Tài liệu của Zen nêu rằng bạn bị tính phí theo từng yêu cầu trừ vào số dư tín dụng, tự động nạp lại $20 khi số dư giảm xuống dưới $5 trừ khi bạn thay đổi hoặc tắt tính năng này, và chuyển nguyên chi phí xử lý thẻ cho bạn, được báo giá là 4,4% cộng $0,30 cho mỗi giao dịch. Quan điểm được nêu là "Chuyển mọi khoản giảm giá đến người dùng bằng cách bán theo giá vốn; vì vậy khoản cộng thêm duy nhất là để trang trải phí xử lý của chúng tôi." Có hai điều ở đây được nói rõ là tạm thời và sẽ lỗi thời: mỗi model được liệt kê ở mức $0 đều được mô tả là miễn phí "trong một thời gian giới hạn", phần lớn kèm ghi chú rằng nhóm đang dùng khoảng thời gian đó để thu thập phản hồi và cải thiện model, còn workspace nhóm chỉ miễn phí trong khuôn khổ beta. Số lượng model miễn phí được liệt kê sẽ thay đổi — hãy đếm chúng trên trang thay vì tin vào bất kỳ con số nào ở đây. Cả hai thông tin này đều có trên trang vào ngày 19 tháng 9 năm 2026 và nên được đọc lại trước khi bạn lập ngân sách dựa trên chúng. Bảng giá OpenCode đã theo dõi đầy đủ bảng giá Go và Zen.
Ước tính token tương đương
Đây là phép tính token, không phải chi phí tác vụ đo được và không phải mức trần hóa đơn. Giả định một phiên gồm 200.000 token đầu vào không được cache và 15.000 token đầu ra, rồi chỉ so sánh hai tên model xuất hiện trong cả hai bảng giá. Mức giá của Kunavo lấy từ danh mục trực tiếp; mức giá của Zen được đọc từ tài liệu riêng của Zen vào ngày 19 tháng 9 năm 2026.
| Mô hình | Kunavo cho mỗi 1M input / output | Zen cho mỗi 1M input / output | Ước tính của Kunavo | Ước tính của Zen |
|---|---|---|---|---|
| Claude Sonnet 5 | $1,40 / $7,00 | $2,00 / $10,00 | $0,385 | $0,550 |
| Claude Opus 5 | $3,50 / $17,50 | $5,00 / $25,00 | $0,963 | $1,375 |
Hãy đọc nội dung này theo phạm vi hẹp. Với các giả định này, hai bảng giá cho cùng một ước tính đối với Claude Sonnet 5 và các ước tính khác nhau đối với Claude Opus 5; đây là nhận định về hai mức giá được công bố vào một ngày, không phải khẳng định chung rằng gateway nào rẻ hơn. Zen công bố mức giá cho các model mà Kunavo không bán, còn danh mục của Kunavo có các model mà Zen không liệt kê, vì vậy phần lớn mỗi bảng giá không có đối tác tương ứng để so sánh. Mức giá được liệt kê rẻ nhất và chi phí thấp nhất để hoàn thành một tác vụ cũng là hai câu hỏi khác nhau — một model rẻ hơn nhưng cần ba lần thử có thể tốn nhiều hơn một model đắt hơn nhưng chỉ cần một lượt.
Các con số $10 cũng không thể so sánh trực tiếp, dù trông có vẻ như vậy. $10 của OpenCode Go là khoản đăng ký hàng tháng định kỳ, trong đó giá trị phụ thuộc vào việc bạn thực sự sử dụng đến hạn mức theo từng model. $10 tối thiểu của Kunavo là khoản nạp thêm tín dụng trả trước — mức tối thiểu để nạp tiền, không phải phí hàng tháng và không phải giá cho một tác vụ. Số tiền trong danh mục của Kunavo là mức sàn tính phí chứ không phải mức trần: khi upstream báo khoản phí của mình, hóa đơn là giá trị lớn hơn giữa chi phí trong danh mục và chi phí upstream nhân với markup áp dụng. Phí bộ nhớ đệm và các công cụ bên ngoài nằm ngoài ví dụ này; xem chi tiết thanh toán.
Trỏ một trong hai ứng dụng đến khóa riêng của bạn
Đây là điểm hai ứng dụng khác biệt nhiều nhất, và cũng là nơi việc chuyển đổi thực sự khiến bạn mất thời gian. Cả hai đều chấp nhận endpoint tương thích với OpenAI tùy chỉnh mà không yêu cầu gói dịch vụ cụ thể. Khác biệt nằm ở tệp cấu hình, các định dạng wire mà mỗi ứng dụng hỗ trợ, và một bẫy tự động phát hiện.
| Mối quan tâm | Oh My Pi | OpenCode |
|---|---|---|
| Tệp cấu hình | ~/.omp/agent/models.yml (YAML) | opencode.json / opencode.jsonc (JSON) |
| Lựa chọn wire | api: ở cấp nhà cung cấp hoặc model; mười một giá trị — chín giao thức wire dành cho chat, bao gồm openai-completions, openai-responses và anthropic-messages, cùng hai API đánh giá trả lời các request đánh giá thay vì chat | Gói npm: — @ai-sdk/openai-compatible cho chat completions, @ai-sdk/openai cho /v1/responses |
| Điểm cuối tương thích Anthropic | Giá trị hạng nhất của api: trên một nhà cung cấp tùy chỉnh | Được ghi tài liệu là ghi đè anthropic tích hợp sẵn của nhà cung cấp với baseURL, không phải là nhà cung cấp tùy chỉnh |
| Cú pháp khóa | apiKey: là tên biến môi trường hoặc một giá trị literal; tiền tố ! chạy một shell command | "apiKey": "{env:VAR}" |
| Giới hạn ngữ cảnh | Được phát hiện hoặc khai báo theo từng model | Được khai báo thủ công trong limit.context và limit.output; chỉ các nhà cung cấp tiêu chuẩn mới nhận được chúng từ models.dev |
| Bộ chọn model | provider/modelId | "model": "provider-id/model-id" |
Cả hai bảng trên đều được đọc từ tài liệu riêng của các dự án vào ngày 19 tháng 9 năm 2026 — docs/models.md của omp và trang nhà cung cấp của OpenCode.
Oh My Pi và cái bẫy phát hiện
# Derived from omp's documented schema in docs/models.md.
# Not runtime-tested by Kunavo against a running omp.
providers:
# OpenAI wire. baseUrl ENDS IN /v1 here.
kunavo:
baseUrl: https://api.kunavo.com/v1
apiKey: KUNAVO_API_KEY # an env var name, or a literal key
api: openai-completions # required whenever discovery is set
authHeader: true # sends Authorization: Bearer <key>
discovery:
type: openai-models-list # reads /v1/models, picks up context_length
# Anthropic wire. Written without /v1, matching omp's own proxy examples;
# omp's docs say its Anthropic SDK strips a trailing /v1 either way.
kunavo-anthropic:
baseUrl: https://api.kunavo.com
apiKey: KUNAVO_API_KEY
api: anthropic-messages
authHeader: true
# disableStrictTools: true # only if strict tool schemas are rejected
models:
- id: claude-sonnet-5
name: Claude Sonnet 5Có một chi tiết đáng được dành trọn cả phần này. omp ghi tài liệu về chế độ discovery.type: proxy dành cho các gateway cung cấp cả /v1/messages và /v1/chat/completions phía sau cùng một host — chính xác là mô hình của Kunavo. Nhưng nó suy ra wire của từng model từ trường supported_endpoint_types trong GET /v1/models, và các model không có trường này sẽ "fall back to provider-level api if set, else dropped". /v1/models của Kunavo không xuất trường đó, vì vậy chỉ discovery.type: proxy sẽ loại bỏ toàn bộ danh mục. Đoạn mã phía trên tránh được điều này: discovery.type: openai-models-list trước tiên đọc max_model_len rồi đến context_length, và Kunavo có công bố context_length. Quy tắc xác thực riêng của omp khiến api: ở cấp nhà cung cấp là bắt buộc bất cứ khi nào discovery được thiết lập, ngoại trừ chế độ proxy.
Một hành vi khác của omp cũng hữu ích khi dùng với gateway: thứ tự phân giải khóa được ghi tài liệu của nó đặt models.yml apiKey ở trên OAuth đã lưu, và nêu rằng đây là chủ ý, "so a key supplied for a custom baseUrl or gateway is honored instead of forwarding an upstream OAuth token the proxy would reject". Điều đó loại bỏ trước loại lỗi xác thực gateway phổ biến nhất.
OpenCode và điểm đặc biệt của Anthropic
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"kunavo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kunavo",
"options": {
"baseURL": "https://api.kunavo.com/v1",
"apiKey": "{env:KUNAVO_API_KEY}"
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"limit": { "context": 1000000, "output": 128000 }
}
}
}
},
"model": "kunavo/claude-sonnet-5"
}Đường dẫn chat completions ở trên tuân theo trực tiếp cấu trúc nhà cung cấp tùy chỉnh được OpenCode ghi tài liệu. Đường dẫn tương thích với Anthropic thì không có cấu trúc như vậy: OpenCode ghi tài liệu rằng để truy cập endpoint Anthropic, bạn ghi đè nhà cung cấp tích hợp sẵn — "You can customize the base URL for any provider by setting the baseURL option" — nghĩa là bạn kế thừa các model id của nhà cung cấp đó và từ bỏ các model được phục vụ từ host riêng của nhà cung cấp trong cùng cấu hình. Một nhà cung cấp tùy chỉnh khai báo "npm": "@ai-sdk/anthropic" được OpenCode cho phép theo JSON schema được công bố, trong đó npm là một chuỗi không bị ràng buộc, nhưng nó không xuất hiện ở đâu trong tài liệu providers — hãy xem route đó là chưa được xác minh.
Hãy chú ý cách viết base URL, nhưng kiểm tra quy tắc riêng của từng ứng dụng thay vì áp dụng một quy ước cho cả hai. Bề mặt tương thích với OpenAI yêu cầu https://api.kunavo.com/v1 ở cả hai. Trên wire Anthropic, chúng ghi tài liệu về cách xử lý khác nhau: tài liệu của omp nói SDK Anthropic của nó "strips a trailing /v1 from baseUrl before appending /v1/messages", và các ví dụ proxy Anthropic của chính omp sử dụng base URL không có /v1; OpenCode ghi tài liệu route Anthropic là ghi đè baseURL của nhà cung cấp tích hợp sẵn, và ví dụ cho việc ghi đè đó kết thúc bằng /v1. Dạng chỉ có origin — https://api.kunavo.com, trong đó ứng dụng tự thêm /v1/messages — là quy tắc dành cho chính ANTHROPIC_BASE_URL, nơi /v1 ở cuối thực sự tạo ra /v1/v1/messages; xem tài liệu tham chiếu về base URL. Kunavo chấp nhận cả Authorization: Bearer và x-api-key, vì vậy authHeader: true của omp và giá trị mặc định riêng của AI SDK đều có một đường dẫn hợp lệ.
Chi phí thực sự của việc chuyển đổi
Chuyển đổi giữa hai ứng dụng này là viết lại cấu hình, không phải sao chép. Registry phát hiện tệp ngữ cảnh của omp có bao gồm nguồn opencode, nhưng tài liệu của nó giới hạn nguồn đó ở một tệp duy nhất cấp người dùng, ~/.config/opencode/AGENTS.md, không có tệp tương đương cấp dự án — vì vậy hướng dẫn của dự án chỉ được chuyển sang nếu chúng vốn đã nằm trong một tệp mà cả hai ứng dụng đều phát hiện, chẳng hạn AGENTS.md ở thư mục gốc repository. Không có nội dung nào trong tài liệu của omp đọc các block nhà cung cấp opencode.json, vì vậy base URL, khóa, mục model và giới hạn ngữ cảnh phải được khai báo lại từ đầu.
Một khác biệt đáng được quyết định có chủ ý thay vì bỏ qua. Trang providers của OpenCode đưa ra cảnh báo rằng các phiên bản trước đây từng đóng gói plugin để sử dụng gói đăng ký Claude Pro hoặc Max và rằng "this is no longer the case as of 1.3.0", với lý do nhà cung cấp cấm việc đó; cùng trang này vẫn liệt kê ChatGPT Plus, GitHub Copilot và GitLab Duo là các gói đăng ký có thể dùng mà không cần thiết lập. Ngược lại, omp vẫn cung cấp đăng nhập OAuth kèm xoay vòng nhiều tài khoản cho một số nhà cung cấp gói dịch vụ lập trình. Nếu bạn dự định thanh toán bằng gói đăng ký thay vì khóa tính phí theo token, khác biệt này sẽ quyết định ứng dụng dành cho bạn — và đây là câu hỏi về chính sách, vì vậy hãy kiểm tra điều khoản hiện tại của gói đăng ký chứ không chỉ tài liệu của một trong hai ứng dụng. Cũng lưu ý rằng phần Anthropic riêng của OpenCode được công bố không nhất quán: phần văn xuôi mô tả tùy chọn đăng nhập Pro/Max nằm phía trên cảnh báo nói rằng tùy chọn đó đã bị gỡ bỏ, và hướng dẫn này trích dẫn cảnh báo vì đó là tuyên bố cụ thể, có ngày tháng.
Cuối cùng, nếu bạn chỉ thay đổi nơi mua token chứ không thay đổi ứng dụng sử dụng, hãy làm việc đó trước — đây là thử nghiệm ít tốn kém hơn. So sánh các nhà cung cấp với API tốt nhất cho OpenCode, hoặc đọc cách một gateway LLM hoạt động nếu chính khái niệm gateway là phần mới. Nếu bạn đang cân nhắc các ứng dụng hoàn toàn khác, các lựa chọn thay thế cho OpenCode bao quát phạm vi rộng hơn.
Thử trên một tác vụ có phạm vi giới hạn
Kunavo đã công bố hướng dẫn thiết lập cho OpenCode nhưng chưa có hướng dẫn cho Oh My Pi, và một tài liệu tham chiếu cấu hình được công bố không phải là bài kiểm tra tương thích: chưa ứng dụng nào được kiểm thử runtime tại đây với endpoint của Kunavo, còn đoạn cấu hình omp ở trên là đoạn đầu tiên Kunavo công bố, được xây dựng từ schema được omp ghi tài liệu. Hãy duy trì một route đang hoạt động trong khi thử một trong hai, chạy một tác vụ có phạm vi giới hạn, rồi đọc khoản phí mà tài khoản của bạn thực sự ghi nhận cho tác vụ đó. Bắt đầu từ hướng dẫn tích hợp OpenCode, và tạo tài khoản Kunavo khi bạn sẵn sàng nạp tiền cho một khóa.
Câu hỏi thường gặp
Oh My Pi có phải là Pi không?
Không. Oh My Pi là một fork downstream. README của nó nói trực tiếp như vậy — “omp is a fork of Pi by Mario Zechner, rewritten as a coding-first surface” — và hai dự án được phát hành dưới dạng các client riêng biệt với các cây cấu hình riêng: Pi đọc ~/.pi/agent/models.json, còn Oh My Pi đọc ~/.omp/agent/models.yml cùng ~/.omp/agent/config.yml. Đây là các repository khác nhau với maintainer khác nhau, npm package khác nhau và tên CLI khác nhau; Oh My Pi được cài đặt dưới tên omp. Dự án upstream cũng đã đổi địa chỉ: github.com/badlogic/pi-mono hiện chuyển hướng đến github.com/earendil-works/pi. Cấu hình được viết cho một bên sẽ không được tải ở bên kia.
So sánh này nói về OpenCode nào?
Dự án đang hoạt động tại opencode.ai, với repository là github.com/anomalyco/opencode. Địa chỉ cũ github.com/sst/opencode chuyển hướng đến đó vì đội SST đã đổi thương hiệu công ty thành Anomaly; tổ chức GitHub có tên sst hiện mang mô tả “We've moved to https://github.com/anomalyco”. Một dự án thứ ba, không liên quan, có tên OpenCode — một CLI viết bằng Go tại github.com/opencode-ai/opencode — đã được lưu trữ; README của dự án cho biết công việc tiếp tục dưới tên Crush cùng đội Charm. Không sử dụng tài liệu hoặc định dạng cấu hình của dự án đó cho bất kỳ client nào được thảo luận ở đây.
Oh My Pi có miễn phí không, và có gói trả phí không?
Dự án được cấp phép MIT và không có gì để mua. Trang omp.sh công bố 36 URL — trang chủ cộng với 35 trang tài liệu — và không URL nào là trang pricing, billing, checkout hoặc sign-up (được kiểm tra ngày 2026-09-19). Không có tài khoản Oh My Pi và không có gateway Oh My Pi. Điểm tiếp xúc hosted duy nhất được ghi nhận trong repository là một relay cộng tác session được mã hóa đầu-cuối, mặc định dùng wss://my.omp.sh, và không có mức giá hay quy trình đăng ký nào được ghi nhận cho relay này. Bạn có thể trỏ omp đến một relay URL khác, nhưng lưu ý tài liệu riêng của dự án cho biết relay production hiện chưa được phân phối để tự host — mã nguồn Go và các binary độc lập chưa được công bố. Khoản tiền bạn trả khi chạy omp là khoản phí do model provider mà bạn trỏ tới tính.
OpenCode có rẻ hơn Oh My Pi không?
Cả hai client đều không tính phí, nên phép so sánh nằm ở hóa đơn model chứ không phải công cụ. OpenCode cung cấp hai cách mua model trong tài khoản riêng: OpenCode Go, subscription $10 mỗi tháng được đo bằng đô la dựa trên mức trần hàng tháng theo từng model là $15, $30 hoặc $60; và OpenCode Zen, một gateway pay-as-you-go dùng tín dụng trả trước. Oh My Pi không cung cấp lựa chọn nào, nên với omp bạn luôn phải mang theo key bên ngoài. Bên nào rẻ hơn hoàn toàn phụ thuộc vào model nào hoàn tất công việc của bạn: danh sách model được công bố của Go là các model open-weight và bên thứ ba, không bao gồm Claude, vì vậy nếu Claude là model hoàn tất công việc của bạn thì bạn sẽ mua các token đó từ Zen, một vendor hoặc một gateway trong cả hai client.
Oh My Pi có thể dùng subscription OpenCode Go hoặc OpenCode Zen không?
Oh My Pi tích hợp sẵn các provider với id opencode-go và opencode-zen, đọc key từ OPENCODE_API_KEY và chuyển luồng đăng nhập đến opencode.ai/auth. Với Go, nó gửi GET /zen/go/v1/usage theo chu kỳ và giải mã ba khoảng chi tiêu do server tính toán; trên các endpoint Anthropic, nó loại bỏ header Bearer và thay bằng X-Api-Key, vì ghi chú riêng của nó cho biết request chỉ có Bearer sẽ thất bại với HTTP 401. Riêng tài liệu Go của OpenCode nói rằng client bên thứ ba “should” gửi traffic có hình dạng coding-agent, tự nhận diện bằng user agent riêng và gửi header x-opencode-session ổn định; tài liệu cũng liệt kê các client đã được xác thực, trong đó có một dòng tên “Pi”. Dòng đó không có liên kết, vì vậy không thể hiểu là xác thực riêng cho Oh My Pi. Hãy đối chiếu mức sử dụng của bạn với các điều khoản hiện hành của OpenCode.
Tôi có thể chuyển cấu hình OpenCode sang Oh My Pi không?
Chỉ chuyển được một phần, và cấu hình provider là phần không thể chuyển. Registry khám phá context-file của Oh My Pi có bao gồm một source opencode, và tài liệu của nó giới hạn source này ở một tệp cấp người dùng, ~/.config/opencode/AGENTS.md, không có tương đương cấp dự án. Không có nội dung nào trong tài liệu của omp đọc các khối provider của opencode.json, vì vậy base URL, API key, mục model và giới hạn context phải được khai báo lại thủ công trong ~/.omp/agent/models.yml. Ngôn ngữ quyền hạn cũng khác về hình dạng: omp khai báo một cấp read/write/exec cho từng tool rồi override theo tên tool, trong khi OpenCode đánh giá các quy tắc mẫu theo từng tool, trong đó quy tắc khớp cuối cùng sẽ thắng. Hãy dự trù việc chuyển đổi là viết lại hai tệp cấu hình, không phải sao chép chúng.
Chạy không giám sát thì bên nào an toàn hơn?
Không bên nào được khóa chặt mặc định, và đây là điều cần biết trước khi bạn trỏ một trong hai client vào repository quan trọng. Tài liệu approval-mode của Oh My Pi liệt kê ba chế độ và nêu yolo là mặc định; chế độ này tự động phê duyệt read, write và exec, không hỏi gì cả; always-ask và write là các thiết lập nghiêm ngặt hơn. Tài liệu permissions của OpenCode cho biết hầu hết quyền mặc định là allow, trong khi doom_loop và external_directory mặc định là ask, còn tệp .env bị từ chối khi đọc. OpenCode có một plan agent tích hợp sẵn, có thể chuyển bằng Tab; mặc định được ghi nhận của agent này đặt thao tác chỉnh sửa tệp và bash thành ask thay vì allow — đây là điểm gần nhất mà một trong hai client đạt được với mặc định thận trọng ngay khi cài đặt. Hãy đặt chế độ một cách rõ ràng trong cả hai.
Thông tin về repository, bản phát hành và package được kiểm tra đối chiếu với API của GitHub và npm vào ngày 19 tháng 9 năm 2026; các trang Go, Zen, permissions, providers và enterprise của OpenCode, cùng cây thư mục docs/ và sitemap của Oh My Pi, được đọc trong cùng ngày. Các giá trị api được Oh My Pi cho phép đã được kiểm tra lại vào ngày 1 tháng 10 năm 2026 đối chiếu với docs/models.md và schema models.yml của nó ở v18.4.8. Chưa ứng dụng nào được kiểm thử runtime với Kunavo. Mức giá token của Kunavo lấy từ danh mục trực tiếp, và mọi con số đô la trên trang này đều là phép tính token minh họa chứ không phải chi phí tác vụ đo được.