--- date: 2026-06-29 type: project status: concept tags: [alexandr, umnybot, concept, cosmos, self-service, ai-services, media, nextcloud] aliases: ["концепция умного сервера Александра", "umnybot concept", "сервис-каталог Александра"] --- # 🧠 Концепция «Умного сервера» Александра — простой ИИ-сервис, всё через бота > Развитие пилота [[../dttb/ai-assistant-pilot/architecture|umnybot]] в законченный продукт: «умный сервер с ИИ-сервисами», который продали клиенту. Цель — **простой и удобный** сервис, где клиент ничего не настраивает руками: попросил бота — бот сам поставил/настроил. Максимальная автономность от инфраструктуры Олега. Секреты — в [[../dttb/ai-assistant-pilot/credentials|credentials пилота]] и [[credentials|сеть Бенелюкса]]. ## TL;DR (что решили) - **Лицо сервиса — бот, а не панель.** Клиент НЕ кликает в Cosmos сам. Он пишет боту (Алекс/Hermes в Telegram) или в SwarmClaw: «поставь мне облако» / «хочу смотреть фильмы» → **агент сам разворачивает сервис через Cosmos API**, выдаёт ссылку. Самообслуживание = диалог. - **Cosmos Cloud — движок под капотом**, не витрина. Даёт реверс-прокси + авто-HTTPS + изоляцию + API для автодеплоя. Клиент его обычно не видит; админ-доступ — у Олега и у бота. - **База знаний бота — ТОЛЬКО Бенелюкс.** Изолированная KB по инфраструктуре Александра, без общей базы Олега. Это и автономность, и безопасность. - **Максимальная автономность от Олега:** свой LLM-ключ/баланс, свой публичный вход (Cloudflare Tunnel вместо VPS-шлюза Олега), свой мониторинг. См. [#автономность](#7-автономность-от-инфры-олега). - **Железо** — работаем в рамках (i3-2100, 2 ядра, **15 ГБ ОЗУ, уже ~⅔ занято**). Лёгкие версии сервисов, приоритизация. Всё «на полную» коробка не потянет — концепция это учитывает. --- ## 1. Что уже есть на коробке (инвентарь) Сервер физически у Александра (КП Бенелюкс), Proxmox `pve` `192.168.1.247`. Публичный вход — домены `*.umnybot.ru` через статичный VPS-шлюз `158.255.0.139` по NetBird (WAN Александра динамический, DNS на него вешать нельзя). | LXC | Сервис | RAM (выдано) | Статус | |---|---|---|---| | 101 | NPM (внутр. реверс-прокси коробки) | 512 МБ | 🟢 работает | | 102 | **бот Алекс** (openclaw `@alex_umny_bot`) + OmniRoute + Postgres | ~4 ГБ | 🟢 работает | | 103 | **SwarmClaw** (`umnybot.ru`, публично) | ~4 ГБ | 🟢 работает | | 104 | Gitea | ~1 ГБ | 🟢 работает | | 105 | Homepage + filebrowser (Docker) | ~1 ГБ | 🟢 работает | | ~~VM100~~ | ~~ZimaOS~~ | — | ❌ удалена (VT-x слетел) | **Свободно ОЗУ:** ориентировочно 3–5 ГБ (нужно замерить `free -m` перед стартом — см. шаг 0). Диск: SSD 111 ГБ (система) + **HDD 1.8 ТБ** под медиа/торренты/облако — места достаточно. ### Чего по ТЗ ещё нет Nextcloud, медиасервер (Plex/«Flex»), торрент-клиент, Open WebUI, второй бот (Hermes на GLM 5.2), и **сама платформа самообслуживания** — её и делаем сердцем продукта. --- ## 2. Целевая архитектура — «всё через бота» Клиент общается только с ботом. Бот — это «оператор» сервера: понимает запрос на естественном языке, дёргает Cosmos API, отвечает ссылкой. Панель Cosmos — служебная, для Олега. ``` КЛИЕНТ КЛИЕНТ (опц., если удобно) Telegram: бот Алекс / Hermes SwarmClaw (веб-чат) │ «поставь облако» │ └──────────────┬───────────────────────┘ ▼ АГЕНТ (openclaw/hermes) ── KB: только Бенелюкс │ tool: cosmos-deploy.sh «nextcloud» ▼ Cosmos Cloud API (движок) ── реверс-прокси + HTTPS + изоляция │ поднимает контейнер, выдаёт поддомен ┌────────────────┼────────────────┬───────────────┬───────────────┐ ▼ ▼ ▼ ▼ ▼ Nextcloud Plex qBittorrent Open WebUI (доп. апки) cloud.* media.* dl.* chat.* │ скачал торрент → /mnt/Work/media (HDD 1.8 ТБ) │ ├─→ Plex видит библиотеку (media volume) └─→ Nextcloud External Storage (тот же путь) → видно в облаке ``` ### Роли в новой модели | Компонент | Роль | Видит ли клиент | |---|---|---| | **Бот (Алекс/Hermes)** | лицо сервиса, принимает запросы, разворачивает сервисы | ✅ основной интерфейс | | **SwarmClaw** | альт. веб-интерфейс к тем же агентам (если удобнее чата) | ✅ опц., ограниченный аккаунт | | **Cosmos Cloud** | движок: API автодеплоя, прокси, HTTPS, изоляция | ❌ только Олег + бот | | **Homepage** | витрина-портал со ссылками на готовые сервисы | ✅ как «рабочий стол» | ### Почему Cosmos Cloud (как движок, не витрина) Клиент сам кликать в App Store не будет — установку делает **бот через API**. Cosmos выбран потому, что лучше прочих (CasaOS/Runtipi/Portainer) закрывает именно автодеплой-через-API + безопасность: - **API + Docker-оркестрация:** бот вызывает Cosmos, тот поднимает контейнер, навешивает поддомен, HTTPS и изоляцию — всё одним движком, без сборки NPM+certbot+Portainer руками. - **Безопасен для паблика:** SmartShield (анти-брутфорс, rate-limit, изоляция приложений) — на случай, если что-то всё же смотрит в интернет. - **Лёгкий:** сам Cosmos ~150–250 МБ ОЗУ — критично для этой коробки. - **Сосуществует с текущим NPM:** новые сервисы — на Cosmos, существующие (SwarmClaw, pve) пока за NPM коробки. Миграция постепенная. > **Бот ставит сервисы через скрипт-обёртку** (напр. `cosmos-deploy.sh `), добавленный в инструменты агента — по образцу `alex-*.sh` ([[../dttb/ai-assistant-pilot/architecture]]). Каждый деплой — write-действие, проходит approval-гейт (кнопка в Telegram Олегу), чтобы клиент не наплодил лишнего. Со временем доверенные апки можно вынести в allowlist (без подтверждения). --- ## 3. Сервисы — что и как ### 3.1 Боты (ИИ-ядро, уже частично есть) | Бот | Движок | Канал | Ключ/модель | Статус | |---|---|---|---|---| | **Алекс** | openclaw (LXC102) | Telegram `@alex_umny_bot` + веб | OmniRoute (Codex/Max) | 🟢 есть | | **Hermes (новый)** | Hermes Agent | Telegram + веб-дашборд | **GLM 5.2 на ключе Олега** | 🔜 поставить | **Hermes для Александра** — по образцу German (LXC141, см. [[../../decisions/2026-06-18-german-hermes-agent-deploy]]): - Отдельный LXC (или контейнер в Cosmos), Hermes Agent + gateway Telegram + dashboard `hermes.umnybot.ru`. - Модель — **GLM 5.2** напрямую (ключ Олега) или через OmniRoute-провайдер `glm/*`. ⚠️ В KB у `glm/glm-5.1` был баланс 0 — **проверить баланс ключа GLM 5.2 перед стартом** (см. [#открытые-вопросы](#открытые-вопросы)). - ОЗУ: ~1–1.5 ГБ. Это самый заметный новый потребитель после медиа — ставить, когда подтвердим бюджет. **Инструмент деплоя у агента** — ключ модели «всё через бота». В набор tools агента (рядом с `alex-*.sh`) добавляем `cosmos-deploy.sh `: бот по запросу клиента дёргает Cosmos API, поднимает сервис, отдаёт ссылку. Каталог понятных алиасов: «облако» → nextcloud, «фильмы/кино» → plex, «качалка» → qbittorrent, «чат с ИИ» → open-webui, «пароли» → vaultwarden. Деплой — write-действие через approval-гейт (см. раздел 2). **SwarmClaw для клиента (если ему удобнее веб-чата)** — сейчас это админский оркестратор Олега (`umnybot.ru`). Приспособить: - Завести **отдельный ограниченный аккаунт** Александру (чат с агентами, без управления узлами/креденшалами). - ⚠️ База `swarmclaw.db` хранит API-ключи всех клиентов Олега — **не давать админ-доступ**, только пользовательский профиль. Полная изоляция = отдельный инстанс (+4 ГБ ОЗУ, не потянем с медиа). **Рекомендация: ограниченный аккаунт; SwarmClaw — опция, основной канал всё равно Telegram-бот.** ### 3.2 Homepage — информационный портал - Уже есть на LXC105. Доработать: плитки на ВСЕ ресурсы Александра (боты, облако, медиа, торрент, Open WebUI, Cosmos), живые виджеты (Proxmox, Nextcloud, qBittorrent). - Сделать **стартовой страницей** `home.umnybot.ru` — первое, что видит клиент. Можно вынести как «дашборд» внутри Cosmos. - Образец конфига — [[../../decisions/2026-06-27-homepage-dashboard-lxc145]]. ### 3.3 Nextcloud — личное облако - **Лёгкая установка, НЕ AIO** (AIO тянет 10+ контейнеров и 10 ГБ ОЗУ — коробка не вытянет). Ставим `nextcloud:apache` + отдельный MariaDB, или официальный образ через Cosmos App Store. - Данные — на HDD `/mnt/pve/Work` (1.8 ТБ). - **Интеграция с торрентом:** External Storage → локальная папка `/mnt/Work/media` (куда качает qBittorrent). Скачанное сразу видно в облаке. - Домен `cloud.umnybot.ru`. ОЗУ ~1–1.5 ГБ. ### 3.4 Plex — мультимедиа («Flex») - Plex Media Server (выбран клиентом), библиотека на HDD `/mnt/Work/media`. - ⚠️ **Честное ограничение:** i3-2100 (2011, без рабочего QuickSync) **не тянет транскодинг**, особенно 4K. Работает только **Direct Play** — файл должен подходить устройству напрямую (формат/кодек/битрейт). Для ТВ/телефона в большинстве случаев ок; 4K HEVC на старый ТВ — будет тормозить. Это нужно проговорить с клиентом. - **Интеграция:** та же папка `/mnt/Work/media`, что у торрента и Nextcloud → скачал → появилось в Plex. Домен `media.umnybot.ru`. ОЗУ ~1 ГБ (без транскода). ### 3.5 Торрент — qBittorrent - `qbittorrent` (linuxserver), WebUI `dl.umnybot.ru`, загрузки в `/mnt/Work/media` (общая папка с Plex и Nextcloud — ключ всей интеграции). - Лёгкий, ~256–512 МБ ОЗУ. - **Прямой доступ из Nextcloud и Plex** реализуется именно через общий путь загрузок — отдельные «коннекторы» не нужны, всё через одну директорию на HDD. ### 3.6 Open WebUI — чат с ИИ через браузер - `open-webui`, бэкенд — OmniRoute (`http://:20128/v1`), как на LXC142 ([[../../decisions/2026-06-22-open-webui-deploy]]). - Домен `chat.umnybot.ru`. Клиенту — красивый веб-чат со всеми моделями без Telegram. - ОЗУ ~1 ГБ (embedding-модель грузится с HF при первом старте — учесть медленную загрузку из РФ). ### 3.7 Что ещё полезного предложить Александру - **Vaultwarden** — менеджер паролей (на дом/семью), ~128 МБ. Дёшево и очень полезно. - **Immich** — фото-бэкап с телефонов (замена Google Photos). ⚠️ Тяжёлый (ML-распознавание лиц) — **только если добавить ОЗУ** или отключить ML. - **Uptime Kuma** — мониторинг доступности всех сервисов, ~128 МБ, плитка в Homepage. - **AdGuard Home** — блокировка рекламы/трекеров на весь дом (DNS), ~128 МБ. Хорошо ложится на тему «обхода РКН» которая у клиента уже есть. - **Paperless-ngx** — архив документов с распознаванием (для домовладельца удобно). Тяжеловат, опционально. > Клиент не ищет это в каталоге — он **просит бота** («заведи менеджер паролей»), бот ставит. Мы лишь заранее прописываем алиасы в `cosmos-deploy.sh` и проверяем, что апка лёгкая. --- ## 4. База знаний бота — только Бенелюкс (изоляция) Принципиальное требование: KB агента Александра содержит **только инфраструктуру Бенелюкса**, без общей базы Олега. Это даёт автономность и безопасность — через бота клиента нельзя вытащить данные о НИИКН/dttb/других клиентах. - **Отдельный репозиторий/папка KB** для коробки (напр. `kb-benelux`), куда входит: сеть Александра (роутер, UniFi, принтер, камеры), его сервисы (этот документ, architecture, credentials Бенелюкса), инструкции для семьи. **Не входит:** `projects/dttb`, `projects/niikn`, `decisions` Олега, общие snippets. - **Источник синка — не общий vault Олега.** Сейчас агенты тянут общую KB (`kb-pull.sh` с Gitea Олега). Для Александра: либо отдельный репозиторий в его Gitea (LXC104, уже на коробке!), либо локальная папка без внешнего синка. **Рекомендация: держать KB в Gitea Александра (LXC104)** — полностью на его сервере, ноль зависимости от Gitea Олега. - **Память бота (openclaw memory / pgvector)** переиндексируется только из этой папки. Проверить, что в индекс не попали общие записи от предыдущего пилота. - Олег как админ правит KB Бенелюкса через его Gitea; клиент видит результат через ответы бота. > ⚠️ Сейчас у пилота KB могла быть общая — **аудит при внедрении:** что именно сейчас в памяти бота Алекс, нет ли там чужой инфры. См. [#открытые-вопросы](#8-открытые-вопросы-уточнить-у-олегаклиента). --- ## 5. Бюджет ресурсов **Главный лимит — ОЗУ (15 ГБ), а не диск/CPU.** Нельзя поднять всё сразу. Грубая раскладка «реалистичного» набора: | Сервис | ОЗУ | Приоритет | |---|---|---| | Текущее (Алекс+OmniRoute, SwarmClaw, Gitea, NPM, Homepage) | ~10 ГБ | уже работает | | Cosmos Cloud (платформа) | ~0.25 ГБ | **P0** | | qBittorrent | ~0.4 ГБ | **P1** | | Plex (Direct Play) | ~1 ГБ | **P1** | | Nextcloud (light) | ~1.5 ГБ | **P1** | | Open WebUI | ~1 ГБ | P2 | | Hermes (GLM 5.2) | ~1.5 ГБ | P2 | | Vaultwarden / Uptime Kuma / AdGuard | ~0.4 ГБ | P3 | Сумма P0+P1 уже подводит к потолку. **Варианты разруливания (для обсуждения с клиентом):** 1. **Поджать текущее** — SwarmClaw/Gitea Александру не критичны; SwarmClaw можно ужать или вынести на инфру Олега, освободив ~4 ГБ. 2. **Апгрейд ОЗУ** — плата ZOTAC H61 держит до 16–32 ГБ DDR3 (2 слота). Докупить планки = весь стек комфортно. Дешёвый DDR3 б/у. **Самое разумное вложение, если клиент хочет «всё».** 3. **Тяжёлое — на инфру Олега** — Open WebUI/Hermes держать у Олега, отдавать через `*.umnybot.ru`. Разгружает коробку, но появляется зависимость от Олега (против идеи автономности). > **Рекомендация:** стартуем P0+P1 в рамках текущего железа (поджав SwarmClaw), параллельно предлагаем клиенту апгрейд ОЗУ до 32 ГБ под полный набор. --- ## 6. Автономность от инфры Олега Цель — коробка должна жить, даже если инфра Олега выключена. Три точки зависимости и как их закрыть: | Зависимость сейчас | Проблема | Решение для автономности | |---|---|---| | **Публичный вход** через VPS-шлюз Олега (`158.255.0.139`) | домены `*.umnybot.ru` ходят через сервер Олега | **Cloudflare Tunnel** на коробке: `cloudflared` поднимает исходящий туннель к Cloudflare, тот публикует `*.umnybot.ru`. Не нужен ни статичный IP, ни VPS Олега, ни проброс портов. Работает за динамическим WAN и за CGNAT. **Это и есть ключ к автономности входа.** Домен перевести на Cloudflare DNS. | | **LLM** через OmniRoute на ключах/аккаунтах Олега | боты думают «мозгами» Олега (Max/Codex-аккаунты) | Свой биллинг: **прямой ключ GLM 5.2** (или свой Anthropic/OpenRouter) в OmniRoute коробки. У коробки уже свой OmniRoute (LXC102) — нужен только отдельный оплаченный ключ, а не общий пул Олега. | | **Мониторинг** Антошкой (LXC137 Олега) | сторож живёт у Олега | Локальный сторож на коробке (cron + Uptime Kuma) шлёт алерты в Telegram самому Олегу/клиенту. Внешний догляд Олега оставить как второй контур, но коробка самодостаточна. | | **KB** из общего vault Олега | см. раздел 4 | KB в Gitea Александра (LXC104), на его сервере. | **После этих шагов коробка автономна:** свой вход (Cloudflare), свои мозги (свой ключ), своя память (своя KB), свой сторож. Олег — только админ-доступ для поддержки. > ⚠️ Cloudflare Tunnel vs текущий VPS-шлюз — это развилка по входу. Cloudflare бесплатен и автономен, но трафик идёт через Cloudflare (для домашнего сервиса ок). Решить при внедрении (раздел 9). --- ## 7. Доступ и креды — удобно и безопасно Требование: клиент и семья заходят в сервисы **просто**, но без дыр. Урок коробки уже оплачен — компрометация 2026-05-20 случилась именно из-за общего слабого пароля `1qaz!QAZ` ([[../../decisions/2026-05-20-benelux-compromise]]). Поэтому: **никаких общих паролей на сервисы, уникальный секрет на каждый, выдача через защищённые каналы.** ### Модель доступа: один вход → все сервисы (SSO) Большинство сервисов клиент не логинит по отдельности — **единый вход**: - **Cosmos SSO / forward-auth** на периметре: один аккаунт Александра (логин + **обязательная 2FA/TOTP**) открывает все веб-сервисы за прокси (Nextcloud, Plex-веб, qBittorrent, Open WebUI, Homepage). Зашёл один раз — внутри ходит свободно. - Где у сервиса свой обязательный аккаунт (Plex-приложения на ТВ, Nextcloud-клиент на телефоне) — заводим **отдельный пароль на сервис**, генерируется, не переиспользуется. - **Семья/персонал/гости — отдельные ограниченные учётки**, не админ Александра. Ложится на уже запланированную сегментацию Wi-Fi ([[wifi-segmentation-concept]]): хозяева/персонал/гости и в сети, и в сервисах. ### Хранение: Vaultwarden как «сейф» семьи - **Vaultwarden** (лёгкий, ~128 МБ) — единое хранилище паролей на дом. Все сгенерированные креды сервисов лежат там, клиент открывает по одному мастер-паролю + 2FA. - Приложения Bitwarden на всех устройствах семьи (iOS/Android/браузер) — автозаполнение, делиться доступом без пересылки паролей в мессенджерах. - Это и «удобно» (автозаполнение, один сейф), и «безопасно» (уникальные пароли, шифрование, не в переписке). ### Выдача через бота — безопасно Бот не только ставит сервис, но и **отдаёт доступ правильно**: - При деплое `cosmos-deploy.sh` **генерирует пароль** (`openssl rand`), кладёт его в **Vaultwarden** через API и навешивает на сервис — пароль нигде не печатается «по умолчанию». - Боту клиент пишет «дай доступ к облаку» → бот отвечает **ссылкой на запись в Vaultwarden** (или одноразово показывает логин). Реквизиты не оседают в истории Telegram навсегда. - Если показывать прямо в чат — то **самоудаляющимся сообщением** и только владельцу (проверка Telegram user-id, как в approval-гейте). - Полный реестр секретов админ-уровня (root, токены) остаётся у Олега в [[../dttb/ai-assistant-pilot/credentials]] — клиенту туда доступа нет. ### Базовая гигиена (закрыть сразу) - **Сменить общий `1qaz!QAZ`** на хосте/Proxmox и в сервисах на уникальные — этот пароль «утёк» в инцидент и до сих пор живёт (root pve, Basic Auth pve). Включить 2FA на Proxmox UI. - Внутренние сервисы **не светить в интернет** без нужды — только через SSO/Cloudflare Access; всё остальное по NetBird/LAN. - Секреты сервисов — в `.env` (chmod 600), не в git, не в KB. > Итог цепочки: **деплой ботом → пароль сгенерирован → лёг в Vaultwarden → клиент входит по SSO+2FA, а где нужно — берёт из сейфа**. Удобно для семьи, при этом ни одного общего/слабого пароля. --- ## 8. План внедрения (по шагам, с проверками) **Шаг 0 — замер + аудит KB.** `free -m`, `df -h /mnt/pve/Work`, `pct list` + RAM каждого LXC. **Проверить, что сейчас в памяти бота Алекс** — нет ли там общей инфры Олега (раздел 4). ✅ свободно ≥3 ГБ ОЗУ и KB понятна. **Шаг 1 — Cosmos Cloud (движок).** Поставить на хост (или LXC с nesting). Настроить, проверить API. ✅ через API поднимается тестовый контейнер. **Шаг 2 — Vaultwarden + SSO периметр.** Поднять Vaultwarden («сейф» семьи) и включить Cosmos SSO/forward-auth с обязательной 2FA для Александра. ✅ один вход открывает защищённый тестовый сервис, креды лежат в сейфе. **Шаг 3 — деплой-инструмент бота.** Написать `cosmos-deploy.sh `: ставит сервис + **генерирует пароль (`openssl rand`) и кладёт в Vaultwarden через API**, отдаёт клиенту ссылку на запись. Добавить в tools агента через approval-гейт. ✅ «поставь тест» → контейнер поднят, пароль в сейфе, бот прислал ссылку (не сам пароль в чат). **Шаг 4 — общая медиа-папка + торрент.** Создать `/mnt/pve/Work/media`. Бот ставит qBittorrent (volume = эта папка). ✅ тестовая закачка появляется в папке. **Шаг 5 — Plex.** Библиотека на `/mnt/Work/media`. ✅ тестовый файл играет Direct Play на ТВ/телефоне клиента. **Шаг 6 — Nextcloud (light).** External Storage → `/mnt/Work/media`. ✅ скачанный торрент виден и в облаке, и в Plex (сквозная интеграция — ядро ТЗ). **Шаг 7 — изоляция KB.** Создать репозиторий `kb-benelux` в Gitea Александра (LXC104), наполнить только инфрой Бенелюкса, переключить синк/память бота на него. ✅ бот отвечает по Бенелюксу, не знает про НИИКН/dttb. **Шаг 8 — автономный вход (Cloudflare Tunnel).** Поставить `cloudflared` на коробку, перевести `umnybot.ru` на Cloudflare DNS, опубликовать сервисы. ✅ домены работают без VPS-шлюза Олега. **Шаг 9 — Open WebUI + Hermes (GLM 5.2).** Проверить баланс GLM, поставить. Open WebUI `chat.*`, Hermes — TG + `hermes.*`. ✅ оба отвечают на своём ключе. **Шаг 10 — Homepage как «рабочий стол».** Плитки на всё, живые виджеты, стартовая. ✅ клиент с одной страницы попадает в любой сервис, а бот ставит новые по запросу. --- ## 9. Открытые вопросы (уточнить у Олега/клиента) - [ ] **Аудит KB пилота** — что сейчас в памяти бота Алекс? Если там общая инфра Олега — вычистить (требование автономности/безопасности). - [ ] **Вход: Cloudflare Tunnel или остаёмся на VPS-шлюзе?** Cloudflare = автономность от Олега + работа за динамич. WAN; минус — трафик через Cloudflare. Рекомендация — Cloudflare. - [ ] **Свой LLM-ключ** (GLM 5.2 / другой) с оплаченным балансом — чтобы боты не зависели от пула Олега. Проверить баланс (у `glm-5.1` в KB был 0). - [ ] **Апгрейд ОЗУ** до 32 ГБ DDR3 — готов ли клиент на железо? Определяет P1 или полный набор. - [ ] **Plex и транскод** — проговорить ограничение Direct Play (4K на старом ТВ тормозит). Ожидания выровнять заранее. - [ ] **SwarmClaw клиенту** — нужен ли вообще, если основной канал бот? Если да — ограниченный аккаунт. - [ ] **NetBird на сам хост** — висящий TODO ([[../dttb/proxmox-pve-147]]); упростит админ-доступ Олега. --- ## Связанное - [[../dttb/ai-assistant-pilot/architecture]] — текущая архитектура коробки - [[../dttb/proxmox-pve-147]] — железо хоста - [[../dttb/ai-assistant-pilot/credentials]] — доступы/секреты - [[README]] — объект Бенелюкс (сеть, роутер) - [[../../decisions/2026-06-22-open-webui-deploy]], [[../../decisions/2026-06-27-homepage-dashboard-lxc145]], [[../../decisions/2026-06-18-german-hermes-agent-deploy]] — образцы деплоя