Русский
Документация
CLI

CLI

Параметры и команды CLI OpenCode.

CLI OpenCode по умолчанию запускает TUI при запуске без аргументов.

opencode

Но также принимает команды, описанные на этой странице. Это позволяет взаимодействовать с OpenCode программно.

opencode run "Explain how closures work in JavaScript"

tui

Запуск терминального пользовательского интерфейса OpenCode.

opencode [project]

Флаги

ФлагСокр.Описание
--continue-cПродолжить последнюю сессию
--session-sID сессии для продолжения
--promptПромпт для использования
--model-mМодель в формате provider/model
--agentАгент для использования
--portПорт для прослушивания
--hostnameИмя хоста для прослушивания

Команды

CLI OpenCode также имеет следующие команды.


agent

Управление агентами для OpenCode.

opencode agent [command]

attach

Подключение терминала к уже запущенному серверу OpenCode, запущенному через команды serve или web.

opencode attach [url]

Это позволяет использовать TUI с удалённым бэкендом OpenCode. Например:

# Запуск бэкенд-сервера для веб/мобильного доступа
opencode web --port 4096 --hostname 0.0.0.0
 
# В другом терминале подключаем TUI к работающему бэкенду
opencode attach http://10.20.30.40:4096

Флаги

ФлагСокр.Описание
--dirРабочая директория для запуска TUI
--session-sID сессии для продолжения

create

Создание нового агента с пользовательской конфигурацией.

opencode agent create

Эта команда проведёт вас через создание нового агента с пользовательским системным промптом и конфигурацией инструментов.


list

Список всех доступных агентов.

opencode agent list

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 в вашем проекте.


list

Список всех аутентифицированных провайдеров из файла учётных данных.

opencode auth list

Или короткая версия.

opencode auth ls

logout

Выход из провайдера путём удаления из файла учётных данных.

opencode auth logout

github

Управление GitHub-агентом для автоматизации репозитория.

opencode github [command]

install

Установка GitHub-агента в ваш репозиторий.

opencode github install

Это настраивает необходимый workflow GitHub Actions и проводит вас через процесс конфигурации. Подробнее.


run

Запуск GitHub-агента. Обычно используется в GitHub Actions.

opencode github run
Флаги
ФлагОписание
--eventТестовое событие GitHub для запуска агента
--tokenПерсональный токен доступа GitHub

mcp

Управление серверами Model Context Protocol.

opencode mcp [command]

add

Добавление MCP-сервера в вашу конфигурацию.

opencode mcp add

Эта команда проведёт вас через добавление локального или удалённого MCP-сервера.


list

Список всех настроенных MCP-серверов и их статус подключения.

opencode mcp list

Или короткая версия.

opencode mcp ls

auth

Аутентификация на MCP-сервере с поддержкой OAuth.

opencode mcp auth [name]

Если вы не укажете имя сервера, вам будет предложено выбрать из доступных серверов с поддержкой OAuth.

Вы также можете просмотреть серверы с поддержкой OAuth и их статус аутентификации.

opencode mcp auth list

Или короткая версия.

opencode mcp auth ls

logout

Удаление 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 --refresh

run

Запуск 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-sID сессии для продолжения
--shareПоделиться сессией
--model-mМодель в формате provider/model
--agentАгент для использования
--file-fФайл(ы) для прикрепления к сообщению
--formatФормат: default (форматированный) или json (сырые JSON-события)
--titleЗаголовок для сессии (использует усечённый промпт, если значение не указано)
--attachПодключиться к работающему серверу opencode (например, http://localhost:4096 (opens in a new tab))
--portПорт для локального сервера (по умолчанию случайный порт)

serve

Запуск headless-сервера OpenCode для API-доступа. Смотрите документацию сервера для полного HTTP-интерфейса.

opencode serve

Это запускает HTTP-сервер, предоставляющий API-доступ к функциональности opencode без TUI-интерфейса. Установите OPENCODE_SERVER_PASSWORD для включения HTTP basic auth (имя пользователя по умолчанию opencode).

Флаги

ФлагОписание
--portПорт для прослушивания
--hostnameИмя хоста для прослушивания
--mdnsВключить обнаружение mDNS
--corsДополнительные источники браузера для разрешения CORS

session

Управление сессиями OpenCode.

opencode session [command]

list

Список всех сессий OpenCode.

opencode session list
Флаги
ФлагСокр.Описание
--max-count-nОграничить N последними сессиями
--formatФормат вывода: table или json (table)

stats

Показать статистику использования токенов и стоимости для ваших сессий OpenCode.

opencode stats

Флаги

ФлагОписание
--daysПоказать статистику за последние N дней (всё время)
--toolsКоличество инструментов для отображения (все)
--modelsПоказать разбивку использования моделей (скрыто по умолчанию). Передайте число для показа топ N
--projectФильтр по проекту (все проекты, пустая строка: текущий проект)

export

Экспорт данных сессии в JSON.

opencode export [sessionID]

Если вы не укажете ID сессии, вам будет предложено выбрать из доступных сессий.


import

Импорт данных сессии из JSON-файла или URL для обмена OpenCode.

opencode import <file>

Вы можете импортировать из локального файла или URL для обмена OpenCode.

opencode import session.json
opencode import https://opncd.ai/s/abc123

web

Запуск headless-сервера OpenCode с веб-интерфейсом.

opencode web

Это запускает HTTP-сервер и открывает веб-браузер для доступа к OpenCode через веб-интерфейс. Установите OPENCODE_SERVER_PASSWORD для включения HTTP basic auth (имя пользователя по умолчанию opencode).

Флаги

ФлагОписание
--portПорт для прослушивания
--hostnameИмя хоста для прослушивания
--mdnsВключить обнаружение mDNS
--corsДополнительные источники браузера для разрешения CORS

acp

Запуск сервера ACP (Agent Client Protocol).

opencode acp

Эта команда запускает сервер ACP, который взаимодействует через stdin/stdout с использованием nd-JSON.

Флаги

ФлагОписание
--cwdРабочая директория
--portПорт для прослушивания
--hostnameИмя хоста для прослушивания

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)

Переменные окружения

OpenCode можно настроить с помощью переменных окружения.

ПеременнаяТипОписание
OPENCODE_AUTO_SHAREbooleanАвтоматически делиться сессиями
OPENCODE_GIT_BASH_PATHstringПуть к исполняемому файлу Git Bash в Windows
OPENCODE_CONFIGstringПуть к файлу конфигурации
OPENCODE_CONFIG_DIRstringПуть к директории конфигурации
OPENCODE_CONFIG_CONTENTstringВстроенное содержимое json-конфигурации
OPENCODE_DISABLE_AUTOUPDATEbooleanОтключить автоматическую проверку обновлений
OPENCODE_DISABLE_PRUNEbooleanОтключить очистку старых данных
OPENCODE_DISABLE_TERMINAL_TITLEbooleanОтключить автоматическое обновление заголовка терминала
OPENCODE_PERMISSIONstringВстроенная json-конфигурация разрешений
OPENCODE_DISABLE_DEFAULT_PLUGINSbooleanОтключить плагины по умолчанию
OPENCODE_DISABLE_LSP_DOWNLOADbooleanОтключить автоматическую загрузку LSP-серверов
OPENCODE_ENABLE_EXPERIMENTAL_MODELSbooleanВключить экспериментальные модели
OPENCODE_DISABLE_AUTOCOMPACTbooleanОтключить автоматическое сжатие контекста
OPENCODE_DISABLE_CLAUDE_CODEbooleanОтключить чтение .claude (prompt + skills)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTbooleanОтключить чтение ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSbooleanОтключить загрузку .claude/skills
OPENCODE_DISABLE_MODELS_FETCHbooleanОтключить получение моделей из удалённых источников
OPENCODE_FAKE_VCSstringФиктивный VCS-провайдер для тестирования
OPENCODE_DISABLE_FILETIME_CHECKbooleanОтключить проверку времени файлов для оптимизации
OPENCODE_CLIENTstringИдентификатор клиента (по умолчанию cli)
OPENCODE_ENABLE_EXAbooleanВключить инструменты веб-поиска Exa
OPENCODE_SERVER_PASSWORDstringВключить basic auth для serve/web
OPENCODE_SERVER_USERNAMEstringПереопределить имя пользователя basic auth (по умолчанию opencode)
OPENCODE_MODELS_URLstringПользовательский URL для получения конфигурации моделей

Экспериментальные

Эти переменные окружения включают экспериментальные функции, которые могут измениться или быть удалены.

ПеременнаяТипОписание
OPENCODE_EXPERIMENTALbooleanВключить все экспериментальные функции
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYbooleanВключить обнаружение иконок
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTbooleanОтключить копирование при выделении в TUI
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberТаймаут по умолчанию для bash-команд в мс
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberМаксимальное количество выходных токенов для ответов LLM
OPENCODE_EXPERIMENTAL_FILEWATCHERbooleanВключить наблюдатель файлов для всей директории
OPENCODE_EXPERIMENTAL_OXFMTbooleanВключить форматтер oxfmt
OPENCODE_EXPERIMENTAL_LSP_TOOLbooleanВключить экспериментальный инструмент LSP
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERbooleanОтключить наблюдатель файлов
OPENCODE_EXPERIMENTAL_EXAbooleanВключить экспериментальные функции Exa
OPENCODE_EXPERIMENTAL_LSP_TYbooleanВключить экспериментальную проверку типов LSP
OPENCODE_EXPERIMENTAL_MARKDOWNbooleanВключить экспериментальные функции markdown
OPENCODE_EXPERIMENTAL_PLAN_MODEbooleanВключить режим планирования