| English | Tiếng Việt |
Dùng OpenCode Zen trong pi — khỏi cần API key. Bạn là member (không phải owner) của workspace? Extension này sinh ra cho bạn.
pi install npm:opencode-zen-oauth
Console v2 của OpenCode giấu API key với member, còn token OAuth đem gọi thẳng thì bị từ chối ngoài client chính chủ. Ba bức tường, một extension gỡ hết:
/login opencode-zen hiện trang device-code, bạn approve một lần trên browser, pi tự lưu và tự refresh token./model chỉ hiện model mà workspace đó cho phép. Xài thêm workspace nữa? /opencode-zen switch-org là xong, khỏi login lại (chỉ có hiệu lực trong session; muốn giữ sau restart thì login lại).Gateway thỉnh thoảng trả 502/503? Extension tự retry với backoff trước khi bạn kịp thấy lỗi. Claude đời mới (Haiku 5.5, Sonnet/Opus 5.x, Fable 5) được gửi đúng dạng adaptive thinking mà gateway yêu cầu.
/login opencode-zen # device code + link hiện trong TUI
Approve trên browser, quay lại terminal chọn workspace, xong. Model nằm dưới opencode-zen/ trong /model. Không cần cài opencode — tất cả chạy qua HTTPS tới opencode.ai.
Dự phòng: set OPENCODE_API_KEY để dùng Zen API key thay vì OAuth.
Ví dụ thật từ một workspace (list của bạn tùy theo workspace):
| id | input | output | cache read | inputs |
|---|---|---|---|---|
glm-5.3-flash |
$0.15 | $0.50 | $0.03 | text, image |
deepseek-v4.1-flash |
$0.30 | $1.20 | $0.006 | text, image |
big-pickle |
$0 | $0 | $0 | text |
mimo-v2.6-flash-free |
$0 | $0 | $0 | text |
Giá/1 triệu token, tính vào workspace đã chọn. Các dòng zero-cost là
free tier của Zen: extension gửi đúng identity headers mà gateway yêu cầu
(xem src/free-tier.ts) và request đi qua nguyên bản, nên tool calling
chạy native trên các model đó. Route cũng được re-derive từ mã mỗi lần
đọc, nên cache danh sách model cũ (models-store.json) không ghim sai
protocol được.
/login opencode-zen lại.index.ts — entry point pi load; re-export src/extension.tssrc/extension.ts — ráp provider và đăng kýsrc/auth.ts — login device-flow, chọn workspace, refresh tokensrc/models.ts — map model từ console sang pi, wire protocol từng routesrc/retry.ts — retry có giới hạn cho lỗi transient và option bị từ chốisrc/commands.ts — lệnh /opencode-zen (status, switch-org)src/free-tier.ts — identity headers cho free-tiertest/ — bộ test bun với fetch giả (bun test)test/ — test suite bun với fetch mock (bun test)MIT
Xem CHANGELOG.md và GitHub releases.