SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
0dbc9de verified
Raw
History Blame Contribute Delete
22.9 kB
---
title: CLI
description: opencode CLI ์˜ต์…˜๊ณผ ๋ช…๋ น์–ด.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
opencode CLI๋Š” ์ธ์ˆ˜ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ [TUI](/docs/tui)๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode
```
์ด ํŽ˜์ด์ง€์— ๋‚˜์˜จ ๊ฒƒ์ฒ˜๋Ÿผ ๋ช…๋ น์„ ํ•จ๊ป˜ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด opencode๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode run "Explain how closures work in JavaScript"
```
---
### tui
OpenCode ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode [project]
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| ---------------------------------------- | ---- | ---------------------------------------------------------------------- |
| <nobr><code>{"--continue"}</code></nobr> | `-c` | ๋งˆ์ง€๋ง‰ ์„ธ์…˜ ์ด์–ด์„œ ์‹คํ–‰ |
| <nobr><code>{"--session"}</code></nobr> | `-s` | ์ด์–ด์„œ ์‹คํ–‰ํ•  ์„ธ์…˜ ID |
| <nobr><code>{"--fork"}</code></nobr> | | ์„ธ์…˜์„ ์ด์–ด๊ฐˆ ๋•Œ ํฌํฌ ์ƒ์„ฑ (`--continue` ๋˜๋Š” `--session`๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ) |
| <nobr><code>{"--prompt"}</code></nobr> | | ์‚ฌ์šฉํ•  ํ”„๋กฌํ”„ํŠธ |
| <nobr><code>{"--model"}</code></nobr> | `-m` | ์‚ฌ์šฉํ•  ๋ชจ๋ธ (`provider/model` ํ˜•์‹) |
| <nobr><code>{"--agent"}</code></nobr> | | ์‚ฌ์šฉํ•  ์—์ด์ „ํŠธ |
| <nobr><code>{"--port"}</code></nobr> | | ์ˆ˜์‹  ํฌํŠธ |
| <nobr><code>{"--hostname"}</code></nobr> | | ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๋ช… |
---
## ๋ช…๋ น์–ด
opencode CLI๋Š” ์•„๋ž˜ ๋ช…๋ น๋“ค๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
---
### agent
opencode์šฉ ์—์ด์ „ํŠธ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode agent [command]
```
---
### attach
`serve` ๋˜๋Š” `web` ๋ช…๋ น์œผ๋กœ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ opencode ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ํ„ฐ๋ฏธ๋„์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode attach [url]
```
์›๊ฒฉ opencode ๋ฐฑ์—”๋“œ์™€ TUI๋ฅผ ์—ฐ๊ฒฐํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:
```bash
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| ---------------------------------------- | ---- | -------------------------------------------------------------------------- |
| <nobr><code>{"--dir"}</code></nobr> | | TUI๋ฅผ ์‹œ์ž‘ํ•  ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ |
| <nobr><code>{"--continue"}</code></nobr> | `-c` | ๋งˆ์ง€๋ง‰ ์„ธ์…˜ ์ด์–ด์„œ ์‹คํ–‰ |
| <nobr><code>{"--session"}</code></nobr> | `-s` | ์ด์–ด์„œ ์‹คํ–‰ํ•  ์„ธ์…˜ ID |
| <nobr><code>{"--fork"}</code></nobr> | | ์ด์–ด์„œ ์‹คํ–‰ํ•  ๋•Œ ์„ธ์…˜ ํฌํฌ (`--continue` ๋˜๋Š” `--session`๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ) |
| <nobr><code>{"--password"}</code></nobr> | `-p` | ๊ธฐ๋ณธ ์ธ์ฆ ๋น„๋ฐ€๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: `OPENCODE_SERVER_PASSWORD`) |
| <nobr><code>{"--username"}</code></nobr> | `-u` | ๊ธฐ๋ณธ ์ธ์ฆ ์‚ฌ์šฉ์ž ์ด๋ฆ„ (๊ธฐ๋ณธ๊ฐ’: `OPENCODE_SERVER_USERNAME` ๋˜๋Š” `opencode`) |
---
#### create
์ปค์Šคํ…€ ์„ค์ •์œผ๋กœ ์ƒˆ ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
```bash
opencode agent create
```
์ด ๋ช…๋ น์€ ์ปค์Šคํ…€ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์™€ ๋„๊ตฌ ์„ค์ •์„ ์‚ฌ์šฉํ•ด ์ƒˆ ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
---
#### list
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์—์ด์ „ํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode agent list
```
---
### auth
provider ์ธ์ฆ ์ •๋ณด์™€ ๋กœ๊ทธ์ธ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode auth [command]
```
---
#### login
OpenCode๋Š” [Models.dev](https://models.dev)์˜ provider ๋ชฉ๋ก์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋ฏ€๋กœ, `opencode auth login`์œผ๋กœ ์›ํ•˜๋Š” provider์˜ API ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ ์ •๋ณด๋Š” `~/.local/share/opencode/auth.json`์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
```bash
opencode auth login
```
OpenCode ์‹œ์ž‘ ์‹œ ์ธ์ฆ ํŒŒ์ผ์—์„œ provider ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉฐ, ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋‚˜ ํ”„๋กœ์ ํŠธ์˜ `.env`์— ์ •์˜๋œ ํ‚ค๋„ ํ•จ๊ป˜ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
---
#### list
์ธ์ฆ ํŒŒ์ผ์— ์ €์žฅ๋œ provider ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode auth list
```
์ถ•์•ฝํ˜•๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode auth ls
```
---
#### logout
์ธ์ฆ ํŒŒ์ผ์—์„œ provider ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ•ด ๋กœ๊ทธ์•„์›ƒํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode auth logout
```
---
### github
์ €์žฅ์†Œ ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ GitHub ์—์ด์ „ํŠธ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode github [command]
```
---
#### install
์ €์žฅ์†Œ์— GitHub ์—์ด์ „ํŠธ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode github install
```
ํ•„์š”ํ•œ GitHub Actions ์›Œํฌํ”Œ๋กœ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ตฌ์„ฑ ๊ณผ์ •์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. [๋” ์•Œ์•„๋ณด๊ธฐ](/docs/github).
---
#### run
GitHub ์—์ด์ „ํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต GitHub Actions์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode github run
```
##### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์„ค๋ช… |
| ------------------------------------- | ------------------------- |
| <nobr><code>{"--event"}</code></nobr> | ์‹คํ–‰ํ•  GitHub ๋ชจ์˜ ์ด๋ฒคํŠธ |
| <nobr><code>{"--token"}</code></nobr> | GitHub ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ |
---
### mcp
Model Context Protocol ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode mcp [command]
```
---
#### add
๊ตฌ์„ฑ์— MCP ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode mcp add
```
์ด ๋ช…๋ น์€ ๋กœ์ปฌ ๋˜๋Š” ์›๊ฒฉ MCP ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
---
#### list
๊ตฌ์„ฑ๋œ MCP ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode mcp list
```
์ถ•์•ฝํ˜•๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode mcp ls
```
---
#### auth
OAuth๋ฅผ ์ง€์›ํ•˜๋Š” MCP ์„œ๋ฒ„๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode mcp auth [name]
```
์„œ๋ฒ„ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด OAuth ์ง€์› ์„œ๋ฒ„ ๋ชฉ๋ก์—์„œ ์„ ํƒํ•˜๋ผ๋Š” ์•ˆ๋‚ด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
OAuth ์ง€์› ์„œ๋ฒ„์™€ ์ธ์ฆ ์ƒํƒœ๋ฅผ ๋ชฉ๋ก์œผ๋กœ ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode mcp auth list
```
์ถ•์•ฝํ˜•๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode mcp auth ls
```
---
#### logout
MCP ์„œ๋ฒ„์˜ OAuth ์ธ์ฆ ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode mcp logout [name]
```
---
#### debug
MCP ์„œ๋ฒ„์˜ OAuth ์—ฐ๊ฒฐ ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊ทธํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode mcp debug <name>
```
---
### models
๊ตฌ์„ฑ๋œ provider์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode models [provider]
```
์ด ๋ช…๋ น์€ ๊ตฌ์„ฑ๋œ provider ์ „์ฒด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์„ `provider/model` ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
[config](/docs/config/)์— ์ง€์ •ํ•  ์ •ํ™•ํ•œ ๋ชจ๋ธ๋ช…์„ ํ™•์ธํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
ํŠน์ • provider ID๋ฅผ ๋„˜๊ฒจ ํ•ด๋‹น provider์˜ ๋ชจ๋ธ๋งŒ ํ•„ํ„ฐ๋งํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode models anthropic
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์„ค๋ช… |
| --------------------------------------- | ------------------------------------------------- |
| <nobr><code>{"--refresh"}</code></nobr> | models.dev์—์„œ ๋ชจ๋ธ ์บ์‹œ ์ƒˆ๋กœ๊ณ ์นจ |
| <nobr><code>{"--verbose"}</code></nobr> | ๋” ์ž์„ธํ•œ ๋ชจ๋ธ ์ถœ๋ ฅ ์‚ฌ์šฉ(๋น„์šฉ ๋“ฑ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํฌํ•จ) |
`--refresh` ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์บ์‹œ๋œ ๋ชจ๋ธ ๋ชฉ๋ก์„ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. provider์— ์ƒˆ ๋ชจ๋ธ์ด ์ถ”๊ฐ€๋œ ๋’ค OpenCode์—์„œ ๋ฐ”๋กœ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode models --refresh
```
---
### run
ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ง์ ‘ ์ „๋‹ฌํ•ด ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋กœ opencode๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode run [message..]
```
์Šคํฌ๋ฆฝํŠธ, ์ž๋™ํ™”, ๋˜๋Š” ์ „์ฒด TUI๋ฅผ ๋„์šฐ์ง€ ์•Š๊ณ  ๋น ๋ฅธ ์‘๋‹ต์ด ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ:
```bash "opencode run"
opencode run Explain the use of context in Go
```
๋งค๋ฒˆ MCP ์„œ๋ฒ„ ์ฝœ๋“œ ๋ถ€ํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก, ์‹คํ–‰ ์ค‘์ธ `opencode serve` ์ธ์Šคํ„ด์Šค์— ๋ถ™์–ด์„œ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
# Start a headless server in one terminal
opencode serve
# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| ---------------------------------------- | ---- | -------------------------------------------------------------------------- |
| <nobr><code>{"--command"}</code></nobr> | | ์‹คํ–‰ํ•  ๋ช…๋ น(์ธ์ˆ˜๋Š” message๋กœ ์ „๋‹ฌ) |
| <nobr><code>{"--continue"}</code></nobr> | `-c` | ๋งˆ์ง€๋ง‰ ์„ธ์…˜ ์ด์–ด์„œ ์‹คํ–‰ |
| <nobr><code>{"--session"}</code></nobr> | `-s` | ์ด์–ด์„œ ์‹คํ–‰ํ•  ์„ธ์…˜ ID |
| <nobr><code>{"--fork"}</code></nobr> | | ์„ธ์…˜์„ ์ด์–ด๊ฐˆ ๋•Œ ํฌํฌ ์ƒ์„ฑ (`--continue` ๋˜๋Š” `--session`๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ) |
| <nobr><code>{"--share"}</code></nobr> | | ์„ธ์…˜ ๊ณต์œ  |
| <nobr><code>{"--model"}</code></nobr> | `-m` | ์‚ฌ์šฉํ•  ๋ชจ๋ธ (`provider/model` ํ˜•์‹) |
| <nobr><code>{"--agent"}</code></nobr> | | ์‚ฌ์šฉํ•  ์—์ด์ „ํŠธ |
| <nobr><code>{"--file"}</code></nobr> | `-f` | ๋ฉ”์‹œ์ง€์— ์ฒจ๋ถ€ํ•  ํŒŒ์ผ |
| <nobr><code>{"--format"}</code></nobr> | | ์ถœ๋ ฅ ํ˜•์‹: default(ํฌ๋งท๋จ) ๋˜๋Š” json(์›์‹œ JSON ์ด๋ฒคํŠธ) |
| <nobr><code>{"--title"}</code></nobr> | | ์„ธ์…˜ ์ œ๋ชฉ(๊ฐ’์ด ์—†์œผ๋ฉด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž˜๋ผ ์ž๋™ ์ƒ์„ฑ) |
| <nobr><code>{"--attach"}</code></nobr> | | ์‹คํ–‰ ์ค‘์ธ opencode ์„œ๋ฒ„์— ์—ฐ๊ฒฐ(์˜ˆ: http://localhost:4096) |
| <nobr><code>{"--password"}</code></nobr> | `-p` | ๊ธฐ๋ณธ ์ธ์ฆ ๋น„๋ฐ€๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: `OPENCODE_SERVER_PASSWORD`) |
| <nobr><code>{"--username"}</code></nobr> | `-u` | ๊ธฐ๋ณธ ์ธ์ฆ ์‚ฌ์šฉ์ž ์ด๋ฆ„ (๊ธฐ๋ณธ๊ฐ’: `OPENCODE_SERVER_USERNAME` ๋˜๋Š” `opencode`) |
| <nobr><code>{"--dir"}</code></nobr> | | ์‹คํ–‰ํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ, ๋˜๋Š” ์—ฐ๊ฒฐ ์‹œ ์›๊ฒฉ ์„œ๋ฒ„ ๊ฒฝ๋กœ |
| <nobr><code>{"--variant"}</code></nobr> | | ๋ชจ๋ธ ๋ณ€ํ˜• (์ œ๊ณต์ž๋ณ„ ์ถ”๋ก  ์ˆ˜์ค€) |
| <nobr><code>{"--thinking"}</code></nobr> | | ์‚ฌ๊ณ  ๋ธ”๋ก ํ‘œ์‹œ |
| <nobr><code>{"--port"}</code></nobr> | | ๋กœ์ปฌ ์„œ๋ฒ„ ํฌํŠธ(๊ธฐ๋ณธ๊ฐ’: ๋žœ๋ค ํฌํŠธ) |
---
### serve
API ์ ‘๊ทผ์šฉ headless OpenCode ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด HTTP ์ธํ„ฐํŽ˜์ด์Šค๋Š” [server docs](/docs/server)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
```bash
opencode serve
```
์ด ๋ช…๋ น์€ TUI ์—†์ด opencode ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” HTTP ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. `OPENCODE_SERVER_PASSWORD`๋ฅผ ์„ค์ •ํ•˜๋ฉด HTTP basic auth๊ฐ€ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋ช…: `opencode`).
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์„ค๋ช… |
| ---------------------------------------- | --------------------------------- |
| <nobr><code>{"--port"}</code></nobr> | ์ˆ˜์‹  ํฌํŠธ |
| <nobr><code>{"--hostname"}</code></nobr> | ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๋ช… |
| <nobr><code>{"--mdns"}</code></nobr> | mDNS ๊ฒ€์ƒ‰ ํ™œ์„ฑํ™” |
| <nobr><code>{"--cors"}</code></nobr> | ํ—ˆ์šฉํ•  ์ถ”๊ฐ€ ๋ธŒ๋ผ์šฐ์ € origin(CORS) |
---
### session
OpenCode ์„ธ์…˜์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode session [command]
```
---
#### list
OpenCode ์„ธ์…˜ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode session list
```
##### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| ----------------------------------------- | ---- | -------------------------------------- |
| <nobr><code>{"--max-count"}</code></nobr> | `-n` | ์ตœ๊ทผ N๊ฐœ ์„ธ์…˜๋งŒ ํ‘œ์‹œ |
| <nobr><code>{"--format"}</code></nobr> | | ์ถœ๋ ฅ ํ˜•์‹: table ๋˜๋Š” json(๊ธฐ๋ณธ table) |
---
### stats
OpenCode ์„ธ์…˜์˜ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๋น„์šฉ ํ†ต๊ณ„๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode stats
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์„ค๋ช… |
| --------------------------------------- | ------------------------------------------------------------ |
| <nobr><code>{"--days"}</code></nobr> | ์ตœ๊ทผ N์ผ ํ†ต๊ณ„ ํ‘œ์‹œ(๊ธฐ๋ณธ๊ฐ’: ์ „์ฒด ๊ธฐ๊ฐ„) |
| <nobr><code>{"--tools"}</code></nobr> | ํ‘œ์‹œํ•  ๋„๊ตฌ ๊ฐœ์ˆ˜(๊ธฐ๋ณธ๊ฐ’: ์ „์ฒด) |
| <nobr><code>{"--models"}</code></nobr> | ๋ชจ๋ธ ์‚ฌ์šฉ๋Ÿ‰ ์ƒ์„ธ ํ‘œ์‹œ(๊ธฐ๋ณธ ์ˆจ๊น€). ์ˆซ์ž๋ฅผ ์ฃผ๋ฉด ์ƒ์œ„ N๊ฐœ ํ‘œ์‹œ |
| <nobr><code>{"--project"}</code></nobr> | ํ”„๋กœ์ ํŠธ ํ•„ํ„ฐ(๊ธฐ๋ณธ: ์ „์ฒด ํ”„๋กœ์ ํŠธ, ๋นˆ ๋ฌธ์ž์—ด: ํ˜„์žฌ ํ”„๋กœ์ ํŠธ) |
---
### export
์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
```bash
opencode export [sessionID]
```
์„ธ์…˜ ID๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์„ธ์…˜์—์„œ ์„ ํƒํ•˜๋ผ๋Š” ์•ˆ๋‚ด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
---
### import
JSON ํŒŒ์ผ ๋˜๋Š” OpenCode ๊ณต์œ  URL์—์„œ ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
```bash
opencode import <file>
```
๋กœ์ปฌ ํŒŒ์ผ์ด๋‚˜ OpenCode ๊ณต์œ  URL์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```
---
### web
์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํฌํ•จํ•œ headless OpenCode ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode web
```
์ด ๋ช…๋ น์€ HTTP ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด์–ด ์›น ์ธํ„ฐํŽ˜์ด์Šค๋กœ OpenCode์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. `OPENCODE_SERVER_PASSWORD`๋ฅผ ์„ค์ •ํ•˜๋ฉด HTTP basic auth๊ฐ€ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋ช…: `opencode`).
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์„ค๋ช… |
| ---------------------------------------- | --------------------------------- |
| <nobr><code>{"--port"}</code></nobr> | ์ˆ˜์‹  ํฌํŠธ |
| <nobr><code>{"--hostname"}</code></nobr> | ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๋ช… |
| <nobr><code>{"--mdns"}</code></nobr> | mDNS ๊ฒ€์ƒ‰ ํ™œ์„ฑํ™” |
| <nobr><code>{"--cors"}</code></nobr> | ํ—ˆ์šฉํ•  ์ถ”๊ฐ€ ๋ธŒ๋ผ์šฐ์ € origin(CORS) |
---
### acp
ACP(Agent Client Protocol) ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode acp
```
์ด ๋ช…๋ น์€ nd-JSON ํ˜•์‹์œผ๋กœ stdin/stdout์„ ํ†ตํ•ด ํ†ต์‹ ํ•˜๋Š” ACP ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์„ค๋ช… |
| ---------------------------------------- | ------------- |
| <nobr><code>{"--cwd"}</code></nobr> | ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ |
| <nobr><code>{"--port"}</code></nobr> | ์ˆ˜์‹  ํฌํŠธ |
| <nobr><code>{"--hostname"}</code></nobr> | ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๋ช… |
---
### uninstall
OpenCode๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ด€๋ จ ํŒŒ์ผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode uninstall
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| ------------------------------------------- | ---- | ------------------------------- |
| <nobr><code>{"--keep-config"}</code></nobr> | `-c` | ์„ค์ • ํŒŒ์ผ ์œ ์ง€ |
| <nobr><code>{"--keep-data"}</code></nobr> | `-d` | ์„ธ์…˜ ๋ฐ์ดํ„ฐ์™€ ์Šค๋ƒ…์ƒท ์œ ์ง€ |
| <nobr><code>{"--dry-run"}</code></nobr> | | ์‹ค์ œ ์‚ญ์ œ ์—†์ด ์‚ญ์ œ ๋Œ€์ƒ๋งŒ ํ‘œ์‹œ |
| <nobr><code>{"--force"}</code></nobr> | `-f` | ํ™•์ธ ํ”„๋กฌํ”„ํŠธ ๊ฑด๋„ˆ๋›ฐ๊ธฐ |
---
### upgrade
opencode๋ฅผ ์ตœ์‹  ๋ฒ„์ „ ๋˜๋Š” ํŠน์ • ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
```bash
opencode upgrade [target]
```
์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ:
```bash
opencode upgrade
```
ํŠน์ • ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ:
```bash
opencode upgrade v0.1.48
```
#### ํ”Œ๋ž˜๊ทธ
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| -------------------------------------- | ---- | ------------------------------------------ |
| <nobr><code>{"--method"}</code></nobr> | `-m` | ์„ค์น˜ ๋ฐฉ์‹ ์ง€์ •: curl, npm, pnpm, bun, brew |
---
## ์ „์—ญ ํ”Œ๋ž˜๊ทธ
opencode CLI๋Š” ์•„๋ž˜ ์ „์—ญ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
| ํ”Œ๋ž˜๊ทธ | ์ถ•์•ฝ | ์„ค๋ช… |
| ------------------------------------------ | ---- | ----------------------------------- |
| <nobr><code>{"--help"}</code></nobr> | `-h` | ๋„์›€๋ง ํ‘œ์‹œ |
| <nobr><code>{"--version"}</code></nobr> | `-v` | ๋ฒ„์ „ ์ถœ๋ ฅ |
| <nobr><code>{"--print-logs"}</code></nobr> | | ๋กœ๊ทธ๋ฅผ stderr๋กœ ์ถœ๋ ฅ |
| <nobr><code>{"--log-level"}</code></nobr> | | ๋กœ๊ทธ ๋ ˆ๋ฒจ(DEBUG, INFO, WARN, ERROR) |
---
## ํ™˜๊ฒฝ ๋ณ€์ˆ˜
OpenCode๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ๋„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
| ๋ณ€์ˆ˜ | ํƒ€์ž… | ์„ค๋ช… |
| ------------------------------------- | ------- | ---------------------------------------------- |
| `OPENCODE_AUTO_SHARE` | boolean | ์„ธ์…˜ ์ž๋™ ๊ณต์œ  |
| `OPENCODE_GIT_BASH_PATH` | string | Windows์—์„œ Git Bash ์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ |
| `OPENCODE_CONFIG` | string | ์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ |
| `OPENCODE_CONFIG_DIR` | string | ์„ค์ • ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ |
| `OPENCODE_CONFIG_CONTENT` | string | ์ธ๋ผ์ธ JSON ์„ค์ • ๋‚ด์šฉ |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | ์ž๋™ ์—…๋ฐ์ดํŠธ ํ™•์ธ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_PRUNE` | boolean | ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ ์ •๋ฆฌ(prune) ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | ํ„ฐ๋ฏธ๋„ ์ œ๋ชฉ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_PERMISSION` | string | ์ธ๋ผ์ธ JSON ๊ถŒํ•œ ์„ค์ • |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | ๊ธฐ๋ณธ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | LSP ์„œ๋ฒ„ ์ž๋™ ๋‹ค์šด๋กœ๋“œ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | ์‹คํ—˜์  ๋ชจ๋ธ ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | ์ž๋™ ์ปจํ…์ŠคํŠธ ์ปดํŒฉ์…˜ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | `.claude`(ํ”„๋กฌํ”„ํŠธ + ์Šคํ‚ฌ) ์ฝ๊ธฐ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | `~/.claude/CLAUDE.md` ์ฝ๊ธฐ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | `.claude/skills` ๋กœ๋“œ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | ์›๊ฒฉ ์†Œ์Šค์—์„œ ๋ชจ๋ธ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_FAKE_VCS` | string | ํ…Œ์ŠคํŠธ์šฉ ๊ฐ€์งœ VCS provider |
| `OPENCODE_CLIENT` | string | ํด๋ผ์ด์–ธํŠธ ์‹๋ณ„์ž(๊ธฐ๋ณธ๊ฐ’: `cli`) |
| `OPENCODE_ENABLE_EXA` | boolean | Exa ์›น ๊ฒ€์ƒ‰ ๋„๊ตฌ ํ™œ์„ฑํ™” |
| `OPENCODE_SERVER_PASSWORD` | string | `serve`/`web` ๊ธฐ๋ณธ ์ธ์ฆ ํ™œ์„ฑํ™” |
| `OPENCODE_SERVER_USERNAME` | string | ๊ธฐ๋ณธ ์ธ์ฆ ์‚ฌ์šฉ์ž๋ช… ์˜ค๋ฒ„๋ผ์ด๋“œ(๊ธฐ๋ณธ `opencode`) |
| `OPENCODE_MODELS_URL` | string | ๋ชจ๋ธ ์„ค์ •์„ ๊ฐ€์ ธ์˜ฌ ์‚ฌ์šฉ์ž ์ง€์ • URL |
---
### ์‹คํ—˜์  ๊ธฐ๋Šฅ
์•„๋ž˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ๋Š” ์‹คํ—˜ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
| ๋ณ€์ˆ˜ | ํƒ€์ž… | ์„ค๋ช… |
| ----------------------------------------------- | ------- | ------------------------------------------- |
| `OPENCODE_EXPERIMENTAL` | boolean | ์—„๋ธŒ๋ ๋ผ ํ”Œ๋ž˜๊ทธ๋กœ ์ œ์–ด๋˜๋Š” ์‹คํ—˜ ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | ์•„์ด์ฝ˜ ํƒ์ƒ‰ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | TUI์—์„œ ์„ ํƒ ์‹œ ๋ณต์‚ฌ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | bash ๋ช…๋ น ๊ธฐ๋ณธ ํƒ€์ž„์•„์›ƒ(ms) |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | LLM ์‘๋‹ต ์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ ์ˆ˜ |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | ์ „์ฒด ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ ๊ฐ์‹œ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | oxfmt ํฌ๋งคํ„ฐ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | ์‹คํ—˜์  LSP ๋„๊ตฌ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | ํŒŒ์ผ ๊ฐ์‹œ ๋น„ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | ์‹คํ—˜์  Exa ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | python ํŒŒ์ผ์— ๋Œ€ํ•ด TY LSP ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Plan mode ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS` | boolean | ๋ฐฑ๊ทธ๋ผ์šด๋“œ subagent ์ž‘์—… ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM` | boolean | ์‹คํ—˜์  ์ด๋ฒคํŠธ ์‹œ์Šคํ…œ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | boolean | ๋„ค์ดํ‹ฐ๋ธŒ LLM ์š”์ฒญ ๊ฒฝ๋กœ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_PARALLEL` | boolean | ๋ณ‘๋ ฌ ์›น ๊ฒ€์ƒ‰ ์‹คํ–‰ ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_SCOUT` | boolean | Scout subagent ํ™œ์„ฑํ™” |
| `OPENCODE_EXPERIMENTAL_WORKSPACES` | boolean | workspace ์ง€์› ํ™œ์„ฑํ™” |