Русский
Документация
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 сессии для продолжения
--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 list

attach

Подключение терминала к уже запущенному 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-sID сессии для продолжения
--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-pID или имя провайдера для входа
--method-mМетка метода входа для использования, пропуская выбор метода

list

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

opencode auth list

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

opencode auth ls

logout

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

opencode auth logout

github

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

opencode github [command]

install

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

opencode github install

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


run

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

opencode github run
Флаги
ФлагОписание
--eventMock-событие 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 сессии для продолжения
--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/abc123

web

Запуск 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 path

debug

Инструменты отладки и устранения неполадок.

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_SHAREbooleanАвтоматически делиться сессиями
OPENCODE_GIT_BASH_PATHstringПуть к исполняемому файлу Git Bash в Windows
OPENCODE_CONFIGstringПуть к файлу конфигурации
OPENCODE_TUI_CONFIGstringПуть к файлу конфигурации TUI
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 (промпт + навыки)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTbooleanОтключить чтение ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSbooleanОтключить загрузку .claude/skills
OPENCODE_DISABLE_MODELS_FETCHbooleanОтключить получение моделей из удалённых источников
OPENCODE_DISABLE_MOUSEbooleanОтключить захват мыши в TUI
OPENCODE_FAKE_VCSstringПоддельный VCS-провайдер для целей тестирования
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Включить TY LSP для файлов python
OPENCODE_EXPERIMENTAL_PLAN_MODEbooleanВключить режим планирования