For the complete documentation index, see llms.txt. This page is also available as Markdown.

OpenCode - Personal AI Assistant

Tổng quan OpenCode - Personal AI Assistant: cài đặt, TUI, CLI, environment variables, tools, permissions, AGENTS.md, config, commands, plugins.

OpenCode là một AI coding agent mã nguồn mở, chạy trực tiếp trong terminal. Nó đọc codebase của bạn, tự chọn model phù hợp từ hơn 75 LLM providers, rồi thực hiện thay đổi bằng chính các công cụ thật của máy — đọc file, tìm kiếm, chạy lệnh, sửa code — thay vì chỉ gợi ý như một chatbot.

Bài viết này là trang tổng quan và bản đồ tài liệu: đi từ cài đặt đến CLI, tools, permissions, rules, config, formatters, commands và plugins. Mỗi mục đều dẫn link tới trang tài liệu chính thức tiếng Việt để bạn đào sâu thêm.

Hai bản tài liệu song song hành:

Bản tiếng Việt (bao gồm CLI và Environment Variables): https://opencode.io.vn/docs


OpenCode là gì?

Theo định nghĩa từ tài liệu chính thức, OpenCode là một AI coding agent mã nguồn mở, được cung cấp dưới ba hình thức:

  • Terminal-based interface (TUI): giao diện terminal tương tác, chạy trực tiếp trong shell.

  • Desktop app: ứng dụng desktop cho macOS, Windows và Linux.

  • IDE extension: tiện ích mở rộng cho VS Code, JetBrains IDE và Neovim.

Điểm khác biệt cốt lõi so với chatbot AI thông thường: OpenCode thực thi thay vì chỉ trả lời. Nó có quyền gọi tool thật trong dự án của bạn, và bạn kiểm soát mức độ tự do đó bằng hệ thống permission.

Các tính năng nổi bật

  • Mã nguồn mở: khoảng 63K+ GitHub stars, phát triển bởi team Anomaly.

  • Đa provider: hỗ trợ 75+ LLM providers thông qua AI SDK và Models.dev.

  • TUI + CLI + Web: dùng được cả tương tác trong terminal, headless qua script, hay trên trình duyệt.

  • Permissions chi tiết: mặc định cho phép, nhưng có thể hạ từng tool, từng lệnh bash, từng MCP server về chế độ ask hoặc deny.

  • Tương thích Claude Code: đọc sẵn CLAUDE.md, ~/.claude/skills/ — dễ chuyển đổi từ hệ sinh thái cũ.

  • Mở rộng được: MCP servers, custom tools, custom commands, plugins, agent skills, LSP servers.

  • Quản trị tập trung: remote config qua .well-known/opencode và managed settings cho tổ chức.


Phiên bản: v1 và v2

Hai bản hiện hành khác nhau khá nhiều về cách đóng gói. Đây là những khác biệt bạn cần biết trước khi cài.

Tài liệu: https://opencode.ai/docs

  • npm package: opencode-ai

  • Homebrew tap: anomalyco/tap/opencode

  • Cài đặt: curl -fsSL https://opencode.ai/install | bash

  • Docker: ghcr.io/anomalyco/opencode

  • Hỗ trợ Windows: có — qua Chocolatey, Scoop, npm, hoặc tốt nhất là chạy qua WSL

  • Giao diện: TUI, Desktop app, Web, IDE extension

  • Server: opencode serve (headless HTTP API), opencode web, opencode attach

  • ACP: opencode acp (Agent Client Protocol qua stdin/stdout)

Tài liệu: https://opencode.ai/v2/docs

  • npm package: @opencode/cli (đổi tên, khác scope)

  • Homebrew tap: anomalyco/tap/opencode-v2

  • Cài đặt: curl -fsSL https://opencode.ai/v2/install | bash

  • Lưu ý: không hỗ trợ các Windows package managers

  • Vite+: hỗ trợ vp install -g @opencode/cli

  • AUR: paru -S opencode-beta

  • Giao diện: TUI, Desktop app, Web app

  • Lệnh mới: opencode pair — sinh cặp URL + username/password để truy cập web interface

  • Desktop build: có bản .dmg, .exe, .deb, .rpm, .AppImage

  • Docker tags: theo phiên bản, ví dụ ghcr.io/anomalyco/opencode:2.0.0


Cài đặt

Yêu cầu trước khi bắt đầu

  1. Terminal emulator hiện đại: WezTerm, Alacritty, Ghostty hoặc Kitty.

  2. API key của ít nhất một LLM provider.

Các cách cài đặt

Tải trực tiếp từ GitHub Releases.

Với v2, binary được phân phối theo từng nền tảng tại https://opencode.ai/files/bin/<version>/, ví dụ:

  • macOS: opencode-darwin-arm64.zip, opencode-darwin-x64.zip

  • Windows: opencode-windows-x64.zip, opencode-windows-arm64.zip

  • Linux (glibc): opencode-linux-x64.tar.gz

  • Linux (musl): opencode-linux-x64-musl.tar.gz

Cấu hình Provider

OpenCode lấy danh sách providers từ Models.dev, nên bạn có thể cấu hình API key cho bất kỳ provider nào.

Danh sách model đã được test và verify bởi team OpenCode — phù hợp nhất cho người mới.

  1. Chạy /connect trong TUI, chọn opencode

  2. Truy cập opencode.ai/auth

  3. Đăng nhập, thêm billing, copy API key

  4. Paste API key vào terminal

Chọn Anthropic → chọn Claude Pro/Max hoặc nhập API key trực tiếp.

Chọn OpenAI → chọn ChatGPT Plus/Pro hoặc nhập API key trực tiếp.

Thêm provider local vào opencode.json:

Khởi tạo dự án

Lần đầu tiên trong mỗi project, chạy lệnh /init để OpenCode phân tích codebase và tạo file AGENTS.md.

Cấu trúc thư mục

Xử lý sự cố cài đặt

  • Kiểm tra credentials: opencode auth list

  • Không thấy model trong danh sách: chạy /connect, hoặc kiểm tra provider config trong opencode.json.

  • TUI hiển thị lỗi: đảm bảo terminal hỗ trợ TUI (WezTerm, Alacritty, Ghostty, Kitty), tránh terminal mặc định của Windows.


Terminal UI (TUI)

Chạy opencode không có tham số sẽ khởi động TUI cho thư mục hiện tại. Bạn cũng có thể trỏ thẳng vào một thư mục cụ thể:

Hai cú pháp tương tác nhanh

  • Tham chiếu file bằng @: gõ @ để mở fuzzy search trong thư mục làm việc, chọn file, nội dung file được tự động thêm vào hội thoại.

  • Chạy lệnh shell bằng !: bắt đầu tin nhắn bằng ! để chạy lệnh shell, output được đưa vào hội thoại như một kết quả tool.

Slash commands

Hầu hết lệnh có keybind dùng ctrl+x làm leader key.

Lệnh
Mô tả
Keybind

/connect

Thêm provider và API key

—

/init

Tạo hoặc cập nhật AGENTS.md

ctrl+x i

/compact

Nén context (alias /summarize)

ctrl+x c

/details

Bật/tắt chi tiết thực thi tool

ctrl+x d

/editor

Mở editor ngoài để viết tin nhắn

ctrl+x e

/export

Xuất hội thoại ra file Markdown

ctrl+x x

/help

Hiện hộp thoại trợ giúp

ctrl+x h

/models

Liệt kê model có sẵn

ctrl+x m

/new

Bắt đầu session mới (alias /clear)

ctrl+x n

/redo

Làm lại thay đổi đã undo

ctrl+x r

/sessions

Liệt kê / chuyển session (alias /resume)

ctrl+x l

/share

Chia sẻ session hiện tại

ctrl+x s

/unshare

Hủy chia sẻ session

—

/theme

Liệt kê theme

ctrl+x t

/thinking

Bật/tắt hiển thị khối reasoning

—

/undo

Hoàn tác thay đổi gần nhất

ctrl+x u

/exit

Thoát (alias /quit, /q)

ctrl+x q

Cấu hình biến môi trường EDITOR

Cả /editor và /export đều gọi editor nằm trong biến môi trường EDITOR.

Các editor phổ biến: code, cursor, windsurf, nvim, vim, nano, notepad, subl.

Tuỳ chỉnh hành vi TUI

  • scroll_acceleration.enabled: cuộn kiểu macOS. Thắng và ghi đè scroll_speed khi được bật.

  • scroll_speed: hệ số tốc độ cuộn (mặc định 3, tối thiểu 1). Bị bỏ qua nếu scroll_acceleration.enabled là true.

  • diff_style: auto tự điều chỉnh theo độ rộng terminal, stacked luôn hiển thị một cột.

Ngoài ra, các tuỳ biến giao diện khác truy cập qua command palette (ctrl+x h hoặc /help) — ví dụ bật/tắt hiển thị username. Các thiết lập này được lưu lại giữa các lần khởi động.


CLI

Ngoài TUI, CLI cho phép tương tác với OpenCode một cách có lập trình — rất phù hợp cho scripting và automation.

Các lệnh chính

Lệnh
Mô tả

opencode [project]

Khởi động TUI

opencode run [message..]

Chế độ non-interactive, truyền prompt trực tiếp

opencode serve

Khởi động HTTP server headless cho API access

opencode web

HTTP server headless kèm giao diện web

opencode attach [url]

Kết nối terminal tới backend server đang chạy

opencode agent

Quản lý agents (create, list)

opencode auth

Quản lý credentials (login, list/ls, logout)

opencode mcp

Quản lý MCP servers (add, list/ls, auth, logout, debug)

opencode models [provider]

Liệt kê model theo định dạng provider/model

opencode session

Quản lý sessions (list)

opencode stats

Thống kê token usage và chi phí

opencode export [sessionID]

Xuất session ra JSON

opencode import <file>

Import session từ file JSON hoặc share URL

opencode github

GitHub agent cho automation (install, run)

opencode acp

Khởi chạy ACP server (Agent Client Protocol)

opencode upgrade [target]

Nâng cấp lên phiên bản mới nhất hoặc bản cụ thể

opencode uninstall

Gỡ cài đặt và xoá files liên quan

Global flags

Flag
Viết tắt
Mô tả

--help

-h

Hiển thị trợ giúp

--version

-v

In số phiên bản

--print-logs

—

In logs ra stderr

--log-level

—

Mức log: DEBUG, INFO, WARN, ERROR

Vài flag đáng chú ý

opencode models --refresh làm mới cache models từ Models.dev — hữu ích khi provider vừa thêm model mới. opencode models --verbose hiện thêm metadata như chi phí.


Environment Variables

Đây là phần cấu hình quan trọng nhất nếu bạn định dùng OpenCode trong CI, container hoặc môi trường team. Toàn bộ hành vi runtime đều điều khiển được qua biến môi trường.

Cấu hình và hành vi

Biến
Kiểu
Mô tả

OPENCODE_CONFIG

string

Đường dẫn tới config file — load giữa global config và project config

OPENCODE_CONFIG_DIR

string

Đường dẫn tới config directory — thay thế thư mục .opencode

OPENCODE_CONFIG_CONTENT

string

Nội dung config JSON inline, ghi đè lúc runtime

OPENCODE_PERMISSION

string

Config permissions JSON inline

EDITOR

string

Editor dùng cho lệnh /editor và /export

Biến
Kiểu
Mô tả

OPENCODE_AUTO_SHARE

boolean

Tự động chia sẻ sessions

OPENCODE_DISABLE_AUTOUPDATE

boolean

Tắt kiểm tra cập nhật tự động

OPENCODE_DISABLE_AUTOCOMPACT

boolean

Tắt automatic context compaction

OPENCODE_DISABLE_PRUNE

boolean

Tắt pruning dữ liệu cũ

OPENCODE_DISABLE_TERMINAL_TITLE

boolean

Tắt cập nhật terminal title tự động

OPENCODE_DISABLE_DEFAULT_PLUGINS

boolean

Tắt default plugins

OPENCODE_DISABLE_LSP_DOWNLOAD

boolean

Tắt tự động download LSP server

OPENCODE_ENABLE_EXPERIMENTAL_MODELS

boolean

Bật experimental models

OPENCODE_ENABLE_EXA

boolean

Bật Exa web search tools (websearch)

OPENCODE_GIT_BASH_PATH

string

Đường dẫn Git Bash executable trên Windows

Biến
Kiểu
Mô tả

OPENCODE_DISABLE_CLAUDE_CODE

boolean

Tắt toàn bộ hỗ trợ .claude (prompt + skills)

OPENCODE_DISABLE_CLAUDE_CODE_PROMPT

boolean

Chỉ tắt đọc ~/.claude/CLAUDE.md

OPENCODE_DISABLE_CLAUDE_CODE_SKILLS

boolean

Chỉ tắt loading .claude/skills

Biến
Kiểu
Mô tả

OPENCODE_SERVER_PASSWORD

string

Bật HTTP basic auth cho serve / web

OPENCODE_SERVER_USERNAME

string

Ghi đè basic auth username (mặc định opencode)

OPENCODE_CLIENT

string

Client identifier (mặc định cli)

Các biến này bật tính năng đang phát triển, có thể thay đổi hoặc bị xoá không báo trước.

Biến
Kiểu
Mô tả

OPENCODE_EXPERIMENTAL

boolean

Bật tất cả tính năng experimental

OPENCODE_EXPERIMENTAL_ICON_DISCOVERY

boolean

Bật icon discovery

OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT

boolean

Tắt copy on select trong TUI

OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH

number

Độ dài output tối đa cho bash commands

OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS

number

Timeout mặc định cho bash commands (ms)

OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX

number

Số output tokens tối đa cho LLM responses

OPENCODE_EXPERIMENTAL_FILEWATCHER

boolean

Bật file watcher cho toàn bộ directory

OPENCODE_EXPERIMENTAL_OXFMT

boolean

Bật oxfmt formatter

OPENCODE_EXPERIMENTAL_LSP_TOOL

boolean

Bật experimental LSP tool

Cách dùng thực tế

OPENCODE_CLIENT nên được đặt khi bạn tích hợp OpenCode vào sản phẩm riêng qua SDK hoặc server mode — nó giúp server nhận diện đúng nguồn gọi. Ví dụ: OPENCODE_CLIENT=my-internal-tool.


Tools

Tools là các hành động LLM được phép thực hiện trong codebase. Mặc định tất cả tools đều bật và không cần quyền — bạn kiểm soát thông qua permission.

Tool
Mô tả
Permission key

bash

Chạy lệnh shell (npm install, git status,...)

bash

edit

Sửa file bằng thay thế chuỗi chính xác

edit

write

Tạo file mới hoặc ghi đè file hiện có

edit

patch

Áp dụng patch files vào codebase

edit

read

Đọc nội dung file, hỗ trợ đọc khoảng dòng cụ thể

read

grep

Tìm kiếm nội dung bằng regular expressions

grep

glob

Tìm file bằng glob patterns, sắp xếp theo thời gian sửa

glob

list

Liệt kê file/thư mục, chấp nhận glob để lọc

list

skill

Load một skill (SKILL.md) vào hội thoại

skill

todowrite

Quản lý danh sách todo trong session

todowrite

todoread

Đọc danh sách todo hiện có

todoread

websearch

Tìm kiếm web qua Exa AI (cần OPENCODE_ENABLE_EXA)

websearch

webfetch

Lấy và đọc nội dung trang web

webfetch

question

Hỏi người dùng câu hỏi trong quá trình thực thi

question

lsp

Code intelligence (experimental)

lsp

Tool write, patch, multiedit đều bị kiểm soát bởi cùng một permission key edit. todowrite và todoread mặc định bị tắt cho subagents.

Tìm kiếm và ignore patterns

Bên trong, grep, glob và list dùng ripgrep và tuân theo .gitignore. Muốn tìm trong các thư mục thường bị ignore, tạo file .ignore ở thư mục gốc project:

Mở rộng tools

  • Custom tools: định nghĩa function riêng trong config file.

  • MCP servers: tích hợp database, API và dịch vụ bên thứ ba qua Model Context Protocol.


Permissions

Permissions kiểm soát chính xác những gì agent được phép làm, với ba mức:

  • allow — cho phép, không hỏi

  • ask — hỏi người dùng trước khi thực hiện

  • deny — từ chối hoàn toàn

Wildcard cho MCP servers

Kiểm soát từng lệnh bash

Per-agent và Task permissions


Rules (AGENTS.md)

AGENTS.md là nơi bạn cung cấp hướng dẫn tùy chỉnh — tương tự như rules của Cursor. Nội dung file được đưa vào context của LLM.

Khởi tạo

Chạy /init trong OpenCode để quét dự án và tạo AGENTS.md tự động. Nếu file đã tồn tại, lệnh sẽ bổ sung nội dung vào file hiện có.

Thứ tự ưu tiên

Khi khởi động, OpenCode tìm rules theo thứ tự:

  1. File cục bộ — duyệt ngược lên từ thư mục hiện tại (AGENTS.md, CLAUDE.md, hoặc CONTEXT.md)

  2. File toàn cục — ~/.config/opencode/AGENTS.md

  3. File Claude Code — ~/.claude/CLAUDE.md (trừ khi bị tắt)

Trong mỗi danh mục, chỉ file đầu tiên khớp được dùng. Nếu có cả AGENTS.md và CLAUDE.md cùng cấp, AGENTS.md thắng.

Tương thích Claude Code

  • Project rules: CLAUDE.md trong thư mục dự án (dùng khi không có AGENTS.md)

  • Global rules: ~/.claude/CLAUDE.md (dùng khi không có ~/.config/opencode/AGENTS.md)

  • Skills: ~/.claude/skills/

Tắt hỗ trợ này bằng OPENCODE_DISABLE_CLAUDE_CODE=1 (hoặc hai biến con nếu chỉ muốn tắt một phần).

Custom instructions

Trường instructions cho phép tái sử dụng rules có sẵn thay vì sao chép vào AGENTS.md:

Các instructions từ xa được fetch với timeout 5 giây. Tất cả các file instruction đều được kết hợp với các file AGENTS.md của bạn.


Cấu hình (opencode.json)

OpenCode hỗ trợ cả JSON và JSONC (JSON có comments), với schema công khai tại opencode.ai/config.json để editor validate và autocomplete.

Thứ tự ưu tiên

Các file cấu hình được gộp lại với nhau, không phải thay thế. Config sau chỉ ghi đè config trước cho các key bị trùng; các thiết lập không trùng đều được giữ lại.

Nguồn config được load theo thứ tự, nguồn sau ghi đè nguồn trước:

  1. Remote config — .well-known/opencode, mặc định của tổ chức

  2. Global config — ~/.config/opencode/opencode.json

  3. Custom config — biến OPENCODE_CONFIG

  4. Project config — opencode.json trong project

  5. Thư mục .opencode — agents, commands, plugins

  6. Inline config — biến OPENCODE_CONFIG_CONTENT, ghi đè lúc runtime

Các thư mục .opencode và ~/.config/opencode dùng tên số nhiều cho thư mục con: agents/, commands/, modes/, plugins/, skills/, tools/, themes/.

Các option chính

Option
Mô tả

model

Model chính, định dạng provider/model

small_model

Model cho tác vụ nhẹ (tạo tiêu đề...)

small_model fallback

Mặc định dùng model rẻ hơn cùng provider, nếu không có thì fallback về model

provider.<id>.options.timeout

Timeout request (ms, mặc định 300000, đặt false để tắt)

provider.<id>.options.setCacheKey

Luôn đặt cache key cho provider

enabled_providers

Chỉ cho phép các provider trong danh sách

disabled_providers

Chặn provider — thắng enabled_providers

default_agent

Agent mặc định, phải là primary agent

Option
Mô tả

theme

Theme giao diện

share

manual (mặc định), auto, hoặc disabled

autoupdate

true, false, hoặc "notify" — chỉ hoạt động nếu không cài qua package manager

compaction.auto

Tự nén session khi context đầy (mặc định true)

compaction.prune

Xoá output tool cũ để tiết kiệm tokens (mặc định true)

tools

Bật/tắt từng tool, ví dụ { "write": false }

permission

Chính sách allow/ask/deny

keybinds

Phím tắt tuỳ chỉnh

shell

Shell dùng cho terminal tương tác, ví dụ "pwsh"

Option
Mô tả

mcp

Cấu hình MCP servers

plugin

Load plugin từ npm, ví dụ ["opencode-wakatime"]

command

Định nghĩa custom commands

agent

Định nghĩa custom agents

instructions

Mảng đường dẫn/glob tới file hướng dẫn

formatter

Cấu hình code formatters

server

port, hostname, mdns, cors cho serve / web

Thay thế biến trong config

Nếu biến môi trường không được đặt, giá trị được thay bằng chuỗi rỗng. Đường dẫn file có thể tương đối với thư mục chứa config, hoặc tuyệt đối bắt đầu bằng / hoặc ~.

Managed settings cho tổ chức

Nền tảng
Đường dẫn

macOS

/Library/Application Support/opencode/

Linux

/etc/opencode/

Windows

%ProgramData%\opencode

OpenCode đọc managed preferences từ domain ai.opencode.managed, deploy qua MDM (Jamf, Kandji, FleetDM). Các key trong plist map trực tiếp tới field trong opencode.json.

Kiểm tra bằng: opencode debug config

Các thư mục này yêu cầu quyền admin/root để ghi — người dùng không thể sửa, kể cả khi project config cố ghi đè.


Formatters

OpenCode tự động format files sau khi viết hoặc edit, bảo đảm code được generate đúng coding style của project.

Formatter tích hợp sẵn

Formatter
Extensions
Yêu cầu

prettier

.js .jsx .ts .tsx .html .css .md .json .yaml

prettier trong package.json

biome

.js .jsx .ts .tsx .html .css .md .json

file config biome.json(c)

gofmt

.go

lệnh gofmt

rustfmt

.rs

lệnh rustfmt

cargofmt

.rs

lệnh cargo fmt

ruff

.py .pyi

lệnh ruff

dart

.dart

lệnh dart

shfmt

.sh .bash

lệnh shfmt

clang-format

.c .cpp .h .hpp

file config .clang-format

Cách hoạt động

Khi OpenCode viết hoặc edit file, nó kiểm tra extension với tất cả formatters đã bật, chạy formatter command phù hợp, rồi áp dụng thay đổi. Nếu project có prettier trong package.json, OpenCode tự động dùng nó.

Cấu hình

Tắt toàn bộ: { "formatter": false }. Biến $FILE được thay bằng đường dẫn file đang format.


Custom Commands

Custom commands là prompt dựng sẵn để chạy bằng /tên-lệnh, thay vì gõ lại prompt dài mỗi lần. Chúng hoạt động song song với các lệnh built-in.

Hai cách định nghĩa

Đặt file .md vào .opencode/commands/ (per-project) hoặc ~/.config/opencode/commands/ (global). Tên file trở thành tên command — test.md cho phép chạy /test.

Cú pháp trong prompt

  • $ARGUMENTS — toàn bộ tham số. Ví dụ /component Button → $ARGUMENTS = Button.

  • $1, $2, $3... — từng tham số theo vị trí.

  • !`command` — chèn output của lệnh shell vào prompt.

  • @path/to/file — include nội dung file vào prompt.

Các option

Option
Mô tả

template

Prompt gửi đến LLM khi command thực thi (bắt buộc)

description

Mô tả ngắn hiển thị trong TUI

agent

Agent thực thi command (build, plan,...)

model

Override model mặc định cho command này

subtask

Chạy như subagent để không làm ô nhiễm context chính

Ví dụ thực tế

Chạy: /gen-tests src/utils/calculator.ts


Plugin System

Plugins cho phép hook vào các events của OpenCode để thêm tính năng, tích hợp dịch vụ bên ngoài, hoặc sửa đổi behavior mặc định.

Cài đặt plugin

Đặt file JavaScript/TypeScript vào:

  • .opencode/plugins/ — project-level

  • ~/.config/opencode/plugins/ — global

Files tự động load khi khởi động.

npm plugins được Bun tự động cài, cache tại ~/.cache/opencode/node_modules/. Local plugins load trực tiếp và có thể dùng package.json trong thư mục config.

Thứ tự load: global config → project config → global plugins → project plugins.

Cấu trúc plugin

Plugin là module JavaScript/TypeScript export một function:

Property
Mô tả

project

Thông tin project hiện tại

directory

Thư mục làm việc

worktree

Git worktree path

client

SDK client để tương tác với AI

$

Bun shell API

Danh sách events

  • Command: command.executed

  • File: file.edited, file.watcher.updated

  • Message: message.updated, message.removed

  • Permission: permission.asked, permission.replied

  • Session: session.created, session.compacted, session.deleted, session.idle, session.error

  • Tool: tool.execute.before, tool.execute.after

  • TUI: tui.prompt.append, tui.command.execute, tui.toast.show

Các ví dụ plugin

Logging

Các level: debug, info, warn, error.


Tính năng mới và ChangeLog

Các nhóm tính năng đáng chú ý

  • Multi-model support: 75+ providers qua AI SDK và Models.dev; đổi model bằng /models hoặc ctrl+t để chuyển qua lại giữa variants có/không reasoning.

  • MCP integration: 200+ MCP servers, cả remote (Context7, Vercel Grep) và local.

  • Agent Skills: reusable instructions dạng .opencode/skills/<name>/SKILL.md — agent tự load khi cần.

  • Plan mode vs Build mode: chuyển qua lại bằng phím Tab. Plan mode chỉ đề xuất approach, Build mode thực thi thay đổi.

  • File references & images: @ để tham chiếu file (fuzzy search), kéo-thả ảnh trực tiếp vào terminal.

  • Undo/Redo: /undo và /redo nhiều lần được; thay đổi file được quản lý bằng Git.

  • Share conversations: /share tạo link chia sẻ session với team. Mặc định không tự động chia sẻ.

  • Tích hợp IDE & Git: VS Code, JetBrains, Neovim, GitHub Actions, GitLab Duo.


Lộ trình gợi ý

Nếu bạn mới bắt đầu, thứ tự học hợp lý là:

  1. Cài đặt + /connect — có provider, xem /models để chọn model.

  2. /init — tạo AGENTS.md và commit vào Git.

  3. Tập quen với @ và ! — tham chiếu file, chạy lệnh shell.

  4. Workflow Plan → Build — luôn lập kế hoạch (Tab) trước khi yêu cầu sửa code.

  5. Thiết lập permission — đặt edit và bash là ask cho tới khi tin tưởng agent hơn.

  6. Tạo AGENTS.md có cấu trúc — mô tả project structure, code standards, conventions.

  7. Viết custom commands cho các tác vụ lặp lại (/review, /gen-tests, /deploy-check).

  8. Chuyển sang opencode.json — gom permissions, formatter, instructions vào file để commit.

  9. Thêm MCP servers và plugins khi cần tích hợp hệ thống bên ngoài.


Bài viết liên quan

So sánh OpenCode và Claude Code: Nên chọn AI Coding Agent nào?Cấu trúc Agents, Skills, Commands: OpenCode vs Claude Code — và cách chuyển đổiQuy tắc Permission và Bảo mật trong Claude CodeCLAUDE.md — Bộ nhớ dự án và Auto MemorySo sánh CodeGraph, GitNexus và codebase-memory-mcp

Tài liệu tham khảo

Tài liệu chính thức (tiếng Việt)

Tài liệu chính thức (tiếng Anh)

Mã nguồn

Cập nhật lần cuối

Nội dung này có hữu ích không?