Files
tf_code/packages/web/src/content/docs/ru/cli.mdx

604 lines
27 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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` | | Имя хоста для прослушивания |
---
## Команды
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
```
#### Флаги
| Флаг | Короткий | Описание |
| ----------- | -------- | ------------------------------------ |
| `--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 |
---
## Глобальные флаги
CLI opencode принимает следующие глобальные флаги.
| Флаг | Короткий | Описание |
| -------------- | -------- | ------------------------------------------ |
| `--help` | `-h` | Отобразить справку |
| `--version` | `-v` | Распечатать номер версии |
| `--print-logs` | | Печать журналов в stderr |
| `--log-level` | | Уровень журнала (DEBUG, INFO, WARN, ERROR) |
---
## Переменные среды
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` | логическое значение | Включить экспериментальные функции Markdown |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | логическое значение | Включить режим плана |