> ## Documentation Index
> Fetch the complete documentation index at: https://yumebox.gal.tf/llms.txt
> Use this file to discover all available pages before exploring further.

# Обзор синтаксиса YAML

<Info> Пишите только те поля, которые необходимо изменить, не копируйте всю подписку. </Info>

<Prompt description="生成一个符合 YumeBox 语法的 YAML 覆写">
  Создайте переопределение YAML YumeBox на основе исходной конфигурации mihomo и цели модификации, приведенной ниже.

  * Выводить только те переопределения, которые можно сохранить непосредственно как `.yaml`.
  * В фиксированных полях используются обычные ключи; при вставке списка в начале используется `key-start`, а при добавлении в конец — `key-end`.
  * Используйте `key-force`, если требуется замена всего поля.
  * Сохраняйте исходную конфигурацию без каких-либо изменений.
  * После создания описание того, какие поля в конечном итоге будут изменены.

  Исходная конфигурация:

  Изменить цель:
</Prompt>

## Процесс выполнения

<Steps>
  <Step title="Чтение исходной конфигурации">
    Сначала разрешите подписку или локальную конфигурацию. Необработанные ошибки YAML остановят компиляцию.
  </Step>

  <Step title="Чтение цепочки перезаписи">
    Прочтите файлы `.yaml` и `.yml` в обязательном порядке. Пустые файлы пропускаются, и в журнал записывается приглашение.
  </Step>

  <Step title="Применить текущий файл">
    Проанализируйте модификаторы имени ключа, а затем выполните замену, добавление, объединение или принудительное переопределение в зависимости от типа поля.
  </Step>

  <Step title="Создать конфигурацию запуска">
    После завершения перезаписи пользователя YumeBox дополнит настройки DNS, Tun, прослушивателя и пути поставщика, необходимые для среды выполнения.
  </Step>
</Steps>

## Быстрая проверка модификатора

| Метод письма | Функция                                             | Подробное описание                                     |
| ------------ | --------------------------------------------------- | ------------------------------------------------------ |
| `key`        | Нормально пишите.                                   | Рекурсия объектов, замена массива, скалярное покрытие. |
| `key-start`  | Вставьте в начало списка.                           | [Списки и правила](./yaml/lists.mdx)                   |
| `key-end`    | Добавить в конец списка.                            | [Списки и правила](./yaml/lists.mdx)                   |
| `key-merge`  | Объединяйте объекты или добавляйте элементы списка. | [Поведение полей](./yaml/fields.mdx)                   |
| `key-force`  | Непосредственно заменяет все поле.                  | [Поведение полей](./yaml/fields.mdx)                   |
| `+key`       | `key-start` Аббревиатура.                           | [Списки и правила](./yaml/lists.mdx)                   |
| `key+`       | `key-end` Аббревиатура.                             | [Списки и правила](./yaml/lists.mdx)                   |
| `<key>`      | Зарезервируйте буквальные имена ключей.             | [Примеры и устранение неполадок](./yaml/examples.mdx)  |

Явные `-start`, `-end`, `-merge`, `-force` имеют приоритет над `+key` и `key+`. Например, `<rules+>` в конечном итоге записывает настоящее имя ключа `rules+`.

## Минимальный пример

```yaml 修改端口.yaml icon="file-code" lines theme={null}
mixed-port: 7890
```

```yaml 添加规则.yaml icon="file-code" lines theme={null}
rules-start:
  - DOMAIN-SUFFIX,lan,DIRECT
```

```yaml 替换 DNS.yaml icon="file-code" lines theme={null}
dns-force:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 1.1.1.1
```
