Что делает этот мод?
Установил кучу модов, но не знаешь, как их упорядочить?
Этот мод может подключаться к Большим Языковым Моделям (LLM) и позволить ИИ предложить более разумный порядок загрузки на основе твоего списка модов и реальных отчетов об ошибках.
Чтобы ИИ знал, какие моды могут конфликтовать, этот мод будет автоматически перехватывать ошибки выполнения в фоновом режиме, анализировать, какой мод их вызвал, и записывать эту информацию как справочные данные для сортировки ИИ.
Таким образом, типичный рабочий процесс выглядит так:
Сначала играй в игру нормально (или хотя бы загрузи сохранение один раз), чтобы мод собрал достаточно информации об ошибках, а затем используй сортировку ИИ. Это даст лучшие результаты.
Конечно, функция анализа ошибок сама по себе тоже полезна. Даже если ты не используешь сортировку ИИ, она поможет тебе точно понять, из-за кого эти красные тексты ошибок.
[/hr]
Возможности
Сортировка с помощью ИИ (Экспериментальная)Это основная функция мода. Она отключена по умолчанию и требует включения в настройках мода, а также настройки API-ключа LLM.
После включения кнопка "Авто-сортировка" в списке модов запустит процесс ИИ:
1. Чтобы сэкономить Токены, движок не будет отправлять подробные описания всех твоих модов. Он собирает только базовую информацию (Название и требования ванильной загрузки, такие как `loadBefore` / `loadAfter`).
2. Только для "подозрительных модов", ранее зафиксированных в ошибках, ИИ извлечет их полные описания и сожмет в краткие сводки (эти данные кэшируются локально).
3. Отправить эту оптимизированную информацию вместе с записями об ошибках в LLM.
4. LLM возвращает рекомендации по сортировке, которые затем внедряются в ванильный топологический движок сортировки для выполнения сортировки.
Таким образом, для точной сортировки ИИ лучше всего запустить игру с текущим списком модов, чтобы система анализа ошибок накопила некоторые данные.
Он все равно может сортировать при первом использовании, когда данных об ошибках вообще нет, но у ИИ будет меньше информации для ссылки.
! Примечание: Сортировка ИИ потребляет API-Токены. Для списка из 300 модов Input будет потреблять примерно 10,000 Токенов !Анализ источников ошибокЭта функция вступает в силу автоматически после установки, не требует дополнительных действий. Она предоставляет данные для сортировки ИИ и также может использоваться самостоятельно как инструмент устранения неполадок.
Когда в игре появляются красные ошибки, мод глубоко анализирует их со следующих сторон:
-
Сопоставление трассировки стека DLL — Извлекает сборку, соответствующую каждому кадру, из стека вызова исключения, чтобы выяснить, DLL какого мода это.
-
Локализация исключений при разборе XML — Перехватывает базовые процедуры обработки XML, напрямую сопоставляя точные XML-узлы, вызвавшие исключение, с их исходными файлами, модами и конкретными XML-NodePaths.
-
Анализ ошибок конфигурации Def — Перехватывает ошибки конфигурации Def, отслеживает их фактические исходные файлы, извлекает всю цепочку наследования `ParentName` и определяет все операции Patch, примененные к этому Def и его родительским узлам.
-
Источник перекрестных ссылок — Глубоко анализирует ошибки типа `Не удалось разрешить перекрестную ссылку`, чтобы отследить точный Def, файл и конкретный XML-узел, который использовал отсутствующую ссылку, и перечислить все задействованные Patches.
-
Атрибуция совместимости CE — Разрешает ошибки `нет поддержки Combat Extended` путем глубокого анализа параметров кадра стека, чтобы точно определить конкретные Def предметов или рас, не имеющих совместимости с CE.
-
Извлечение путей файлов и ID Workshop — Извлекает строки локальных путей из ошибок типа `Не удается загрузить текстуру` или отсутствующих файлов, сопоставляя их с корневыми каталогами активных модов или декодируя Steam Workshop ID для поиска мода.
Результаты анализа будут сохранены в `BetterModSort.Error.txt` в каталоге твоего сохранения, а предыдущие результаты будут сохранены как резервные копии `BetterModSort.Error.prev.txt`.
! Примечание: Если тебе нужно сообщать об ошибках другим авторам модов, пожалуйста, убедись, что предоставляешь полный файл
Player.log или копируешь исходные детали красной ошибки из окна лога. Файл
BetterModSort.Error.txt, создаваемый этим модом, содержит только сводку анализа для сортировки ИИ и быстрого ознакомления, и может не содержать критических технических деталей, необходимых авторам для исправления ошибок.
(Связано с XML)
```
Не удалось разрешить перекрестную ссылку на Verse.WorkTypeDef с именем DoctorRescue (wanter=workTypes)
-> [Перекрестная ссылка используется в: DoctorRescue]
- [Мод: Project RimFactory - Drones (spdskatr.projectrimfactory.drones)] Defs/ThingDef[defName=WarDroneStation]/modExtensions/li/workTypes
Файл: D:\SteamLibrary\steamapps\workshop\content\294100\2037491557\Defs\ThingDefs_Buildings\Buildings_DroneStation.xml
-> [Может быть задействован Patch: WarDroneStation]
- [Мод: Project RimFactory - Drones (spdskatr.projectrimfactory.drones)] PatchOperationAdd (FindMod: Achtung!)
```
(Связано с DLL)
```
[BetterModSort] ========== Анализ ошибок ==========
Время: 10:10:20
Ошибка: Попытка получить статистику MeleeDamageAverage из TM_GloryMaul, который не поддерживает Combat Extended.
Связанные МОДы (3):
- [ceteam.combatextended] Combat Extended
DLL: CombatExtended
Расположение: CombatExtended.StatWorker_MeleeDamageAverage.GetValueUnfinalized
- [andromeda.nicebilltab] Nice Bill Tab
DLL: NiceBillTab
Расположение: NiceBillTab.StatRequestWorker.GetDPS
- [ilyvion.loadingprogress] Loading Progress
DLL: ilyvion.LoadingProgress
Расположение: ilyvion.LoadingProgress.StaticConstructorOnStartupUtilityReplacement+d__2.MoveNext
=====================================
```
[/hr]
Совместимость и внешние инструменты- Полная совместимость с
Mod Manager и
Prestarter. Как только ты включаешь сортировку ИИ в настройках этого мода, нажатие их родной кнопки "Авто-сортировка" будет запускать процесс сортировки ИИ этого мода!
-
Экспорт в RimSort: Поддерживает автоматическое сохранение текущего активного списка модов в RimSort-совместимый XML-файл после завершения сортировки ИИ (можно включить в экспериментальных настройках).
[/hr]
Поддержка языковПоддерживает английский, упрощенный китайский и русский.
Благодарим
Dmitry6 за русский перевод!
Всегда приветствуются вклады в перевод на другие языки.
Github Repo:
github.com/Yan-Zero/BetterModSort