CLI
Параметры и команды CLI OpenCode.
CLI OpenCode по умолчанию запускает TUI при запуске без аргументов.
opencodeНо он также принимает команды, описанные на этой странице. Это позволяет взаимодействовать с OpenCode программно.
opencode run "Explain how closures work in JavaScript"tui
Запуск терминального пользовательского интерфейса OpenCode.
opencode [project]Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--continue | -c | Продолжить последнюю сессию |
--session | -s | ID сессии для продолжения |
--fork | Создать форк сессии при продолжении (используйте с --continue или --session) | |
--prompt | Промпт для использования | |
--model | -m | Модель для использования в формате provider/model |
--agent | Агент для использования | |
--port | Порт для прослушивания | |
--hostname | Имя хоста для прослушивания | |
--mdns | Включить обнаружение mDNS | |
--mdns-domain | Пользовательское доменное имя mDNS | |
--cors | Дополнительные источники браузера для разрешения CORS |
Команды
CLI OpenCode также имеет следующие команды.
agent
Управление агентами для OpenCode.
opencode agent [command]create
Создание нового агента с пользовательской конфигурацией.
opencode agent createЭта команда проведёт вас через создание нового агента с пользовательским системным промптом и конфигурацией разрешений. Всё, что вы не разрешаете, запрещается во frontmatter сгенерированного агента.
Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--path | Каталог для записи файла агента (по умолчанию глобальный или .opencode/agent в зависимости от промпта) | |
--description | Что должен делать агент | |
--mode | Режим агента: all, primary или subagent | |
--permissions | Список разрешений через запятую (по умолчанию: все). Доступно: bash, read, edit, glob, grep, webfetch, task, todowrite, websearch, lsp, skill. Всё пропущенное запрещается. Псевдоним: --tools | |
--model | -m | Модель для использования в формате provider/model |
Передача всех флагов --path, --description, --mode и --permissions запускает команду в неинтерактивном режиме.
list
Список всех доступных агентов.
opencode agent listattach
Подключение терминала к уже запущенному backend-серверу OpenCode, запущенному через команды serve или web.
opencode attach [url]Это позволяет использовать TUI с удалённым backend OpenCode. Например:
# Запустить backend-сервер для веб/мобильного доступа
opencode web --port 4096 --hostname 0.0.0.0
# В другом терминале подключить TUI к работающему backend
opencode attach http://10.20.30.40:4096Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--dir | Рабочий каталог для запуска TUI | |
--continue | -c | Продолжить последнюю сессию |
--session | -s | ID сессии для продолжения |
--fork | Создать форк сессии при продолжении (используйте с --continue или --session) | |
--password | -p | Пароль basic auth (по умолчанию OPENCODE_SERVER_PASSWORD) |
--username | -u | Имя пользователя basic auth (по умолчанию OPENCODE_SERVER_USERNAME или opencode) |
auth
Команда для управления учётными данными и входом для провайдеров.
opencode auth [command]login
OpenCode работает на основе списка провайдеров на Models.dev (opens in a new tab), поэтому вы можете использовать opencode auth login для настройки API-ключей для любого провайдера, который хотите использовать. Это сохраняется в ~/.local/share/opencode/auth.json.
opencode auth loginПри запуске OpenCode загружает провайдеров из файла учётных данных. А также если есть ключи, определённые в вашем окружении или файле .env в вашем проекте.
Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--provider | -p | ID или имя провайдера для входа |
--method | -m | Метка метода входа для использования, пропуская выбор метода |
list
Перечисляет всех аутентифицированных провайдеров, как они хранятся в файле учётных данных.
opencode auth listИли короткая версия.
opencode auth lslogout
Выполняет выход из провайдера, очищая его из файла учётных данных.
opencode auth logoutgithub
Управление агентом GitHub для автоматизации репозитория.
opencode github [command]install
Установка агента GitHub в вашем репозитории.
opencode github installЭто настраивает необходимый рабочий процесс GitHub Actions и проводит вас через процесс конфигурации. Подробнее.
run
Запуск агента GitHub. Обычно используется в GitHub Actions.
opencode github runФлаги
| Флаг | Описание |
|---|---|
--event | Mock-событие GitHub для запуска агента |
--token | Персональный токен доступа GitHub |
mcp
Управление серверами Model Context Protocol.
opencode mcp [command]add
Добавление MCP сервера в вашу конфигурацию.
opencode mcp addЭта команда проведёт вас через добавление локального или удалённого MCP сервера.
list
Список всех настроенных MCP серверов и их статуса подключения.
opencode mcp listИли используйте короткую версию.
opencode mcp lsauth
Аутентификация с MCP сервером, поддерживающим OAuth.
opencode mcp auth [name]Если вы не укажете имя сервера, вам будет предложено выбрать из доступных серверов с поддержкой OAuth.
Вы также можете перечислить серверы с поддержкой OAuth и их статус аутентификации.
opencode mcp auth listИли используйте короткую версию.
opencode mcp auth lslogout
Удаление учётных данных OAuth для MCP сервера.
opencode mcp logout [name]debug
Отладка проблем подключения OAuth для MCP сервера.
opencode mcp debug <name>models
Список всех доступных моделей от настроенных провайдеров.
opencode models [provider]Эта команда отображает все модели, доступные у ваших настроенных провайдеров, в формате provider/model.
Это полезно для определения точного имени модели для использования в вашей конфигурации.
Вы можете опционально передать ID провайдера для фильтрации моделей по этому провайдеру.
opencode models anthropicФлаги
| Флаг | Описание |
|---|---|
--refresh | Обновить кэш моделей из models.dev |
--verbose | Использовать более подробный вывод модели (включает метаданные, такие как стоимость) |
Используйте флаг --refresh для обновления кэшированного списка моделей. Это полезно, когда новые модели были добавлены к провайдеру и вы хотите увидеть их в OpenCode.
opencode models --refreshrun
Запуск opencode в неинтерактивном режиме путём передачи промпта напрямую.
opencode run [message..]Это полезно для скриптинга, автоматизации или когда вы хотите получить быстрый ответ без запуска полного TUI. Например.
opencode run Explain the use of context in GoВы также можете подключиться к работающему экземпляру opencode serve, чтобы избежать времени холодного запуска MCP серверов при каждом запуске:
# Запустить headless-сервер в одном терминале
opencode serve
# В другом терминале запускать команды, подключающиеся к нему
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--command | Команда для запуска, используйте message для аргументов | |
--continue | -c | Продолжить последнюю сессию |
--session | -s | ID сессии для продолжения |
--fork | Создать форк сессии при продолжении (используйте с --continue или --session) | |
--share | Поделиться сессией | |
--model | -m | Модель для использования в формате provider/model |
--agent | Агент для использования | |
--file | -f | Файл(ы) для прикрепления к сообщению |
--format | Формат: default (форматированный) или json (необработанные JSON-события) | |
--title | Заголовок для сессии (использует усечённый промпт, если значение не указано) | |
--attach | Подключиться к работающему серверу opencode (например, http://localhost:4096 (opens in a new tab)) | |
--password | -p | Пароль basic auth (по умолчанию OPENCODE_SERVER_PASSWORD) |
--username | -u | Имя пользователя basic auth (по умолчанию OPENCODE_SERVER_USERNAME или opencode) |
--dir | Каталог для запуска или путь на удалённом сервере при подключении | |
--port | Порт для локального сервера (по умолчанию случайный порт) | |
--variant | Вариант модели (специфичное для провайдера усилие рассуждения) | |
--thinking | Показывать блоки рассуждений | |
--dangerously-skip-permissions | Автоматически одобрять разрешения, которые не запрещены явно (опасно!) |
serve
Запуск headless-сервера OpenCode для доступа через API. Смотрите документацию сервера для полного HTTP-интерфейса.
opencode serveЭто запускает HTTP-сервер, который предоставляет доступ через API к функциональности opencode без интерфейса TUI. Установите OPENCODE_SERVER_PASSWORD, чтобы включить HTTP basic auth (имя пользователя по умолчанию opencode).
Флаги
| Флаг | Описание |
|---|---|
--port | Порт для прослушивания |
--hostname | Имя хоста для прослушивания |
--mdns | Включить обнаружение mDNS |
--mdns-domain | Пользовательское доменное имя mDNS |
--cors | Дополнительные источники браузера для разрешения CORS |
session
Управление сессиями OpenCode.
opencode session [command]list
Список всех сессий OpenCode.
opencode session listФлаги
| Флаг | Краткий | Описание |
|---|---|---|
--max-count | -n | Ограничить N последними сессиями |
--format | Формат вывода: table или json (table) |
delete
Удаление сессии OpenCode.
opencode session delete <sessionID>stats
Показать статистику использования токенов и стоимости для ваших сессий OpenCode.
opencode statsФлаги
| Флаг | Описание |
|---|---|
--days | Показать статистику за последние N дней (за всё время) |
--tools | Количество инструментов для отображения (все) |
--models | Показать разбивку использования моделей (по умолчанию скрыто). Передайте число, чтобы показать топ N |
--project | Фильтровать по проекту (все проекты, пустая строка: текущий проект) |
export
Экспорт данных сессии в формате JSON.
opencode export [sessionID]Если вы не укажете ID сессии, вам будет предложено выбрать из доступных сессий.
Флаги
| Флаг | Описание |
|---|---|
--sanitize | Редактировать конфиденциальные данные транскрипта/файлов |
import
Импорт данных сессии из JSON-файла или URL для общего доступа OpenCode.
opencode import <file>Вы можете импортировать из локального файла или URL для общего доступа OpenCode.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Запуск headless-сервера OpenCode с веб-интерфейсом.
opencode webЭто запускает HTTP-сервер и открывает веб-браузер для доступа к OpenCode через веб-интерфейс. Установите OPENCODE_SERVER_PASSWORD, чтобы включить HTTP basic auth (имя пользователя по умолчанию opencode).
Флаги
| Флаг | Описание |
|---|---|
--port | Порт для прослушивания |
--hostname | Имя хоста для прослушивания |
--mdns | Включить обнаружение mDNS |
--mdns-domain | Пользовательское доменное имя mDNS |
--cors | Дополнительные источники браузера для разрешения CORS |
acp
Запуск ACP (Agent Client Protocol) сервера.
opencode acpЭта команда запускает ACP сервер, который взаимодействует через stdin/stdout, используя nd-JSON.
Флаги
| Флаг | Описание |
|---|---|
--cwd | Рабочий каталог |
--port | Порт для прослушивания |
--hostname | Имя хоста для прослушивания |
--mdns | Включить обнаружение mDNS |
--mdns-domain | Пользовательское доменное имя mDNS |
--cors | Дополнительные источники браузера для разрешения CORS |
plugin
Установка плагина и обновление вашей конфигурации.
opencode plugin <module>Или используйте псевдоним.
opencode plug <module>Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--global | -g | Установить в глобальную конфигурацию |
--force | -f | Заменить существующую версию плагина |
pr
Получение и checkout ветки GitHub PR, затем запуск OpenCode.
opencode pr <number>db
Инструменты базы данных.
opencode db [query]Флаги
| Флаг | Описание |
|---|---|
--format | Формат вывода: json или tsv |
path
Вывести путь к базе данных.
opencode db pathdebug
Инструменты отладки и устранения неполадок.
opencode debug [command]uninstall
Удаление OpenCode и всех связанных файлов.
opencode uninstallФлаги
| Флаг | Краткий | Описание |
|---|---|---|
--keep-config | -c | Сохранить файлы конфигурации |
--keep-data | -d | Сохранить данные сессий и снимки |
--dry-run | Показать, что будет удалено, без удаления | |
--force | -f | Пропустить запросы подтверждения |
upgrade
Обновляет opencode до последней версии или конкретной версии.
opencode upgrade [target]Чтобы обновить до последней версии.
opencode upgradeЧтобы обновить до конкретной версии.
opencode upgrade v0.1.48Флаги
| Флаг | Краткий | Описание |
|---|---|---|
--method | -m | Использованный метод установки; curl, npm, pnpm, bun, brew |
Глобальные флаги
CLI opencode принимает следующие глобальные флаги.
| Флаг | Краткий | Описание |
|---|---|---|
--help | -h | Показать справку |
--version | -v | Вывести номер версии |
--print-logs | Выводить логи в stderr | |
--log-level | Уровень логирования (DEBUG, INFO, WARN, ERROR) | |
--pure | Запуск без внешних плагинов |
Переменные окружения
OpenCode можно настроить с помощью переменных окружения.
| Переменная | Тип | Описание |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Автоматически делиться сессиями |
OPENCODE_GIT_BASH_PATH | string | Путь к исполняемому файлу Git Bash в Windows |
OPENCODE_CONFIG | string | Путь к файлу конфигурации |
OPENCODE_TUI_CONFIG | string | Путь к файлу конфигурации TUI |
OPENCODE_CONFIG_DIR | string | Путь к каталогу конфигурации |
OPENCODE_CONFIG_CONTENT | string | Встроенное содержимое JSON-конфигурации |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Отключить автоматические проверки обновлений |
OPENCODE_DISABLE_PRUNE | boolean | Отключить очистку старых данных |
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_DISABLE_MOUSE | boolean | Отключить захват мыши в TUI |
OPENCODE_FAKE_VCS | string | Поддельный VCS-провайдер для целей тестирования |
OPENCODE_CLIENT | string | Идентификатор клиента (по умолчанию cli) |
OPENCODE_ENABLE_EXA | boolean | Включить инструменты веб-поиска Exa |
OPENCODE_SERVER_PASSWORD | string | Включить basic auth для serve/web |
OPENCODE_SERVER_USERNAME | string | Переопределить имя пользователя basic auth (по умолчанию 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 в мс |
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 | Включить TY LSP для файлов python |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Включить режим планирования |