CLI

OpenCode CLI mặc định sẽ khởi động TUI khi chạy không có tham số nào.

opencode

Ngoài ra, CLI còn hỗ trợ các lệnh được mô tả trong trang này. Điều này cho phép bạn tương tác với OpenCode một cách có lập trình.

opencode run "Giải thích cách closures hoạt động trong JavaScript"

tui

Khởi động giao diện terminal của OpenCode.

opencode [project]

Flags

FlagViết tắtMô tả
--continue-cTiếp tục phiên làm việc trước
--session-sSession ID để tiếp tục
--promptPrompt sử dụng
--model-mModel sử dụng theo định dạng provider/model
--agentAgent sử dụng
--portPort để lắng nghe
--hostnameHostname để lắng nghe

Commands

OpenCode CLI còn có các lệnh sau.


agent

Quản lý các agents trong OpenCode.

opencode agent [command]

attach

Kết nối terminal tới một OpenCode backend server đang chạy (khởi động qua lệnh serve hoặc web).

opencode attach [url]

Điều này cho phép sử dụng TUI với OpenCode backend từ xa. Ví dụ:

# Khởi động backend server cho web/mobile
opencode web --port 4096 --hostname 0.0.0.0

# Trong terminal khác, kết nối TUI tới backend đang chạy
opencode attach http://10.20.30.40:4096

Flags

FlagViết tắtMô tả
--dirThư mục làm việc để khởi động TUI
--session-sSession ID để tiếp tục

create

Tạo một agent mới với cấu hình tùy chỉnh.

opencode agent create

Lệnh này sẽ hướng dẫn bạn tạo agent mới với system prompt và cấu hình tool tùy chỉnh.


list

Liệt kê tất cả agents có sẵn.

opencode agent list

auth

Lệnh quản lý credentials và đăng nhập cho các providers.

opencode auth [command]

login

OpenCode sử dụng danh sách providers từ Models.dev, vì vậy bạn có thể dùng opencode auth login để cấu hình API keys cho bất kỳ provider nào. Thông tin được lưu tại ~/.local/share/opencode/auth.json.

opencode auth login

Khi OpenCode khởi động, nó tải các providers từ file credentials. Đồng thời cũng đọc các keys được định nghĩa trong environment hoặc file .env trong project của bạn.


list

Liệt kê tất cả providers đã xác thực được lưu trong file credentials.

opencode auth list

Hoặc phiên bản ngắn gọn.

opencode auth ls

logout

Đăng xuất khỏi một provider bằng cách xóa nó khỏi file credentials.

opencode auth logout

github

Quản lý GitHub agent cho tự động hóa repository.

opencode github [command]

install

Cài đặt GitHub agent trong repository của bạn.

opencode github install

Lệnh này thiết lập GitHub Actions workflow cần thiết và hướng dẫn bạn qua quá trình cấu hình. Tìm hiểu thêm.


run

Chạy GitHub agent. Thường được sử dụng trong GitHub Actions.

opencode github run
Flags
FlagMô tả
--eventGitHub mock event để chạy agent
--tokenGitHub personal access token

mcp

Quản lý các Model Context Protocol servers.

opencode mcp [command]

add

Thêm MCP server vào cấu hình của bạn.

opencode mcp add

Lệnh này sẽ hướng dẫn bạn thêm MCP server local hoặc remote.


list

Liệt kê tất cả MCP servers đã cấu hình và trạng thái kết nối.

opencode mcp list

Hoặc phiên bản ngắn gọn.

opencode mcp ls

auth

Xác thực với MCP server hỗ trợ OAuth.

opencode mcp auth [name]

Nếu không cung cấp tên server, bạn sẽ được nhắc chọn từ các servers có hỗ trợ OAuth.

Bạn cũng có thể liệt kê các servers hỗ trợ OAuth và trạng thái xác thực.

opencode mcp auth list

Hoặc phiên bản ngắn gọn.

opencode mcp auth ls

logout

Xóa OAuth credentials cho một MCP server.

opencode mcp logout [name]

debug

Debug các vấn đề kết nối OAuth cho MCP server.

opencode mcp debug <name>

models

Liệt kê tất cả models có sẵn từ các providers đã cấu hình.

opencode models [provider]

Lệnh này hiển thị tất cả models có sẵn từ các providers đã cấu hình theo định dạng provider/model.

Rất hữu ích để xác định chính xác tên model cần dùng trong cấu hình của bạn.

Bạn có thể tùy chọn truyền provider ID để lọc models theo provider đó.

opencode models anthropic

Flags

FlagMô tả
--refreshLàm mới cache models từ models.dev
--verboseHiển thị thông tin model chi tiết hơn (bao gồm metadata như chi phí)

Sử dụng flag --refresh để cập nhật danh sách models đã cache. Hữu ích khi có models mới được thêm vào provider và bạn muốn thấy chúng trong OpenCode.

opencode models --refresh

run

Chạy opencode ở chế độ non-interactive bằng cách truyền prompt trực tiếp.

opencode run [message..]

Hữu ích cho scripting, automation, hoặc khi bạn muốn câu trả lời nhanh mà không cần khởi động TUI đầy đủ. Ví dụ:

opencode run Explain the use of context in Go

Bạn cũng có thể kết nối tới instance opencode serve đang chạy để tránh thời gian cold boot của MCP server mỗi lần chạy:

# Khởi động headless server trong một terminal
opencode serve

# Trong terminal khác, chạy lệnh kết nối tới nó
opencode run --attach http://localhost:4096 "Giải thích async/await trong JavaScript"

Flags

FlagViết tắtMô tả
--commandLệnh để chạy, sử dụng message làm args
--continue-cTiếp tục phiên làm việc trước
--session-sSession ID để tiếp tục
--shareChia sẻ session
--model-mModel sử dụng theo định dạng provider/model
--agentAgent sử dụng
--file-fFile(s) đính kèm vào message
--formatĐịnh dạng: default (formatted) hoặc json (raw JSON events)
--titleTiêu đề cho session (sử dụng prompt rút gọn nếu không có giá trị)
--attachKết nối tới opencode server đang chạy (ví dụ: http://localhost:4096)
--portPort cho local server (mặc định là port ngẫu nhiên)

serve

Khởi động OpenCode server headless cho API access. Xem tài liệu server để biết đầy đủ HTTP interface.

opencode serve

Lệnh này khởi động HTTP server cung cấp API access tới chức năng opencode mà không cần giao diện TUI. Đặt OPENCODE_SERVER_PASSWORD để bật HTTP basic auth (username mặc định là opencode).

Flags

FlagMô tả
--portPort để lắng nghe
--hostnameHostname để lắng nghe
--mdnsBật mDNS discovery
--corsThêm browser origin(s) được phép CORS

session

Quản lý các OpenCode sessions.

opencode session [command]

list

Liệt kê tất cả OpenCode sessions.

opencode session list
Flags
FlagViết tắtMô tả
--max-count-nGiới hạn N sessions gần nhất
--formatĐịnh dạng output: table hoặc json (table)

stats

Hiển thị thống kê token usage và chi phí cho các OpenCode sessions.

opencode stats

Flags

FlagMô tả
--daysHiển thị thống kê cho N ngày gần nhất (mặc định: tất cả)
--toolsSố lượng tools hiển thị (mặc định: tất cả)
--modelsHiển thị phân tích model usage (mặc định: ẩn). Truyền số để hiển thị top N
--projectLọc theo project (mặc định: tất cả, chuỗi rỗng: project hiện tại)

export

Xuất dữ liệu session dạng JSON.

opencode export [sessionID]

Nếu không cung cấp session ID, bạn sẽ được nhắc chọn từ các sessions có sẵn.


import

Import dữ liệu session từ file JSON hoặc OpenCode share URL.

opencode import <file>

Bạn có thể import từ file local hoặc OpenCode share URL.

opencode import session.json
opencode import https://opncd.ai/s/abc123

web

Khởi động OpenCode server headless với giao diện web.

opencode web

Lệnh này khởi động HTTP server và mở trình duyệt web để truy cập OpenCode qua giao diện web. Đặt OPENCODE_SERVER_PASSWORD để bật HTTP basic auth (username mặc định là opencode).

Flags

FlagMô tả
--portPort để lắng nghe
--hostnameHostname để lắng nghe
--mdnsBật mDNS discovery
--corsThêm browser origin(s) được phép CORS

acp

Khởi động ACP (Agent Client Protocol) server.

opencode acp

Lệnh này khởi động ACP server giao tiếp qua stdin/stdout sử dụng nd-JSON.

Flags

FlagMô tả
--cwdThư mục làm việc
--portPort để lắng nghe
--hostnameHostname để lắng nghe

uninstall

Gỡ cài đặt OpenCode và xóa tất cả files liên quan.

opencode uninstall

Flags

FlagViết tắtMô tả
--keep-config-cGiữ lại configuration files
--keep-data-dGiữ lại session data và snapshots
--dry-runHiển thị những gì sẽ bị xóa mà không xóa thực
--force-fBỏ qua các xác nhận

upgrade

Cập nhật opencode lên phiên bản mới nhất hoặc phiên bản cụ thể.

opencode upgrade [target]

Để nâng cấp lên phiên bản mới nhất:

opencode upgrade

Để nâng cấp lên phiên bản cụ thể:

opencode upgrade v0.1.48

Flags

FlagViết tắtMô tả
--method-mPhương thức cài đặt đã sử dụng: curl, npm, pnpm, bun, brew

Global Flags

OpenCode CLI hỗ trợ các global flags sau.

FlagViết tắtMô tả
--help-hHiển thị trợ giúp
--version-vIn số phiên bản
--print-logsIn logs ra stderr
--log-levelLog level (DEBUG, INFO, WARN, ERROR)

Environment Variables

OpenCode có thể được cấu hình thông qua environment variables.

VariableKiểuMô tả
OPENCODE_AUTO_SHAREbooleanTự động chia sẻ sessions
OPENCODE_GIT_BASH_PATHstringĐường dẫn tới Git Bash executable trên Windows
OPENCODE_CONFIGstringĐường dẫn tới config file
OPENCODE_CONFIG_DIRstringĐường dẫn tới config directory
OPENCODE_CONFIG_CONTENTstringNội dung config json inline
OPENCODE_DISABLE_AUTOUPDATEbooleanTắt kiểm tra cập nhật tự động
OPENCODE_DISABLE_PRUNEbooleanTắt pruning dữ liệu cũ
OPENCODE_DISABLE_TERMINAL_TITLEbooleanTắt cập nhật terminal title tự động
OPENCODE_PERMISSIONstringConfig permissions json inline
OPENCODE_DISABLE_DEFAULT_PLUGINSbooleanTắt default plugins
OPENCODE_DISABLE_LSP_DOWNLOADbooleanTắt tự động download LSP server
OPENCODE_ENABLE_EXPERIMENTAL_MODELSbooleanBật experimental models
OPENCODE_DISABLE_AUTOCOMPACTbooleanTắt automatic context compaction
OPENCODE_DISABLE_CLAUDE_CODEbooleanTắt đọc từ .claude (prompt + skills)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTbooleanTắt đọc ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSbooleanTắt loading .claude/skills
OPENCODE_CLIENTstringClient identifier (mặc định: cli)
OPENCODE_ENABLE_EXAbooleanBật Exa web search tools
OPENCODE_SERVER_PASSWORDstringBật basic auth cho serve/web
OPENCODE_SERVER_USERNAMEstringOverride basic auth username (mặc định: opencode)

Experimental

Các environment variables này bật các tính năng experimental có thể thay đổi hoặc bị xóa.

VariableKiểuMô tả
OPENCODE_EXPERIMENTALbooleanBật tất cả tính năng experimental
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYbooleanBật icon discovery
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTbooleanTắt copy on select trong TUI
OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTHnumberĐộ dài output tối đa cho bash commands
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberTimeout mặc định cho bash commands (ms)
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberSố output tokens tối đa cho LLM responses
OPENCODE_EXPERIMENTAL_FILEWATCHERbooleanBật file watcher cho toàn bộ directory
OPENCODE_EXPERIMENTAL_OXFMTbooleanBật oxfmt formatter
OPENCODE_EXPERIMENTAL_LSP_TOOLbooleanBật experimental LSP tool