--- title: CLI description: Параметры и команда opencode CLI. --- import { Tabs, TabItem } from "@astrojs/starlight/components" CLI opencode по умолчанию запускает [TUI](/docs/tui) при запуске без каких-либо аргументов. ```bash opencode ``` Но он также принимает команды, описанные на этой странице. Это позволяет вам программно взаимодействовать с opencode. ```bash opencode run "Explain how closures work in JavaScript" ``` --- ### tui Запустите TUI opencode. ```bash opencode [project] ``` #### Флаги | Флаг | Короткий | Описание | | ------------ | -------- | ----------------------------------------------------------------------------- | | `--continue` | `-c` | Продолжить последний сеанс | | `--session` | `-s` | Идентификатор сеанса для продолжения | | `--fork` | | Разветвить сеанс при продолжении (используйте с `--continue` или `--session`) | | `--prompt` | | Промпт для использования | | `--model` | `-m` | Модель для использования в виде поставщика/модели. | | `--agent` | | Агент для использования | | `--port` | | Порт для прослушивания | | `--hostname` | | Имя хоста для прослушивания | --- ## Команды CLI opencode также имеет следующие команды. --- ### agent Управляйте агентами для opencode. ```bash opencode agent [command] ``` --- ### attach Подключите терминал к уже работающему внутреннему серверу opencode, запущенному с помощью команд `serve` или `web`. ```bash opencode attach [url] ``` Это позволяет использовать TUI с удаленным сервером opencode. Например: ```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 ``` #### Флаги | Флаг | Короткий | Описание | | ----------- | -------- | ------------------------------------ | | `--dir` | | Рабочий каталог для запуска TUI | | `--session` | `-s` | Идентификатор сеанса для продолжения | --- #### create Создайте нового агента с пользовательской конфигурацией. ```bash opencode agent create ``` Эта команда поможет вам создать новый агент с настраиваемой системной подсказкой и настройкой инструмента. --- #### list Перечислите всех доступных агентов. ```bash opencode agent list ``` --- ### auth Команда для управления учетными данными и входом в систему для провайдеров. ```bash opencode auth [command] ``` --- #### login opencode использует список провайдеров с [Models.dev](https://models.dev), поэтому вы можете использовать `opencode auth login` для настройки ключей API для любого поставщика, которого вы хотите использовать. Это хранится в `~/.local/share/opencode/auth.json`. ```bash opencode auth login ``` Когда opencode запускается, он загружает поставщиков из файла учетных данных. И если в ваших средах определены какие-либо ключи или файл `.env` в вашем проекте. --- #### list Перечисляет всех проверенных поставщиков, которые хранятся в файле учетных данных. ```bash opencode auth list ``` Или короткая версия. ```bash opencode auth ls ``` --- #### logout Выключает вас из провайдера, удаляя его из файла учетных данных. ```bash opencode auth logout ``` --- ### github Управляйте агентом GitHub для автоматизации репозитория. ```bash opencode github [command] ``` --- #### install Установите агент GitHub в свой репозиторий. ```bash opencode github install ``` Это настроит необходимый рабочий процесс GitHub Actions и проведет вас через процесс настройки. [Подробнее](/docs/github). --- #### run Запустите агент GitHub. Обычно это используется в действиях GitHub. ```bash opencode github run ``` ##### Флаги | Флаг | Описание | | --------- | --------------------------------------------- | | `--event` | Имитирующее событие GitHub для запуска агента | | `--token` | Токен личного доступа GitHub | --- ### mcp Управляйте серверами протокола контекста модели. ```bash opencode mcp [command] ``` --- #### add Добавьте сервер MCP в свою конфигурацию. ```bash opencode mcp add ``` Эта команда поможет вам добавить локальный или удаленный сервер MCP. --- #### list Перечислите все настроенные серверы MCP и состояние их подключения. ```bash opencode mcp list ``` Или используйте короткую версию. ```bash opencode mcp ls ``` --- #### auth Аутентификация с помощью сервера MCP с поддержкой OAuth. ```bash opencode mcp auth [name] ``` Если вы не укажете имя сервера, вам будет предложено выбрать один из доступных серверов с поддержкой OAuth. Вы также можете перечислить серверы с поддержкой OAuth и их статус аутентификации. ```bash opencode mcp auth list ``` Или используйте короткую версию. ```bash opencode mcp auth ls ``` --- #### logout Удалите учетные данные OAuth для сервера MCP. ```bash opencode mcp logout [name] ``` --- #### debug Отладка проблем с подключением OAuth для сервера MCP. ```bash opencode mcp debug ``` --- ### models Перечислите все доступные модели от настроенных поставщиков. ```bash opencode models [provider] ``` Эта команда отображает все модели, доступные у настроенных вами поставщиков, в формате `provider/model`. Это полезно для определения точного названия модели, которое будет использоваться в [вашем config](/docs/config/). При желании вы можете передать идентификатор поставщика, чтобы фильтровать модели по этому поставщику. ```bash opencode models anthropic ``` #### Флаги | Флаг | Описание | | ----------- | --------------------------------------------------------------------------------- | | `--refresh` | Обновите кеш моделей на сайте models.dev. | | `--verbose` | Используйте более подробный вывод модели (включая метаданные, такие как затраты). | Используйте флаг `--refresh` для обновления списка кэшированных моделей. Это полезно, когда к поставщику добавлены новые модели и вы хотите увидеть их в opencode. ```bash opencode models --refresh ``` --- ### run Запустите opencode в неинтерактивном режиме, передав приглашение напрямую. ```bash opencode run [message..] ``` Это полезно для создания сценариев, автоматизации или когда вам нужен быстрый ответ без запуска полного TUI. Например. ```bash "opencode run" opencode run Explain the use of context in Go ``` Вы также можете подключиться к работающему экземпляру `opencode serve`, чтобы избежать холодной загрузки сервера MCP при каждом запуске: ```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" ``` #### Флаги | Флаг | Короткий | Описание | | ------------ | -------- | -------------------------------------------------------------------------------- | | `--command` | | Команда для запуска, используйте сообщение для аргументов | | `--continue` | `-c` | Продолжить последний сеанс | | `--session` | `-s` | Идентификатор сеанса для продолжения | | `--fork` | | Разветвить сеанс при продолжении (используйте с `--continue` или `--session`) | | `--share` | | Поделиться сеансом | | `--model` | `-m` | Модель для использования в виде поставщика/модели. | | `--agent` | | Агент для использования | | `--file` | `-f` | Файл(ы) для прикрепления к сообщению | | `--format` | | Формат: по умолчанию (отформатированный) или json (необработанные события JSON). | | `--title` | | Название сеанса (использует усеченное приглашение, если значение не указано) | | `--attach` | | Подключитесь к работающему серверу opencode (например, http://localhost:4096) | | `--port` | | Порт локального сервера (по умолчанию случайный порт) | --- ### serve Запустите автономный сервер opencode для доступа к API. Полный HTTP-интерфейс можно найти в [server docs](/docs/server). ```bash opencode serve ``` При этом запускается HTTP-сервер, который обеспечивает доступ API к функциям opencode без интерфейса TUI. Установите `OPENCODE_SERVER_PASSWORD`, чтобы включить базовую аутентификацию HTTP (имя пользователя по умолчанию — `opencode`). #### Флаги | Флаг | Описание | | ------------ | ------------------------------------------------------------- | | `--port` | Порт для прослушивания | | `--hostname` | Имя хоста для прослушивания | | `--mdns` | Включить обнаружение mDNS | | `--cors` | Дополнительные источники браузера, позволяющие разрешить CORS | --- ### session Управляйте сессиями opencode. ```bash opencode session [command] ``` --- #### list Перечислите все сеансы opencode. ```bash opencode session list ``` ##### Флаги | Флаг | Короткий | Описание | | ------------- | -------- | ----------------------------------------- | | `--max-count` | `-n` | Ограничить N последних сеансов. | | `--format` | | Формат вывода: таблица или json (таблица) | --- ### stats Покажите статистику использования токенов и затрат для ваших сеансов opencode. ```bash opencode stats ``` #### Флаги | Флаг | Описание | | ----------- | ---------------------------------------------------------------------------------------------------------- | | `--days` | Показать статистику за последние N дней (все время) | | `--tools` | Количество инструментов для отображения (все) | | `--models` | Показать разбивку по использованию модели (по умолчанию скрыто). Передайте номер, чтобы показать верхнюю N | | `--project` | Фильтровать по проекту (все проекты, пустая строка: текущий проект) | --- ### export Экспортируйте данные сеанса в формате JSON. ```bash opencode export [sessionID] ``` Если вы не укажете идентификатор сеанса, вам будет предложено выбрать один из доступных сеансов. --- ### import Импортируйте данные сеанса из файла JSON или URL-адреса общего ресурса opencode. ```bash opencode import ``` Вы можете импортировать из локального файла или URL-адреса общего ресурса opencode. ```bash opencode import session.json opencode import https://opncd.ai/s/abc123 ``` --- ### web Запустите автономный сервер opencode с веб-интерфейсом. ```bash opencode web ``` При этом запускается HTTP-сервер и открывается веб-браузер для доступа к opencode через веб-интерфейс. Установите `OPENCODE_SERVER_PASSWORD`, чтобы включить базовую аутентификацию HTTP (имя пользователя по умолчанию — `opencode`). #### Флаги | Флаг | Описание | | ------------ | ------------------------------------------------------------- | | `--port` | Порт для прослушивания | | `--hostname` | Имя хоста для прослушивания | | `--mdns` | Включить обнаружение mDNS | | `--cors` | Дополнительные источники браузера, позволяющие разрешить CORS | --- ### acp Запустите сервер ACP (агент-клиентский протокол). ```bash opencode acp ``` Эта команда запускает сервер ACP, который обменивается данными через stdin/stdout с использованием nd-JSON. #### Флаги | Флаг | Описание | | ------------ | --------------------------- | | `--cwd` | Рабочий каталог | | `--port` | Порт для прослушивания | | `--hostname` | Имя хоста для прослушивания | --- ### uninstall Удалите opencode и удалите все связанные файлы. ```bash opencode uninstall ``` #### Флаги | Флаг | Короткий | Описание | | --------------- | -------- | ------------------------------------------ | | `--keep-config` | `-c` | Сохраняйте файлы конфигурации | | `--keep-data` | `-d` | Храните данные сеанса и снимки | | `--dry-run` | | Покажите, что было бы удалено без удаления | | `--force` | `-f` | Пропустить запросы подтверждения | --- ### upgrade Обновляет opencode до последней версии или определенной версии. ```bash opencode upgrade [target] ``` Чтобы обновиться до последней версии. ```bash opencode upgrade ``` Для обновления до определенной версии. ```bash opencode upgrade v0.1.48 ``` #### Флаги | Флаг | Короткий | Описание | | ---------- | -------- | --------------------------------------------------------- | | `--method` | `-m` | Используемый метод установки: local, npm, pnpm, bun, brew | --- ## Глобальные флаги CLI opencode принимает следующие глобальные флаги. | Флаг | Короткий | Описание | | -------------- | -------- | ------------------------------------------ | | `--help` | `-h` | Отобразить справку | | `--version` | `-v` | Распечатать номер версии | | `--print-logs` | | Печать журналов в stderr | | `--log-level` | | Уровень журнала (DEBUG, INFO, WARN, ERROR) | --- ## Переменные среды opencode можно настроить с помощью переменных среды. | Переменная | Тип | Описание | | ------------------------------------- | ------------------- | -------------------------------------------------------------------------------- | | `OPENCODE_AUTO_SHARE` | логическое значение | Автоматически делиться сеансами | | `OPENCODE_GIT_BASH_PATH` | строка | Путь к исполняемому файлу Git Bash в Windows | | `OPENCODE_CONFIG` | строка | Путь к файлу конфигурации | | `OPENCODE_CONFIG_DIR` | строка | Путь к каталогу конфигурации | | `OPENCODE_CONFIG_CONTENT` | строка | Встроенное содержимое конфигурации json | | `OPENCODE_DISABLE_AUTOUPDATE` | логическое значение | Отключить автоматическую проверку обновлений | | `OPENCODE_DISABLE_PRUNE` | логическое значение | Отключить удаление старых данных | | `OPENCODE_DISABLE_TERMINAL_TITLE` | логическое значение | Отключить автоматическое обновление заголовка терминала | | `OPENCODE_PERMISSION` | строка | Встроенная конфигурация разрешений json | | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | логическое значение | Отключить плагины по умолчанию | | `OPENCODE_DISABLE_LSP_DOWNLOAD` | логическое значение | Отключить автоматическую загрузку LSP-сервера | | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | логическое значение | Включить экспериментальные модели | | `OPENCODE_DISABLE_AUTOCOMPACT` | логическое значение | Отключить автоматическое сжатие контекста | | `OPENCODE_DISABLE_CLAUDE_CODE` | логическое значение | Отключить чтение из `.claude` (подсказка + навыки) | | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | логическое значение | Отключить чтение `~/.claude/CLAUDE.md` | | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | логическое значение | Отключить загрузку `.claude/skills` | | `OPENCODE_DISABLE_MODELS_FETCH` | логическое значение | Отключить получение моделей из удаленных источников | | `OPENCODE_FAKE_VCS` | строка | Поддельный поставщик VCS для целей тестирования | | `OPENCODE_DISABLE_FILETIME_CHECK` | логическое значение | Отключить проверку времени файла для оптимизации | | `OPENCODE_CLIENT` | строка | Идентификатор клиента (по умолчанию `cli`) | | `OPENCODE_ENABLE_EXA` | логическое значение | Включить инструменты веб-поиска Exa | | `OPENCODE_SERVER_PASSWORD` | строка | Включить базовую аутентификацию для `serve`/`web` | | `OPENCODE_SERVER_USERNAME` | строка | Переопределить имя пользователя базовой аутентификации (по умолчанию `opencode`) | | `OPENCODE_MODELS_URL` | строка | Пользовательский URL-адрес для получения конфигурации модели | --- ### Экспериментальные функции Эти переменные среды позволяют использовать экспериментальные функции, которые могут быть изменены или удалены. | Переменная | Тип | Описание | | ----------------------------------------------- | ------------------- | ------------------------------------------------------ | | `OPENCODE_EXPERIMENTAL` | логическое значение | Включить все экспериментальные функции | | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | логическое значение | Включить обнаружение значков | | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | логическое значение | Отключить копирование при выборе в TUI | | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | число | Таймаут по умолчанию для команд bash в мс | | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | число | Максимальное количество токенов вывода для ответов LLM | | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | логическое значение | Включить просмотр файлов для всего каталога | | `OPENCODE_EXPERIMENTAL_OXFMT` | логическое значение | Включить форматтер oxfmt | | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | логическое значение | Включить экспериментальный инструмент LSP | | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | логическое значение | Отключить просмотрщик файлов | | `OPENCODE_EXPERIMENTAL_EXA` | логическое значение | Включить экспериментальные функции Exa | | `OPENCODE_EXPERIMENTAL_LSP_TY` | логическое значение | Включить экспериментальную проверку типа LSP | | `OPENCODE_EXPERIMENTAL_MARKDOWN` | логическое значение | Включить экспериментальные функции Markdown | | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | логическое значение | Включить режим плана |