---
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` |          | Имя хоста для прослушивания                                                   |

---

## Commands

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

---

### agent

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

```bash
opencode agent [command]
```

---

### attach

Подключите terminal к уже работающему внутреннему серверу 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 <name>
```

---

### 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 <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`).

#### Флаги

| Флаг         | Описание                                                      |
| ------------ | ------------------------------------------------------------- |
| `--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 |

---

## Global flags

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

| Флаг           | Короткий | Описание                                                      |
| -------------- | -------- | ------------------------------------------------------------- |
| `--help`       | `-h`     | Отобразить справку                                            |
| `--version`    | `-v`     | Распечатать номер версии                                      |
| `--print-logs` |          | Печать журналов в stderr                                      |
| `--log-level`  |          | Уровень журнала (ОТЛАДКА, ИНФОРМАЦИЯ, ПРЕДУПРЕЖДЕНИЕ, ОШИБКА) |

---

## Переменные среды

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`     | логическое значение | Отключить автоматическое обновление заголовка terminal                           |
| `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`                | логическое значение | Включить экспериментальные функции уценки              |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE`               | логическое значение | Включить режим плана                                   |
