Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617---title: CLIdescription: Параметры и команда opencode CLI.---
import { Tabs, TabItem } from "@astrojs/starlight/components"
CLI opencode по умолчанию запускает [TUI](/docs/tui) при запуске без каких-либо аргументов.
```bashopencode```
Но он также принимает команды, описанные на этой странице. Это позволяет вам программно взаимодействовать с opencode.
```bashopencode run "Explain how closures work in JavaScript"```
---
### tui
Запустите TUI opencode.
```bashopencode [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.
```bashopencode agent [command]```
---
### attach
Подключите терминал к уже работающему внутреннему серверу opencode, запущенному с помощью команд `serve` или `web`.
```bashopencode attach [url]```
Это позволяет использовать TUI с удаленным сервером opencode. Например:
```bash# Start the backend server for web/mobile accessopencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backendopencode 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
Создайте нового агента с пользовательской конфигурацией.
```bashopencode agent create```
Эта команда поможет вам создать новый агент с настраиваемой системной подсказкой и настройкой инструмента.
---
#### list
Перечислите всех доступных агентов.
```bashopencode agent list```
---
### auth
Команда для управления учетными данными и входом в систему для провайдеров.
```bashopencode auth [command]```
---
#### login
opencode использует список провайдеров с [Models.dev](https://models.dev), поэтому вы можете использовать `opencode auth login` для настройки ключей API для любого поставщика, которого вы хотите использовать. Это хранится в `~/.local/share/opencode/auth.json`.
```bashopencode auth login```
Когда opencode запускается, он загружает поставщиков из файла учетных данных. И если в ваших средах определены какие-либо ключи или файл `.env` в вашем проекте.
---
#### list
Перечисляет всех проверенных поставщиков, которые хранятся в файле учетных данных.
```bashopencode auth list```
Или короткая версия.
```bashopencode auth ls```
---
#### logout
Выключает вас из провайдера, удаляя его из файла учетных данных.
```bashopencode auth logout```
---
### github
Управляйте агентом GitHub для автоматизации репозитория.
```bashopencode github [command]```
---
#### install
Установите агент GitHub в свой репозиторий.
```bashopencode github install```
Это настроит необходимый рабочий процесс GitHub Actions и проведет вас через процесс настройки. [Подробнее](/docs/github).
---
#### run
Запустите агент GitHub. Обычно это используется в действиях GitHub.
```bashopencode github run```
##### Флаги
| Флаг | Описание || ------------------------------------- | --------------------------------------------- || <nobr><code>{"--event"}</code></nobr> | Имитирующее событие GitHub для запуска агента || <nobr><code>{"--token"}</code></nobr> | Токен личного доступа GitHub |
---
### mcp
Управляйте серверами протокола контекста модели.
```bashopencode mcp [command]```
---
#### add
Добавьте сервер MCP в свою конфигурацию.
```bashopencode mcp add```
Эта команда поможет вам добавить локальный или удаленный сервер MCP.
---
#### list
Перечислите все настроенные серверы MCP и состояние их подключения.
```bashopencode mcp list```
Или используйте короткую версию.
```bashopencode mcp ls```
---
#### auth
Аутентификация с помощью сервера MCP с поддержкой OAuth.
```bashopencode mcp auth [name]```
Если вы не укажете имя сервера, вам будет предложено выбрать один из доступных серверов с поддержкой OAuth.
Вы также можете перечислить серверы с поддержкой OAuth и их статус аутентификации.
```bashopencode mcp auth list```
Или используйте короткую версию.
```bashopencode mcp auth ls```
---
#### logout
Удалите учетные данные OAuth для сервера MCP.
```bashopencode mcp logout [name]```
---
#### debug
Отладка проблем с подключением OAuth для сервера MCP.
```bashopencode mcp debug <name>```
---
### models
Перечислите все доступные модели от настроенных поставщиков.
```bashopencode models [provider]```
Эта команда отображает все модели, доступные у настроенных вами поставщиков, в формате `provider/model`.
Это полезно для определения точного названия модели, которое будет использоваться в [вашем config](/docs/config/).
При желании вы можете передать идентификатор поставщика, чтобы фильтровать модели по этому поставщику.
```bashopencode models anthropic```
#### Флаги
| Флаг | Описание || --------------------------------------- | --------------------------------------------------------------------------------- || <nobr><code>{"--refresh"}</code></nobr> | Обновите кеш моделей на сайте models.dev. || <nobr><code>{"--verbose"}</code></nobr> | Используйте более подробный вывод модели (включая метаданные, такие как затраты). |
Используйте флаг `--refresh` для обновления списка кэшированных моделей. Это полезно, когда к поставщику добавлены новые модели и вы хотите увидеть их в opencode.
```bashopencode models --refresh```
---
### run
Запустите opencode в неинтерактивном режиме, передав приглашение напрямую.
```bashopencode 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 terminalopencode serve
# In another terminal, run commands that attach to itopencode 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).
```bashopencode 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.
```bashopencode session [command]```
---
#### list
Перечислите все сеансы opencode.
```bashopencode session list```
##### Флаги
| Флаг | Короткий | Описание || ----------------------------------------- | -------- | ----------------------------------------- || <nobr><code>{"--max-count"}</code></nobr> | `-n` | Ограничить N последних сеансов. || <nobr><code>{"--format"}</code></nobr> | | Формат вывода: таблица или json (таблица) |
---
### stats
Покажите статистику использования токенов и затрат для ваших сеансов opencode.
```bashopencode 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.
```bashopencode export [sessionID]```
Если вы не укажете идентификатор сеанса, вам будет предложено выбрать один из доступных сеансов.
---
### import
Импортируйте данные сеанса из файла JSON или URL-адреса общего ресурса opencode.
```bashopencode import <file>```
Вы можете импортировать из локального файла или URL-адреса общего ресурса opencode.
```bashopencode import session.jsonopencode import https://opncd.ai/s/abc123```
---
### web
Запустите автономный сервер opencode с веб-интерфейсом.
```bashopencode 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 (агент-клиентский протокол).
```bashopencode acp```
Эта команда запускает сервер ACP, который обменивается данными через stdin/stdout с использованием nd-JSON.
#### Флаги
| Флаг | Описание || ---------------------------------------- | --------------------------- || <nobr><code>{"--cwd"}</code></nobr> | Рабочий каталог || <nobr><code>{"--port"}</code></nobr> | Порт для прослушивания || <nobr><code>{"--hostname"}</code></nobr> | Имя хоста для прослушивания |
---
### uninstall
Удалите opencode и удалите все связанные файлы.
```bashopencode 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 до последней версии или определенной версии.
```bashopencode upgrade [target]```
Чтобы обновиться до последней версии.
```bashopencode upgrade```
Для обновления до определенной версии.
```bashopencode 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_EVENT_SYSTEM` | логическое значение | Включить экспериментальную систему событий || `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | логическое значение | Включить нативный путь запросов LLM || `OPENCODE_EXPERIMENTAL_PARALLEL` | логическое значение | Включить параллельное выполнение веб-поиска || `OPENCODE_EXPERIMENTAL_SCOUT` | логическое значение | Включить субагент Scout || `OPENCODE_EXPERIMENTAL_WORKSPACES` | логическое значение | Включить поддержку рабочих областей |