mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-08 17:59:09 +00:00
602 lines
27 KiB
Plaintext
602 lines
27 KiB
Plaintext
---
|
||
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` | логическое значение | Включить режим плана |
|