# Справочник по конфигурации

Поля facade.json, их значения по умолчанию и порядок применения в Facade.

## Поля верхнего уровня

Файл открывается через [настройки агентов](https://facadecode.com/ru/docs/settings/). Он допускает комментарии и висячие запятые в JSON. Пустой объект означает значения по умолчанию.

| Поле | Значение | По умолчанию |
| --- | --- | --- |
| `yolo` | Логическое значение, управляющее подтверждениями CLI и доступом агентов. | `true` |
| `names` | Список предлагаемых имён агентов, без пустых строк. | Встроенный список имён |
| `clis` | Объект со встроенными переопределениями и дополнительными именованными записями. | `{}`; встроенные CLI остаются доступными |
| `$schema` | Строка для метаданных схемы в редакторе. | Не задано |

## Поля записи CLI

| Поле | Значение | По умолчанию |
| --- | --- | --- |
| `type` | `claude`, `codex`, `agy`, `muse`, `opencode`, `pi` или `custom`. | Определяется автоматически для точных встроенных ID; обязателен для добавленных записей. |
| `command` | Одно имя или путь исполняемого файла. | Команда типа из PATH; обязательна для custom. |
| `args` | Массив строковых аргументов, передаваемых буквально. | `[]` |
| `env` | Имена переменных, сопоставленные со строками или null. | `{}` |
| `model` | Непустой идентификатор модели. | Решает CLI. Не поддерживается для OpenCode и custom. |
| `effort` | Непустой уровень усилий, поддерживаемый CLI и моделью. | Решает CLI. Не поддерживается для OpenCode и custom. |
| `enabled` | Логическое значение, управляющее будущими запусками и восстановлением. | `true` |
| `icon` | ID встроенного CLI или поддерживаемый значок робота. | Значок типа; `facade-pearl` для custom. |

Чтобы настроить встроенную запись, используйте точный ID в нижнем регистре, например `codex`. Имя новой записи должно отличаться от всех встроенных ID и отображаемых имён, даже без учёта регистра. Например, используйте `Codex · work`, а не `Codex`. Добавленные записи не наследуют настройки встроенной записи своего типа.

`enabled: false` скрывает корректную запись и запрещает её будущие запуски и восстановление. Уже запущенный агент при этом не останавливается.

## Значения переменных среды

```json
{
  "clis": {
    "codex": {
      "env": {
        "WORK_API_KEY": "${env:WORK_API_KEY}",
        "OLD_TOKEN": null
      }
    }
  }
}
```

- Строка задаёт переменную. `null` удаляет её. Если переменная не упомянута, она наследуется.
- Выражение `${env:NAME}` считывает значение из среды хоста редактора. Оно не читает другие ключи того же объекта.
- Если такой переменной нет, запись становится недоступной. Ссылки раскрываются один раз в значениях `env`, но не в `args`.
- Литеральное значение остаётся в facade.json. При использовании ссылки на переменную среды её значение не записывается в файл, но CLI всё равно получает раскрытое значение.

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

## Приоритет и параметры запуска

Facade сначала использует модель и уровень усилий, указанные для нового агента, затем значения по умолчанию записи. Если ни там, ни там значения нет, решение принимает CLI. OpenCode хранит оба выбора в собственной конфигурации.

Для встроенных типов используйте отдельные поля модели и уровня усилий. Facade также задаёт разрешения, идентификаторы диалогов, рабочие папки и свои инструменты. Он отклоняет аргументы, которые противоречат этим параметрам или мешают интерактивной сессии запуститься.

Facade ищет facade.json в домашней папке Facade: в параметре **Facade: Home** настроек VS Code, если он задан, затем в `FACADE_HOME`, затем в `~/.facade`. Вызовите Open Settings из проекта, чтобы найти активный файл конфигурации.

## Ошибки файла и ошибки записей

Ошибка уровня файла (некорректный JSON, повторяющийся ключ или неизвестное поле верхнего уровня) блокирует новые запуски и восстановление. Ошибка в одной записи CLI делает недоступной только эту запись. Запущенные агенты продолжают работать.

Найдите в сообщении об ошибке путь к настройке и исправьте значение. Facade не подставляет старые настройки молча. Частые ошибки запуска и провайдеров описаны в разделе [Устранение неполадок](https://facadecode.com/ru/docs/troubleshooting/).
