Server Mode
Tương tác với OpenCode server qua HTTP.
Tổng quan
Lệnh opencode serve chạy headless HTTP server với OpenAPI endpoint. Architecture: TUI là client nói chuyện với server qua HTTP.
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
Options
| Flag | Mô tả | Default |
|---|
--port | Port lắng nghe | 4096 |
--hostname | Hostname | 127.0.0.1 |
--mdns | Bật mDNS discovery | false |
--cors | Browser origins được phép | [] |
Authentication
OPENCODE_SERVER_PASSWORD=your-password opencode serve
Username mặc định: opencode. Override với OPENCODE_SERVER_USERNAME.
OpenAPI Spec
Server publish OpenAPI 3.1 spec tại:
http://<hostname>:<port>/doc
Ví dụ: http://localhost:4096/doc. Dùng để generate clients hoặc inspect types.
APIs
Global
| Method | Path | Mô tả |
|---|
GET | /global/health | Server health + version |
GET | /global/event | SSE event stream |
Sessions
| Method | Path | Mô tả |
|---|
GET | /session | List sessions |
POST | /session | Create session |
GET | /session/:id | Get session details |
DELETE | /session/:id | Delete session |
POST | /session/:id/init | Init project (AGENTS.md) |
POST | /session/:id/abort | Abort running session |
POST | /session/:id/share | Share session |
DELETE | /session/:id/share | Unshare session |
POST | /session/:id/revert | Revert message |
POST | /session/:id/unrevert | Restore reverted |
Messages
| Method | Path | Mô tả |
|---|
GET | /session/:id/message | List messages |
POST | /session/:id/message | Send message + wait for response |
POST | /session/:id/prompt_async | Send message (no wait) |
POST | /session/:id/command | Execute slash command |
POST | /session/:id/shell | Run shell command |
Files
| Method | Path | Mô tả |
|---|
GET | /find?pattern=<pat> | Search text in files |
GET | /find/file?query=<q> | Find files by name |
GET | /file/content?path=<p> | Read file |
Config
| Method | Path | Mô tả |
|---|
GET | /config | Get config |
PATCH | /config | Update config |
GET | /config/providers | List providers |
TUI Control
| Method | Path | Mô tả |
|---|
POST | /tui/append-prompt | Append text to prompt |
POST | /tui/submit-prompt | Submit current prompt |
POST | /tui/clear-prompt | Clear prompt |
POST | /tui/show-toast | Show toast notification |
POST | /tui/execute-command | Execute command |
Auth
| Method | Path | Mô tả |
|---|
PUT | /auth/:id | Set credentials |
Events
| Method | Path | Mô tả |
|---|
GET | /event | SSE event stream |
Kết nối tới server đang chạy
Khi TUI đang chạy, bạn có thể kết nối tới server của nó:
# Start TUI với port cố định
opencode --port 4096
# Trong terminal khác, dùng SDK để kết nối
import { createOpencodeClient } from "@opencode-ai/sdk"
const client = createOpencodeClient({
baseUrl: "http://localhost:4096",
})
Xem thêm
- SDK — Type-safe JavaScript client
- CLI — Server flags