К содержимому
tui

CLI

CLI opencode по умолчанию запускает TUI при запуске без каких-либо аргументов.

Терминал
opencode

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

Терминал
opencode run "Explain how closures work in JavaScript"

Запустите TUI opencode.

Терминал
opencode [project]

Флаги

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

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


Подключите терминал к уже работающему внутреннему серверу opencode, запущенному с помощью команд serve или web.

Терминал
opencode attach [url]

Это позволяет использовать TUI с удаленным сервером opencode. Например:

Терминал
# 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
--continue-cПродолжить последний сеанс
--session-sИдентификатор сеанса для продолжения
--forkСоздать ответвление сеанса при продолжении (используйте с --continue или --session)
--password-pПароль базовой аутентификации (по умолчанию OPENCODE_SERVER_PASSWORD)
--username-uИмя пользователя базовой аутентификации (по умолчанию OPENCODE_SERVER_USERNAME или opencode)

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

Терминал
opencode auth [command]

login

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

Терминал
opencode auth login

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


list

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

Терминал
opencode auth list

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

Терминал
opencode auth ls

logout

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

Терминал
opencode auth logout

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

Терминал
opencode github [command]

install

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

Терминал
opencode github install

Это настроит необходимый рабочий процесс GitHub Actions и проведет вас через процесс настройки. Подробнее.


run

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

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

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

Терминал
opencode mcp [command]

add

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

Терминал
opencode mcp add

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


list

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

Терминал
opencode mcp list

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

Терминал
opencode mcp ls

auth

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

Терминал
opencode mcp auth [name]

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

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

Терминал
opencode mcp auth list

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

Терминал
opencode mcp auth ls

logout

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

Терминал
opencode mcp logout [name]

debug

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

Терминал
opencode mcp debug <name>

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

Терминал
opencode models [provider]

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

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

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

Терминал
opencode models anthropic

Флаги

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

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

Терминал
opencode models --refresh

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

Терминал
opencode run [message..]

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

Терминал
opencode run Explain the use of context in Go

Вы также можете подключиться к работающему экземпляру opencode serve, чтобы избежать холодной загрузки сервера MCP при каждом запуске:

Терминал
# 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)
--model-mМодель для использования в виде поставщика/модели.
--agentАгент для использования
--file-fФайл(ы) для прикрепления к сообщению
--formatФормат: по умолчанию (отформатированный) или json (необработанные события JSON).
--titleНазвание сеанса (использует усеченное приглашение, если значение не указано)
--attachПодключитесь к работающему серверу opencode (например, http://localhost:4096)
--password-pПароль базовой аутентификации (по умолчанию OPENCODE_SERVER_PASSWORD)
--username-uИмя пользователя базовой аутентификации (по умолчанию OPENCODE_SERVER_USERNAME или opencode)
--dirКаталог для выполнения или путь на удалённом сервере при подключении
--variantВариант модели (уровень рассуждений для провайдера)
--thinkingПоказать блоки размышлений
--portПорт локального сервера (по умолчанию случайный порт)

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

Терминал
opencode serve

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

Флаги

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

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

Терминал
opencode session [command]

list

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

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

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

Терминал
opencode stats

Флаги

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

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

Терминал
opencode export [sessionID]

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


Импортируйте данные сеанса из файла JSON.

Терминал
opencode import <file>
Терминал
opencode import session.json

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

Терминал
opencode web

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

Флаги

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

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

Терминал
opencode acp

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

Флаги

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

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

Терминал
opencode uninstall

Флаги

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

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

Терминал
opencode upgrade [target]

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

Терминал
opencode upgrade

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

Терминал
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_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логическое значениеВключить поддержку рабочих областей