AI & AUTOMATION

OpenCode – Coding Agent mã nguồn mở cho terminal

Bạn có bao giờ cảm thấy rằng một trợ lý AI coding trên giao diện GUI không thực sự “của bạn”? Hoặc bạn muốn sử dụng nhiều mô hình AI khác nhau thay vì bị ràng buộc với một nhà cung cấp duy nhất? Nếu bạn là một lập trình viên sống và làm việc trong terminal, thì OpenCode chính là công cụ bạn đã chờ đợi.

OpenCode là một coding agent mã nguồn mở được xây dựng hoàn toàn cho terminal, cho phép bạn tự động hóa các nhiệm vụ coding phức tạp mà không cần rời khỏi môi trường command line. Với sự hỗ trợ cho hơn 75 nhà cung cấp LLM (từ OpenAI, Google Gemini đến các mô hình chạy cục bộ), bạn có toàn quyền kiểm soát công cụ của mình.

Bài viết này sẽ giúp bạn hiểu rõ OpenCode là gì, tại sao nên sử dụng nó, và cách cài đặt + sử dụng nó một cách hiệu quả.

OpenCode là gì? Tại sao bạn nên sử dụng nó?

OpenCode là một AI coding agent mã nguồn mở được phát triển bởi SST (Serverless Stack). Nó hoạt động như một “pair programmer” thông minh chạy trực tiếp trên terminal của bạn, giúp bạn:

  • Tự động viết code
  • Sửa lỗi (debug)
  • Refactor code
  • Viết test
  • Tạo tài liệu
  • Phân tích codebase unfamiliar

Tại sao OpenCode khác biệt?

1. Hoàn toàn mã nguồn mở

Không giống Claude Code, OpenCode là mã nguồn mở 100%. Bạn có thể:

  • Xem toàn bộ source code
  • Modify và extend nó theo nhu cầu
  • Contribute cho cộng đồng
  • Tránh vendor lock-in

2. Không bị ràng buộc nhà cung cấp

OpenCode hỗ trợ hơn 75 LLM providers:

  • Claude (Anthropic)
  • GPT-4, GPT-4o (OpenAI)
  • Gemini (Google)
  • DeepSeek
  • Ollama (chạy mô hình cục bộ)
  • Và nhiều hơn nữa

Bạn có thể switch giữa các mô hình dễ dàng hoặc sử dụng nhiều mô hình cho các nhiệm vụ khác nhau (ví dụ: Claude Sonnet cho code generation, GPT-4 cho code review).

3. Native Terminal Experience

Nếu bạn là một terminal power user (đặc biệt là Neovim users), OpenCode cung cấp một trải nghiệm hoàn toàn native mà không cần mở trình duyệt hoặc GUI.

4. Kiến trúc Agent linh hoạt

OpenCode cho phép bạn thiết lập:

  • Primary Agent: Điều phối công việc, hiểu bức tranh lớn
  • Sub-agents: Chuyên biệt cho các công việc cụ thể (code review, testing, documentation)

Điều này giúp bạn giải quyết các vấn đề phức tạp mà không bị vượt quá context limit.

5. LSP Support (Language Server Protocol)

OpenCode tích hợp sẵn hỗ trợ cho Language Server, cung cấp code intelligence tốt hơn.

So sánh nhanh: OpenCode vs Claude Code

Tiêu chíOpenCodeClaude Code
Chi phíMiễn phí (open-source)$17/tháng Claude Pro
Mã nguồnMở (có thể fork)Đóng (proprietary)
LLM Support75+ providersClaude models only
Terminal NativeKhông (Web-based)
Tùy chỉnhCaoThấp
Dễ sử dụngCần thiết lậpPlug-and-play
Workflow ScriptingKhông

Hướng dẫn cài đặt chi tiết

Yêu cầu hệ thống

Trước khi cài đặt OpenCode, bạn cần:

  • Node.js 16+ hoặc một package manager khác (như Homebrew, Scoop, Chocolatey)
  • Git (tùy chọn nhưng khuyến khích)
  • API Keys từ ít nhất một LLM provider (Claude, OpenAI, Google, etc.)
  • Terminal/Command Prompt với quyền truy cập đến bash/zsh/pwsh
  • Kết nối Internet

Phương pháp 1: Cài đặt qua Script

Đây là cách nhanh nhất:

curl -fsSL https://opencode.ai/install | bash

Script này sẽ tự động:

  • Tải binary OpenCode
  • Đặt vào đường dẫn hệ thống
  • Thiết lập biến môi trường

Nếu bạn muốn kiểm soát tường minh nơi cài đặt, bạn có thể sử dụng:

OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash

Phương pháp 2: Cài đặt qua Package Manager

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

Node.js (NPM/Pnpm/Yarn/Bun):

npm install -g opencode-ai@latest
# hoặc
pnpm add -g opencode-ai@latest
# hoặc
yarn global add opencode-ai@latest

Bất kỳ OS Nào (Mise):

mise use --pin -g ubi:sst/opencode

Nix:

nix run github:sst/opencode

Docker:

docker run -it langflowai/opencode

Phương pháp 3: Cài từ Source Code (Cho developers)

Nếu bạn muốn phát triển OpenCode hoặc contribute:

git clone https://github.com/sst/opencode.git
cd opencode
npm install
npm run build
npm run start

Xác minh cài đặt

Sau khi cài đặt, kiểm tra xem OpenCode đã sẵn sàng:

opencode --version

Bạn sẽ thấy số phiên bản (ví dụ: v1.0.72).

Thiết Lập Các Provider LLM

Trước khi sử dụng OpenCode, bạn cần xác thực ít nhất một LLM provider:

opencode auth login

Lệnh này sẽ mở một trình duyệt (hoặc cung cấp liên kết) để bạn:

  1. Chọn provider (Claude, OpenAI, Google, DeepSeek, etc.)
  2. Nhập API key của bạn
  3. Xác nhận quyền truy cập
LƯU Ý:
Bạn có thể thiết lập nhiều provider cùng lúc và switch giữa chúng khi cần.

Hướng dẫn sử dụng – Bắt đầu coding với OpenCode

Khởi chạy OpenCode

Điều đơn giản nhất là:

cd /path/to/your/project
opencode

Lệnh này sẽ khởi chạy OpenCode TUI (Terminal User Interface) – một giao diện tương tác trong terminal.

Khởi tạo project lần đầu

Khi mới bắt đầu với một project:

opencode /init

Điều này sẽ tạo một file AGENTS.md (hoặc AGENTS.json) ở thư mục gốc của project. File này giúp OpenCode:

  • Hiểu cấu trúc project của bạn
  • Nhận diện các mẫu coding được sử dụng
  • Tối ưu hóa các recommendations

Các lệnh cơ bản

Khi bạn ở trong OpenCode TUI:

Gửi một prompt:

Viết một hàm để kiểm tra xem một số có phải số nguyên tố không

Switch Agent (Tab key):

  • build: Agent mặc định, có quyền truy cập đầy đủ cho phát triển
  • plan: Agent read-only, tốt để phân tích code hoặc planning

Reference Sub-agents:

@code-review Hãy kiểm tra lại hàm này

Thoát OpenCode: Ctrl + C

Ví dụ 1: Tạo một Hàm đơn giản

cd ~/my-project
opencode

Trong OpenCode prompt, gõ:

Viết một hàm JavaScript để convert độ C sang độ F. 
Bao gồm JSDoc và một ví dụ sử dụng.

OpenCode sẽ:

  1. Đề xuất code
  2. Tạo file mới hoặc sửa file hiện tại
  3. Cho bạn xem preview trước khi áp dụng

Ví dụ 2: Refactoring Code hiện tại

Refactor src/utils.js để sử dụng async/await thay vì callbacks.
Giữ tất cả các test vẫn pass.

OpenCode sẽ phân tích file, refactor code, và chạy test của bạn.

Ví dụ 3: Sử dụng Multiple Agents cho công việc phức tạp

Tạo một file AGENTS.md ở thư mục project:

# build
You are the main orchestrator. Break down complex tasks and coordinate with sub-agents.

# code-reviewer
You are an expert code reviewer. Focus on best practices, security, and performance.

# documenter
You are a technical writer. Create clear, concise documentation.

Sau đó, trong OpenCode:

@code-reviewer Hãy kiểm tra pull request này
@documenter Viết documentation cho API mới

Các tips để optimize workflow

  1. Sử Dụng Chuỗi Prompt Rõ Ràng: Thay vì một prompt dài, chia nhỏ thành các bước
  2. Tận Dụng Context: OpenCode sẽ tự động phân tích project của bạn, nên bạn không cần giải thích lại từ đầu
  3. Chuyển Đổi Agents: Dùng Tab để switch giữa buildplan agents tùy theo loại công việc
  4. Thiết Lập AGENTS.md: Điều này giúp OpenCode hiểu rõ hơn về project của bạn
  5. Sử Dụng Multiple Models: Nếu bạn muốn code generation, sử dụng Claude; nếu muốn testing, sử dụng một model khác

Làm việc không tương tác (Non-Interactive Mode)

Bạn có thể chạy OpenCode từ script:

opencode "Viết unit test cho src/auth.js"

Điều này hữu ích cho CI/CD pipelines hoặc automation.

Advanced Features

Thiết lập custom agents với JSON

Thay vì sử dụng markdown, bạn có thể sử dụng JSON. Tạo file opencode.json:

{
  "agents": {
    "primary": {
      "model": "claude-3-sonnet-20250514",
      "mode": "primary",
      "prompt": "You are an expert full-stack developer..."
    },
    "tester": {
      "model": "gpt-4",
      "mode": "subagent",
      "prompt": "You are a testing expert..."
    }
  }
}

Tích hợp với CI/CD

OpenCode có thể được tích hợp vào workflows CI/CD để:

  • Tự động generate code từ requirements
  • Chạy static analysis
  • Generate documentation tự động

Session Sharing

OpenCode hỗ trợ chia sẻ sessions, cho phép team collaboration:

opencode share

Những lưu ý quan trọng

  1. Cập nhật thường xuyên: OpenCode được phát triển nhanh chóng. Hãy cập nhật để có bug fixes và features mới:
npm install -g opencode-ai@latest
  1. Quản Lý API Keys: Lưu trữ API keys an toàn. OpenCode lưu trữ chúng locally nhưng vẫn cần cẩn thận
  2. Context Limit: Mặc dù OpenCode có kiến trúc agent tốt, nhưng vẫn cần lưu ý context limit của các mô hình LLM
  3. Xin Phép Khi Cần: Agent plan sẽ hỏi permission trước khi chạy bash commands – điều này là tính năng bảo mật

OpenCode là một công cụ thay đổi cuộc chơi cho những developer muốn sự tự do, tùy chỉnh, và kiểm soát trên công cụ AI coding của mình. Khác với Claude Code, OpenCode cung cấp sức mạnh và linh hoạt hoàn toàn miễn phí.

Dù bạn là:

  • Một independent developer muốn tối ưu chi phí
  • Một team muốn custom agents cho workflow của mình
  • Một researcher muốn khám phá AI coding agents
  • Một terminal power user không muốn rời khỏi command line

OpenCode là lựa chọn hoàn hảo.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận