- Added support for a new extension, `swarm-assistent`, in `extensions.example.yaml` with a requirement for `ollama`. - Enhanced the README.md to clarify the setup process and provide a quick start guide for using extensions. - Updated documentation in `llm.md` to reflect the opt-in nature of LLM support and provide clearer instructions for enabling it. - Improved the `autocomplete.md` to detail the automatic setup of word lists during the initial launch. - Revised `cli.md` to include new commands and options related to LLM runtime handling and extension management. - Enhanced the `spike-notes.md` to guide users through the first live run with a focus on LLM integration.
5.2 KiB
Autocomplete промптов SwarmUI
Официальная инструкция: docs/Features/Autocompletions.md.
По умолчанию включено (AUTOCOMPLETE_ENABLED=true): на bootstrap CLI качает danbooru.csv и прописывает источник в Settings до первого старта SwarmUI. Ничего руками делать не нужно.
Выключить: AUTOCOMPLETE_ENABLED=false в .env.
Поведение gpu-rent
| Момент | Действие |
|---|---|
| Первый диск / файла ещё нет | Скачать с GitHub на VM в /mnt/swarm_data/Data/Autocompletions/<filename>. Прописать DefaultUser.AutoComplete.Source в Settings.fds до первого старта SwarmUI |
Каждый последующий up (диск уже есть) |
Спросить GitHub blob sha того же пути. Если sha изменился — скачать заново, заменить файл, systemctl restart swarmui если UI уже крутится |
AUTOCOMPLETE_ENABLED=false или URL пуст |
Ничего не качать, стоковый SwarmUI (только синтаксис <…>, без booru-тегов) |
Это не одноразовый seed как модели: список тегов на GitHub обновляют. Проверка версии — часть каждого up, пока есть SSH.
Файл маленький (danbooru.csv ≈ 3–4 MB). Killer из‑за него не откладываем, но на первом bootstrap качаем до старта UI, вместе с extensions.
Откуда файл
Дефолт — то, на что ссылается сама документация SwarmUI:
- репозиторий DominikDoom/a1111-sd-webui-tagcomplete
- путь
tags/danbooru.csv - raw:
https://raw.githubusercontent.com/DominikDoom/a1111-sd-webui-tagcomplete/main/tags/danbooru.csv
Альтернативы из той же папки (e621.csv, danbooru_e621_merged.csv, …) или релизы BetaDoggo/danbooru-tag-list — через конфиг, не хардкод в коде кроме дефолта.
Куда класть
На data volume (уже примонтирован как /SwarmUI/Data):
/mnt/swarm_data/Data/Autocompletions/danbooru.csv
/mnt/swarm_data/Data/Autocompletions/danbooru.csv.gpu-rent-meta.json
На data volume: /mnt/swarm_data/Data/Autocompletions/danbooru.csv (bind → /opt/swarmui/Data/…).
Sidecar meta (не отдавать в Output):
{
"repo": "DominikDoom/a1111-sd-webui-tagcomplete",
"path": "tags/danbooru.csv",
"ref": "main",
"github_blob_sha": "7a3cba59…",
"filename": "danbooru.csv",
"fetched_at": "2026-08-21T00:00:00Z"
}
Как узнать, что файл новый
Не сравнивать «дату файла на диске». GitHub Contents API:
GET https://api.github.com/repos/{repo}/contents/{path}?ref={ref}
В ответе поле sha — blob git. Сравнить с github_blob_sha в sidecar. Совпало → ничего не качать. Другое → GET download_url (или raw), атомарно заменить файл, обновить sidecar.
Без токена GitHub лимит 60 запросов/час с IP VM — на один up хватает. Если 403 rate limit — пропустить обновление, не валить up.
Для URL не с GitHub (произвольный raw): HEAD/GET с If-None-Match / Last-Modified, хранить ETag в sidecar.
Настройки SwarmUI до первого запуска
Положить/дописать в /mnt/swarm_data/Data/Settings.fds (Frenetic Data Syntax), пока SwarmUI ещё не стартовал:
DefaultUser:
AutoComplete:
Source: danbooru.csv
EscapeParens: true
Source — имя файла относительно Data/Autocompletions, как в UI AutoCompletionsSource.
Если Settings.fds уже есть (повторный диск) и пользователь сменил список в UI — не перезаписывать Source на каждом up. Ставить Source только когда он пустой или мы его ещё ни разу не ставили (флаг в meta settings_applied: true).
После замены csv на уже живой VM: systemctl restart swarmui (хелпер Reload() при старте перечитает каталог).
Конфиг
AUTOCOMPLETE_ENABLED=true
AUTOCOMPLETE_GITHUB_REPO=DominikDoom/a1111-sd-webui-tagcomplete
AUTOCOMPLETE_GITHUB_PATH=tags/danbooru.csv
AUTOCOMPLETE_GITHUB_REF=main
AUTOCOMPLETE_FILENAME=danbooru.csv
Или один AUTOCOMPLETE_URL= для raw без GitHub sha (тогда версия по ETag).