---
title: интерфейс командной строки
description: Параметры и команда OpenCode CLI.
---

import { Tabs, TabItem } from "@astrojs/starlight/components"

Интерфейс командной строки OpenCode по умолчанию запускает [TUI](/docs/tui) при запуске без каких-либо аргументов.

```bash
opencode
```

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

```bash
opencode run "Explain how closures work in JavaScript"
```

---

### туй

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

```bash
opencode [project]
```

#### Флаги

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

---

## Команды

Интерфейс командной строки OpenCode также имеет следующие команды.

---

### агент

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

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

---

### прикреплять

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

---

#### создавать

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

```bash
opencode agent create
```

Эта команда поможет вам создать новый агент с настраиваемой системной подсказкой и настройкой инструмента.

---

#### список

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

```bash
opencode agent list
```

---

### авторизация

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

```bash
opencode auth [command]
```

---

#### авторизоваться

OpenCode основан на списке поставщиков по адресу [Models.dev](https://models.dev)), поэтому вы можете использовать `opencode auth login` для настройки ключей API для любого поставщика, которого вы хотите использовать. Это хранится в `~/.local/share/opencode/auth.json`.

```bash
opencode auth login
```

Когда OpenCode запускается, он загружает поставщиков из файла учетных данных. И если в ваших средах определены какие-либо ключи или файл `.env` в вашем проекте.

---

#### список

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

```bash
opencode auth list
```

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

```bash
opencode auth ls
```

---

#### выход из системы

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

```bash
opencode auth logout
```

---

### github

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

```bash
opencode github [command]
```

---

#### установить

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

```bash
opencode github install
```

Это настроит необходимый рабочий процесс GitHub Actions и проведет вас через процесс настройки. [Подробнее](/docs/github).

---

#### бегать

Запустите агент GitHub. Обычно это используется в действиях GitHub.

```bash
opencode github run
```

##### Флаги

| Флаг | Описание |
| --------- | -------------------------------------- |
| `--event` | Имитирующее событие GitHub для запуска агента |
| `--token` | Токен личного доступа GitHub |

---

### мкп

Управляйте серверами протокола контекста модели.

```bash
opencode mcp [command]
```

---

#### добавлять

Добавьте сервер MCP в свою конфигурацию.

```bash
opencode mcp add
```

Эта команда поможет вам добавить локальный или удаленный сервер MCP.

---

#### список

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

```bash
opencode mcp list
```

Или используйте короткую версию.

```bash
opencode mcp ls
```

---

#### авторизация

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

```bash
opencode mcp auth [name]
```

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

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

```bash
opencode mcp auth list
```

Или используйте короткую версию.

```bash
opencode mcp auth ls
```

---

#### выход из системы

Удалите учетные данные OAuth для сервера MCP.

```bash
opencode mcp logout [name]
```

---

#### отлаживать

Отладка проблем с подключением OAuth для сервера MCP.

```bash
opencode mcp debug <name>
```

---

### модели

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

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

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

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

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

```bash
opencode models anthropic
```

#### Флаги

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

Используйте флаг `--refresh` для обновления списка кэшированных моделей. Это полезно, когда к поставщику добавлены новые модели и вы хотите увидеть их в OpenCode.

```bash
opencode models --refresh
```

---

### бегать

Запустите открытый код в неинтерактивном режиме, передав приглашение напрямую.

```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` | Идентификатор сеанса для продолжения |
| `--share` |       | Поделиться сеансом |
| `--model` | `-m` | Модель для использования в виде поставщика/модели. |
| `--agent` |       | Агент для использования |
| `--file` | `-f` | Файл(ы) для прикрепления к сообщению |
| `--format` |       | Формат: по умолчанию (отформатированный) или json (необработанные события JSON). |
| `--title` |       | Название сеанса (использует усеченное приглашение, если значение не указано) |
| `--attach` |       | Подключитесь к работающему серверу открытого кода (например, http://localhost:4096) |
| `--port` |       | Порт локального сервера (по умолчанию случайный порт) |

---

### служить

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

```bash
opencode serve
```

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

#### Флаги

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

---

### сессия

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

```bash
opencode session [command]
```

---

#### список

Перечислите все сеансы OpenCode.

```bash
opencode session list
```

##### Флаги

| Флаг | Короткий | Описание |
| ------------- | ----- | ------------------------------------ |
| `--max-count` | `-n` | Ограничить N последних сеансов. |
| `--format` |       | Формат вывода: таблица или json (таблица) |

---

### статистика

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

```bash
opencode stats
```

#### Флаги

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

---

### экспорт

Экспортируйте данные сеанса в формате JSON.

```bash
opencode export [sessionID]
```

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

---

### импортировать

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

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

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

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

---

### сеть

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

```bash
opencode web
```

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

#### Флаги

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

---

### акп

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

```bash
opencode acp
```

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

#### Флаги

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

---

### удалить

Удалите OpenCode и удалите все связанные файлы.

```bash
opencode uninstall
```

#### Флаги

| Флаг | Короткий | Описание |
| --------------- | ----- | ------------------------------------------- |
| `--keep-config` | `-c` | Сохраняйте файлы конфигурации |
| `--keep-data` | `-d` | Храните данные сеанса и снимки |
| `--dry-run` |       | Покажите, что было бы удалено без удаления |
| `--force` | `-f` | Пропустить запросы подтверждения |

---

### обновление

Обновляет открытый код до последней версии или определенной версии.

```bash
opencode upgrade [target]
```

Чтобы обновиться до последней версии.

```bash
opencode upgrade
```

Для обновления до определенной версии.

```bash
opencode upgrade v0.1.48
```

#### Флаги

| Флаг | Короткий | Описание |
| ---------- | ----- | ----------------------------------------------------------------- |
| `--method` | `-m` | Используемый метод установки; локон, НПМ, ПНПМ, булочка, заваривание |

---

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

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

| Флаг | Короткий | Описание |
| -------------- | ----- | ------------------------------------ |
| `--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` | логическое значение | Отключить автоматическое обновление названия терминала |
| `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` | логическое значение | Включить режим плана |
