---
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]
```

#### Флаги

| Флаг                                     | Короткий | Описание                                                                      |
| ---------------------------------------- | -------- | ----------------------------------------------------------------------------- |
| <nobr><code>{"--continue"}</code></nobr> | `-c`     | Продолжить последний сеанс                                                    |
| <nobr><code>{"--session"}</code></nobr>  | `-s`     | Идентификатор сеанса для продолжения                                          |
| <nobr><code>{"--fork"}</code></nobr>     |          | Разветвить сеанс при продолжении (используйте с `--continue` или `--session`) |
| <nobr><code>{"--prompt"}</code></nobr>   |          | Промпт для использования                                                      |
| <nobr><code>{"--model"}</code></nobr>    | `-m`     | Модель для использования в виде поставщика/модели.                            |
| <nobr><code>{"--agent"}</code></nobr>    |          | Агент для использования                                                       |
| <nobr><code>{"--port"}</code></nobr>     |          | Порт для прослушивания                                                        |
| <nobr><code>{"--hostname"}</code></nobr> |          | Имя хоста для прослушивания                                                   |

---

## Команды

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
```

#### Флаги

| Флаг                                     | Короткий | Описание                                                                                         |
| ---------------------------------------- | -------- | ------------------------------------------------------------------------------------------------ |
| <nobr><code>{"--dir"}</code></nobr>      |          | Рабочий каталог для запуска TUI                                                                  |
| <nobr><code>{"--continue"}</code></nobr> | `-c`     | Продолжить последний сеанс                                                                       |
| <nobr><code>{"--session"}</code></nobr>  | `-s`     | Идентификатор сеанса для продолжения                                                             |
| <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

Команда для управления учетными данными и входом в систему для провайдеров.

```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
```

##### Флаги

| Флаг                                  | Описание                                      |
| ------------------------------------- | --------------------------------------------- |
| <nobr><code>{"--event"}</code></nobr> | Имитирующее событие GitHub для запуска агента |
| <nobr><code>{"--token"}</code></nobr> | Токен личного доступа 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 <name>
```

---

### models

Перечислите все доступные модели от настроенных поставщиков.

```bash
opencode models [provider]
```

Эта команда отображает все модели, доступные у настроенных вами поставщиков, в формате `provider/model`.

Это полезно для определения точного названия модели, которое будет использоваться в [вашем config](/docs/config/).

При желании вы можете передать идентификатор поставщика, чтобы фильтровать модели по этому поставщику.

```bash
opencode models anthropic
```

#### Флаги

| Флаг                                    | Описание                                                                          |
| --------------------------------------- | --------------------------------------------------------------------------------- |
| <nobr><code>{"--refresh"}</code></nobr> | Обновите кеш моделей на сайте models.dev.                                         |
| <nobr><code>{"--verbose"}</code></nobr> | Используйте более подробный вывод модели (включая метаданные, такие как затраты). |

Используйте флаг `--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"
```

#### Флаги

| Флаг                                     | Короткий | Описание                                                                                         |
| ---------------------------------------- | -------- | ------------------------------------------------------------------------------------------------ |
| <nobr><code>{"--command"}</code></nobr>  |          | Команда для запуска, используйте сообщение для аргументов                                        |
| <nobr><code>{"--continue"}</code></nobr> | `-c`     | Продолжить последний сеанс                                                                       |
| <nobr><code>{"--session"}</code></nobr>  | `-s`     | Идентификатор сеанса для продолжения                                                             |
| <nobr><code>{"--fork"}</code></nobr>     |          | Разветвить сеанс при продолжении (используйте с `--continue` или `--session`)                    |
| <nobr><code>{"--share"}</code></nobr>    |          | Поделиться сеансом                                                                               |
| <nobr><code>{"--model"}</code></nobr>    | `-m`     | Модель для использования в виде поставщика/модели.                                               |
| <nobr><code>{"--agent"}</code></nobr>    |          | Агент для использования                                                                          |
| <nobr><code>{"--file"}</code></nobr>     | `-f`     | Файл(ы) для прикрепления к сообщению                                                             |
| <nobr><code>{"--format"}</code></nobr>   |          | Формат: по умолчанию (отформатированный) или 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

Запустите автономный сервер opencode для доступа к API. Полный HTTP-интерфейс можно найти в [server docs](/docs/server).

```bash
opencode serve
```

При этом запускается HTTP-сервер, который обеспечивает доступ API к функциям opencode без интерфейса TUI. Установите `OPENCODE_SERVER_PASSWORD`, чтобы включить базовую аутентификацию HTTP (имя пользователя по умолчанию — `opencode`).

#### Флаги

| Флаг                                     | Описание                                                      |
| ---------------------------------------- | ------------------------------------------------------------- |
| <nobr><code>{"--port"}</code></nobr>     | Порт для прослушивания                                        |
| <nobr><code>{"--hostname"}</code></nobr> | Имя хоста для прослушивания                                   |
| <nobr><code>{"--mdns"}</code></nobr>     | Включить обнаружение mDNS                                     |
| <nobr><code>{"--cors"}</code></nobr>     | Дополнительные источники браузера, позволяющие разрешить 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>    |          | Формат вывода: таблица или json (таблица) |

---

### 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]
```

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

---

### import

Импортируйте данные сеанса из файла JSON или URL-адреса общего ресурса opencode.

```bash
opencode import <file>
```

Вы можете импортировать из локального файла или 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`).

#### Флаги

| Флаг                                     | Описание                                                      |
| ---------------------------------------- | ------------------------------------------------------------- |
| <nobr><code>{"--port"}</code></nobr>     | Порт для прослушивания                                        |
| <nobr><code>{"--hostname"}</code></nobr> | Имя хоста для прослушивания                                   |
| <nobr><code>{"--mdns"}</code></nobr>     | Включить обнаружение mDNS                                     |
| <nobr><code>{"--cors"}</code></nobr>     | Дополнительные источники браузера, позволяющие разрешить CORS |

---

### acp

Запустите сервер ACP (агент-клиентский протокол).

```bash
opencode acp
```

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

#### Флаги

| Флаг                                     | Описание                    |
| ---------------------------------------- | --------------------------- |
| <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`     | Используемый метод установки: local, npm, pnpm, bun, brew |

---

## Глобальные флаги

CLI opencode принимает следующие глобальные флаги.

| Флаг                                       | Короткий | Описание                                   |
| ------------------------------------------ | -------- | ------------------------------------------ |
| <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`                 | логическое значение | Автоматически делиться сеансами                                                  |
| `OPENCODE_GIT_BASH_PATH`              | строка              | Путь к исполняемому файлу Git Bash в Windows                                     |
| `OPENCODE_CONFIG`                     | строка              | Путь к файлу конфигурации                                                        |
| `OPENCODE_TUI_CONFIG`                 | строка              | Путь к файлу конфигурации TUI                                                    |
| `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_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`                  | логическое значение | Включить TY LSP для файлов python                      |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE`               | логическое значение | Включить режим плана                                   |
| `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS`    | логическое значение | Включить фоновые задачи субагентов                     |
| `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM`            | логическое значение | Включить экспериментальную систему событий             |
| `OPENCODE_EXPERIMENTAL_NATIVE_LLM`              | логическое значение | Включить нативный путь запросов LLM                    |
| `OPENCODE_EXPERIMENTAL_PARALLEL`                | логическое значение | Включить параллельное выполнение веб-поиска            |
| `OPENCODE_EXPERIMENTAL_SCOUT`                   | логическое значение | Включить субагент Scout                                |
| `OPENCODE_EXPERIMENTAL_WORKSPACES`              | логическое значение | Включить поддержку рабочих областей                    |
