Thú thật mà nói: lần đầu tôi thấy Claude Code, tôi nghĩ "ồ xịn đấy" — rồi nhìn vào tờ bill hàng tháng và nghĩ lại. Không phải ai cũng muốn trả tiền mãi mãi cho một công cụ mà mình không thực sự kiểm soát được, đặc biệt khi bạn là người "sống và thở" trong terminal.
Đây là lúc OpenCode xuất hiện — một coding agent mã nguồn mở, miễn phí, chạy thẳng trong terminal, hỗ trợ hơn 75 nhà cung cấp LLM và để bạn tự quyết định AI nào sẽ "pair program" cùng mình. Không subscription bắt buộc, không bị nhốt vào một ecosystem duy nhất.
Trong bài này mình sẽ breakdown toàn bộ: OpenCode là gì, tại sao nó đáng dùng, cách cài đặt nhanh nhất, và cách tận dụng tối đa workflow của bạn. Let's go!
OpenCode là gì?
OpenCode là một AI coding agent mã nguồn mở được phát triển bởi SST (Serverless Stack) — cùng team đứng sau framework SST nổi tiếng trong giới serverless. OpenCode hoạt động như một "pair programmer" AI chạy trực tiếp trên terminal, giúp bạn tự động hóa các tác vụ lập trình phức tạp mà không cần rời khỏi command line.
Repo chính thức: github.com/sst/opencode — hoàn toàn mở, bạn có thể đọc code, fork, và contribute bất cứ lúc nào.
Với OpenCode, bạn có thể làm những việc sau ngay trong terminal:
- Tự động viết code từ mô tả bằng ngôn ngữ tự nhiên
- Debug và sửa lỗi tự động
- Refactor toàn bộ codebase
- Viết unit test và integration test
- Tạo documentation từ code có sẵn
- Phân tích và hiểu codebase xa lạ nhanh hơn
Tại sao OpenCode lại đáng để bạn thử?
Thị trường AI coding agent hiện tại không thiếu lựa chọn — GitHub Copilot, Claude Code, Cursor, Windsurf... Nhưng OpenCode có những lý do riêng để nổi bật.
1. Hoàn toàn mã nguồn mở và miễn phí
OpenCode là mã nguồn mở 100%. Bạn không bị ràng buộc bởi subscription của bất kỳ ai. Chi phí duy nhất là API key của LLM bạn chọn — và bạn hoàn toàn kiểm soát ngân sách đó. Muốn tiết kiệm? Dùng DeepSeek hoặc Ollama chạy local, gần như miễn phí.
2. Hỗ trợ hơn 75 LLM providers
Đây là điểm mạnh cực kỳ lớn. OpenCode không bắt bạn phải trung thành với một model duy nhất. Bạn có thể dùng:
- Claude (Anthropic) — Sonnet, Opus, Haiku cho code generation chất lượng cao
- GPT-4o, GPT-4 (OpenAI) — quen thuộc, ổn định
- Gemini (Google) — context window cực lớn, phù hợp đọc codebase lớn
- DeepSeek — chi phí cực thấp, quality ngạc nhiên
- Ollama — chạy model local, hoàn toàn offline, zero cost
- Và hàng chục provider khác...
Bạn thậm chí có thể dùng các model khác nhau cho các agent khác nhau trong cùng một workflow. Ví dụ: Claude Sonnet cho viết code chính, DeepSeek cho code review để tiết kiệm chi phí.
3. Native terminal experience — không cần GUI
Nếu bạn là Neovim user, tmux addict, hoặc đơn giản là người thích làm việc trong terminal hơn GUI thì OpenCode sinh ra cho bạn. Nó cung cấp một TUI (Terminal User Interface) mượt mà, không cần mở browser hay switch sang ứng dụng khác.
4. Kiến trúc multi-agent linh hoạt
OpenCode cho phép bạn thiết lập nhiều agent với vai trò khác nhau:
- Primary agent: Điều phối tổng thể, hiểu "bức tranh lớn" của task
- Sub-agents: Chuyên biệt cho từng việc — code reviewer, tester, documenter
Điều này giải quyết vấn đề context limit — thay vì nhét toàn bộ vào một prompt khổng lồ, bạn chia nhỏ task cho nhiều agent xử lý song song, hiệu quả hơn nhiều.
5. LSP support tích hợp sẵn
OpenCode tích hợp Language Server Protocol (LSP), giúp AI có thêm ngữ cảnh về code: định nghĩa function, type information, error messages thực tế. Kết quả là code được generate chính xác hơn, ít hallucination hơn.
6. Non-interactive mode cho CI/CD
Bạn có thể chạy OpenCode trong script hoặc pipeline CI/CD hoàn toàn không tương tác. Mở ra khả năng automation cực kỳ thú vị: tự động generate boilerplate, tự động viết test cho PR mới, tự động tạo documentation khi merge code.
OpenCode vs Claude Code: nên chọn cái nào?
Đây là câu hỏi nhiều người hay hỏi. Không có đáp án tuyệt đối, nhưng mình sẽ đưa ra so sánh thực tế để bạn tự quyết định:
| Tiêu chí | OpenCode | Claude Code |
|---|---|---|
| Chi phí tool | Miễn phí (open-source) | Đi kèm Claude Pro ~$17–20/tháng |
| Mã nguồn | Mở hoàn toàn (có thể fork/extend) | Đóng (proprietary) |
| LLM support | 75+ providers tùy chọn | Chỉ dùng Claude models |
| Interface | Terminal TUI native | Terminal + tích hợp IDE |
| Tùy chỉnh | Cao — custom agents, custom prompts | Thấp — ít cấu hình |
| Dễ dùng ngay | Cần thiết lập ban đầu | Plug-and-play |
| Multi-agent | Có — thiết lập linh hoạt | Hạn chế hơn |
| CI/CD integration | Có (non-interactive mode) | Không |
| Chạy model local | Có (qua Ollama) | Không |
| Vendor lock-in | Không | Bị ràng buộc Anthropic |
Tóm lại: Nếu bạn muốn đơn giản, quality cao nhất và không quan tâm đến vendor lock-in → Claude Code. Nếu bạn muốn tự do, tùy chỉnh cao, tiết kiệm chi phí và sống trong terminal → OpenCode là lựa chọn rõ ràng hơn.
Cài đặt OpenCode — hướng dẫn chi tiết
Yêu cầu hệ thống
- Node.js 16+ (nếu cài qua npm)
- Terminal với bash/zsh/pwsh
- API key từ ít nhất một LLM provider
- Kết nối internet (ngoại trừ khi dùng Ollama local)
Phương pháp 1: Script cài đặt nhanh nhất (macOS/Linux)
Một lệnh duy nhất, tự động hoàn toàn:
curl -fsSL https://opencode.ai/install | bash
Script sẽ tự tải binary, đặt vào system path và thiết lập biến môi trường. Nếu muốn chỉ định thư mục cài đặt cụ thể:
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bashPhương pháp 2: Package manager
Tùy hệ điều hành, chọn cách phù hợp:
| Hệ điều hành / Tool | Lệnh cài đặt |
|---|---|
| macOS / Linux (Homebrew) | brew install opencode |
| Windows (Scoop) | scoop bucket add extras && scoop install extras/opencode |
| Windows (Chocolatey) | choco install opencode |
| Arch Linux (Paru) | paru -S opencode-bin |
| npm (cross-platform) | npm install -g opencode-ai@latest |
| pnpm | pnpm add -g opencode-ai@latest |
| Nix | nix run github:sst/opencode |
| Docker | docker run -it langflowai/opencode |
Phương pháp 3: Build từ source (cho contributors)
Nếu bạn muốn tham gia phát triển OpenCode hoặc cần phiên bản mới nhất chưa release:
- Clone repo:
git clone https://github.com/sst/opencode.git - Di chuyển vào thư mục:
cd opencode - Cài dependencies:
npm install - Build:
npm run build - Chạy:
npm run start
Xác nhận cài đặt thành công
Sau khi cài xong, kiểm tra nhanh:
opencode --versionNếu thấy số phiên bản (ví dụ: v1.0.72) hiện ra là bạn đã sẵn sàng.
Thiết lập LLM provider
Trước khi dùng, bạn cần kết nối ít nhất một LLM provider:
opencode auth loginHoặc gõ lệnh /connect và chọn model để authentication, có rất nhiều models:

Lệnh này sẽ mở trình duyệt (hoặc đưa ra link) để bạn chọn provider và nhập API key. Bạn có thể thiết lập nhiều provider cùng lúc và switch giữa chúng bất cứ lúc nào trong quá trình làm việc.
Tip: Nếu bạn muốn dùng model local hoàn toàn miễn phí, cài Ollama trước, pull model bạn muốn (ví dụ: ollama pull llama3), rồi chọn Ollama khi đăng nhập OpenCode.
Cách sử dụng OpenCode — từ cơ bản đến nâng cao
Khởi chạy lần đầu
Di chuyển vào thư mục project của bạn và chạy:
cd /duong/dan/den/project
opencodeGiao diện TUI sẽ xuất hiện ngay trong terminal. Nếu đây là lần đầu làm việc với project này, hãy chạy lệnh khởi tạo:
opencode /initLệnh này tạo file AGENTS.md ở thư mục gốc — giúp OpenCode hiểu cấu trúc project, patterns coding, và tech stack của bạn. Càng nhiều context thì output càng chất lượng.
Hai agent modes cơ bản
OpenCode có hai mode hoạt động chính, switch bằng phím Tab:
- build mode: Agent mặc định, có full quyền truy cập filesystem, chạy command, sửa file. Dùng khi bạn muốn AI thực sự làm việc.
- plan mode: Read-only, chỉ đọc và phân tích. Dùng khi bạn muốn AI tư vấn, review mà không muốn nó tự ý thay đổi gì.
Ví dụ thực tế 1: Viết code từ prompt
Trong OpenCode TUI, gõ prompt bình thường bằng tiếng Anh hoặc tiếng Việt:
"Viết một REST API endpoint bằng Express.js để xử lý upload ảnh, validate kích thước tối đa 5MB, và lưu vào thư mục uploads/"
OpenCode sẽ phân tích project của bạn, đề xuất code, cho bạn xem preview trước khi apply vào file thực tế. Không có gì thay đổi mà bạn không biết.
Ví dụ thực tế 2: Debug và refactor
"File src/auth.js đang dùng callback hell, refactor sang async/await. Giữ nguyên tất cả unit test vẫn pass."
OpenCode sẽ đọc file, hiểu logic, refactor, và thậm chí chạy test để xác nhận không có gì bị break.
Ví dụ thực tế 3: Gọi sub-agent theo vai trò
Khi đã thiết lập multi-agent (xem phần dưới), bạn có thể tag sub-agent trực tiếp:
@code-reviewer Kiểm tra PR này trước khi merge@documenter Viết API docs cho module authenticationNon-interactive mode — tích hợp CI/CD
Chạy OpenCode trong script mà không cần tương tác:
opencode "Viết unit test cho tất cả function trong src/utils.js chưa có test"Cực kỳ hữu ích cho: tự động viết test khi merge PR, tự động update docs khi API thay đổi, tự động review code trong pipeline.
Thiết lập multi-agent workflow — level nâng cao
Đây là tính năng phân biệt OpenCode với phần lớn các tool khác. Bạn có thể định nghĩa nhiều agent với vai trò, model và system prompt riêng.
Cách 1: Dùng file AGENTS.md
Tạo file AGENTS.md trong thư mục gốc project:
# build — tên agent mặc định (orchestrator)
You are the main orchestrator. Break down complex tasks, coordinate with sub-agents, and always ask for clarification before making large changes.
# code-reviewer — sub-agent chuyên review
You are an expert code reviewer. Focus on security vulnerabilities, performance issues, and adherence to best practices. Be specific and constructive.
# documenter — sub-agent chuyên viết docs
You are a technical writer. Create clear, concise documentation. Use examples liberally. Write for developers who are new to this codebase.
Cách 2: Dùng file opencode.json (JSON config)
Tạo file opencode.json ở thư mục gốc để control chi tiết hơn — kể cả model từng agent dùng:
- Primary agent: Claude Sonnet — viết code chính, chất lượng cao
- Code reviewer: DeepSeek — review tiết kiệm chi phí
- Documenter: GPT-4o-mini — viết docs cần rõ ràng, không cần "thông minh" quá
Cách setup này giúp tối ưu chi phí mà vẫn đảm bảo chất lượng cho từng loại task.
Tips tối ưu workflow với OpenCode
Tip 1: Đầu tư vào AGENTS.md ngay từ đầu
Càng mô tả chi tiết project trong AGENTS.md — tech stack, coding conventions, thư mục structure, những điều cần tránh — thì OpenCode càng hiểu context và đưa ra output chất lượng hơn mà không cần giải thích lại từ đầu mỗi lần.
Tip 2: Dùng plan mode trước khi build
Với task phức tạp, switch sang plan mode để hỏi OpenCode "plan của mày cho bài toán này là gì?" trước. Review plan, điều chỉnh nếu cần, rồi mới switch sang build mode để thực thi. Tiết kiệm token và tránh được những thay đổi không mong muốn.
Tip 3: Chia nhỏ task thay vì một prompt khổng lồ
OpenCode hoạt động tốt nhất với các task có scope rõ ràng. Thay vì "refactor toàn bộ codebase theo clean architecture", hãy chia thành: "refactor module auth", "refactor module payment", "refactor module notification" — từng bước một, dễ review và kiểm soát hơn.
Tip 4: Kết hợp nhiều model cho workflow kinh tế
Không phải task nào cũng cần Claude Opus hay GPT-4. Cấu trúc kinh tế:
- Code generation phức tạp: Claude Sonnet hoặc GPT-4o
- Code review, viết test: DeepSeek V3 (rẻ hơn 10–20 lần, quality ổn)
- Documentation: GPT-4o-mini hoặc Gemini Flash
- Prototyping nhanh: Ollama local (free hoàn toàn)
Tip 5: Session sharing cho team collaboration
OpenCode hỗ trợ share session với command opencode share. Hữu ích khi bạn muốn đồng nghiệp review lại quá trình AI đã làm gì, hoặc khi pair programming từ xa với sự hỗ trợ của AI.
Tip 6: Cập nhật thường xuyên
OpenCode đang được develop cực kỳ tích cực. Nên cập nhật định kỳ để có tính năng mới và bug fix:
npm install -g opencode-ai@latestNhững điều cần lưu ý khi dùng OpenCode
- Bảo mật API key: OpenCode lưu API key locally, nhưng hãy cẩn thận không commit file config vào Git. Thêm
opencode.jsonvào.gitignorenếu nó chứa thông tin nhạy cảm. - Context limit: Dù kiến trúc multi-agent giúp giảm thiểu vấn đề này, mỗi model vẫn có giới hạn context window riêng. Với codebase cực lớn, hãy cân nhắc dùng Gemini (context window 1M token).
- Review trước khi apply: OpenCode luôn cho bạn xem preview thay đổi trước khi áp dụng. Đừng bỏ qua bước này, đặc biệt với task có tác động lớn.
- Plan agent cần xác nhận: Plan agent (read-only) sẽ hỏi permission trước khi chạy bash commands — đây là tính năng bảo mật quan trọng, không phải bug.
Kết luận — OpenCode có dành cho bạn không?
OpenCode là lựa chọn cực kỳ mạnh mẽ nếu bạn thuộc một trong các nhóm sau:
- Developer muốn dùng AI coding agent nhưng không muốn trả subscription cố định hoặc bị vendor lock-in
- Terminal power user (Neovim, tmux...) không muốn rời khỏi command line để dùng AI
- Freelancer hoặc indie developer cần tối ưu chi phí tool
- Team muốn custom agent workflow riêng theo quy trình nội bộ
- Developer muốn thử nghiệm và so sánh nhiều model LLM khác nhau
Nếu bạn chỉ cần thứ gì đó đơn giản, plug-and-play, và sẵn sàng trả $17/tháng cho Claude Pro — thì Claude Code vẫn là lựa chọn tốt. Không ai ép cả.
Nhưng nếu bạn muốn tự do thực sự — tự chọn model, tự chỉnh prompt, tự mở rộng workflow, và không phụ thuộc vào bất kỳ vendor nào — thì OpenCode xứng đáng là công cụ chính trong toolbox của bạn.
Star repo tại github.com/sst/opencode nếu thấy hữu ích — đó là cách tốt nhất để ủng hộ một dự án open-source chất lượng!

0 Bình luận