Terminal UI (TUI)
OpenCode cung cấp giao diện terminal tương tác (TUI) để làm việc với các dự án của bạn cùng LLM.
Chạy OpenCode sẽ khởi động TUI cho thư mục hiện tại.
opencode
Hoặc bạn có thể khởi động TUI cho một thư mục cụ thể.
opencode /path/to/project
Sau khi vào TUI, bạn có thể nhập tin nhắn để hỏi AI.
Cho tôi tóm tắt nhanh về codebase này.
Tham chiếu files
Bạn có thể tham chiếu đến files trong tin nhắn bằng ký tự @. Tính năng này thực hiện tìm kiếm mờ (fuzzy search) trong thư mục làm việc hiện tại.
Bạn cũng có thể dùng @ để tham chiếu files trong tin nhắn.
Auth được xử lý như thế nào trong @packages/functions/src/api/index.ts?
Nội dung của file sẽ được tự động thêm vào cuộc hội thoại.
Chạy lệnh Bash
Bắt đầu tin nhắn với ! để chạy lệnh shell.
!ls -la
Output của lệnh sẽ được thêm vào cuộc hội thoại như một kết quả tool.
Các lệnh (Commands)
Khi sử dụng TUI của OpenCode, bạn có thể gõ / theo sau là tên lệnh để thực thi nhanh các hành động. Ví dụ:
/help
Hầu hết các lệnh đều có keybind sử dụng ctrl+x làm leader key. Tìm hiểu thêm về keybinds.
Dưới đây là tất cả các slash commands có sẵn:
connect
Thêm provider vào OpenCode. Cho phép bạn chọn từ danh sách providers có sẵn và thêm API keys.
/connect
compact
Nén session hiện tại (tóm tắt lịch sử hội thoại). Alias: /summarize
/compact
Keybind: ctrl+x c
details
Bật/tắt hiển thị chi tiết thực thi tool.
/details
Keybind: ctrl+x d
editor
Mở trình soạn thảo bên ngoài để viết tin nhắn. Sử dụng editor được đặt trong biến môi trường EDITOR. Xem cách thiết lập.
/editor
Keybind: ctrl+x e
exit
Thoát OpenCode. Aliases: /quit, /q
/exit
Keybind: ctrl+x q
export
Xuất cuộc hội thoại hiện tại ra file Markdown và mở trong editor mặc định. Sử dụng editor được đặt trong biến môi trường EDITOR. Xem cách thiết lập.
/export
Keybind: ctrl+x x
help
Hiển thị hộp thoại trợ giúp.
/help
Keybind: ctrl+x h
init
Tạo hoặc cập nhật file AGENTS.md. Tìm hiểu thêm về rules.
/init
Keybind: ctrl+x i
models
Liệt kê các models có sẵn.
/models
Keybind: ctrl+x m
new
Bắt đầu session mới. Alias: /clear
/new
Keybind: ctrl+x n
redo
Làm lại tin nhắn đã undo trước đó. Chỉ khả dụng sau khi sử dụng /undo.
Các thay đổi file cũng sẽ được khôi phục.
Bên trong, tính năng này sử dụng Git để quản lý thay đổi file. Vì vậy project của bạn cần phải là một Git repository.
/redo
Keybind: ctrl+x r
sessions
Liệt kê và chuyển đổi giữa các sessions. Aliases: /resume, /continue
/sessions
Keybind: ctrl+x l
share
Chia sẻ session hiện tại. Tìm hiểu thêm về sharing.
/share
Keybind: ctrl+x s
themes
Liệt kê các themes có sẵn.
/theme
Keybind: ctrl+x t
thinking
Bật/tắt hiển thị thinking/reasoning blocks trong cuộc hội thoại. Khi bật, bạn có thể thấy quá trình suy luận của model (với các models hỗ trợ extended thinking).
Lệnh này chỉ điều khiển việc hiển thị thinking blocks - không bật/tắt khả năng reasoning của model. Để chuyển đổi giữa các model variants (có/không reasoning), sử dụng ctrl+t.
/thinking
undo
Hoàn tác tin nhắn cuối cùng trong cuộc hội thoại. Xóa tin nhắn người dùng gần nhất, tất cả các phản hồi sau đó, và các thay đổi file.
Các thay đổi file đã thực hiện cũng sẽ được hoàn tác.
Bên trong, tính năng này sử dụng Git để quản lý thay đổi file. Vì vậy project của bạn cần phải là một Git repository.
/undo
Keybind: ctrl+x u
unshare
Hủy chia sẻ session hiện tại. Tìm hiểu thêm về un-sharing.
/unshare
Cấu hình Editor
Cả lệnh /editor và /export đều sử dụng editor được chỉ định trong biến môi trường EDITOR.
Linux/macOS
# Ví dụ cho nano hoặc vim
export EDITOR=nano
export EDITOR=vim
# Với GUI editors như VS Code, Cursor, VSCodium, Windsurf, Zed, v.v.
# cần thêm --wait
export EDITOR="code --wait"
Để cài đặt vĩnh viễn, thêm vào shell profile của bạn: ~/.bashrc, ~/.zshrc, v.v.
Windows (CMD)
set EDITOR=notepad
# Với GUI editors như VS Code, Cursor, VSCodium, Windsurf, Zed, v.v.
# cần thêm --wait
set EDITOR=code --wait
Để cài đặt vĩnh viễn, sử dụng System Properties > Environment Variables.
Windows (PowerShell)
$env:EDITOR = "notepad"
# Với GUI editors như VS Code, Cursor, VSCodium, Windsurf, Zed, v.v.
# cần thêm --wait
$env:EDITOR = "code --wait"
Để cài đặt vĩnh viễn, thêm vào PowerShell profile của bạn.
Các editor phổ biến
code- Visual Studio Codecursor- Cursorwindsurf- Windsurfnvim- Neovimvim- Vimnano- Nanonotepad- Windows Notepadsubl- Sublime Text
Một số editors như VS Code cần được chạy với flag --wait để OpenCode chờ bạn hoàn thành chỉnh sửa.
Cấu hình TUI
Bạn có thể tùy chỉnh hành vi TUI thông qua file config của OpenCode.
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}
Các tùy chọn
| Option | Mô tả |
|---|---|
scroll_acceleration | Bật scroll acceleration kiểu macOS để cuộn mượt mà, tự nhiên. Khi bật, tốc độ cuộn tăng khi cuộn nhanh và giữ chính xác khi cuộn chậm. Cài đặt này được ưu tiên và ghi đè scroll_speed khi được bật. |
scroll_speed | Điều khiển tốc độ cuộn của TUI (tối thiểu: 1). Mặc định là 3. Lưu ý: Tùy chọn này bị bỏ qua nếu scroll_acceleration.enabled được đặt là true. |
Tùy biến giao diện
Bạn có thể tùy chỉnh nhiều khía cạnh của TUI thông qua command palette (ctrl+x h hoặc /help). Các cài đặt này được lưu lại giữa các lần khởi động.
Hiển thị username
Bật/tắt hiển thị username trong chat messages. Truy cập thông qua:
- Command palette: Tìm "username" hoặc "hide username"
- Cài đặt tự động được lưu và ghi nhớ giữa các sessions