.145 оказался занят чужим устройством (MAC ac:ba:c0:39:82:64): pve резолвил в контейнер,
а NPM и NetBird-клиенты — в чужого → 502 на dash.dttb.ru. Перенесли на свободный .148
(проверено ARP), NPM forward_host обновлён, HOMEPAGE_ALLOWED_HOSTS поправлен.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Цель — заменить Яндекс Алису корпоративным ИИ-ассистентом, который видит документы и почту НИИКН, уважает права доступа сотрудников и работает в их привычных инструментах (Nextcloud), оставаясь под контролем в нашем контуре. ~20 сотрудников, из них 6 — административный отдел.
1. Зафиксированные решения (развилки)
Развилка
Выбор Олега
Следствие
Куда уходят данные
Облако через Max (Opus 4.8)
Инференс через omniroute → cc/claude-opus-4-8. Быстрый старт, ~0 ₽/токены. Содержимое уходит в Anthropic (US) — годится, т.к. данные НИИКН не гостайна
Интерфейс (фаза 1)
Оба: Nextcloud Assistant + Open WebUI
NC-ассистент в рабочем потоке (файлы) + отдельный веб-чат как замена Алисе
Почта
Не приоритет
Старт — поиск по 2.7 ТБ документов и работа с файлами. Mailcow подключаем в фазе 3
2. Что уже есть в контуре НИИКН (ничего не строим с нуля)
VM 108 — Nextcloud AIO 32.0.6 (~102 аккаунта, niikn.com). NC 32 несёт Assistant + Context Chat (RAG по своим файлам) из коробки.
SMB (LXC 110) — 2.7 ТБ документов (groupfolders «Общий ресурс» 1.5 ТБ + «ГИКЭ_ВОКН_Москва» 1.2 ТБ). Уже смонтирован на VM108 как /mnt/ncsmb → доступен Nextcloud для индексации без перекачки.
omniroute — шлюз к моделям (Opus 4.8 через Max + бесплатные фолбэки). OpenAI-совместимый /v1.
swarmclaw — оркестратор (back-office автоматизация, фаза 3+).
VM 106 Mailcow — свой почтовый сервер (mail.niikn.com) для фазы 3.
Дома обкатан Open WebUI (decisions/2026-06-22-open-webui-deploy) — готовая многопользовательская веб-морда с ролями и RAG. Деплой на pve-niikn = копия проверенного рецепта.
3. По поводу clawdbot vs Hermes Agent — важный нюанс
Ты прав, что Hermes во многом лучше clawdbot — но это про персонального агента. Оба (clawdbot, Hermes/German) — одно-пользовательские Telegram-агенты: заперты на один Telegram-ID, без ролей и без разграничения прав. Для офиса на 20 человек с разными правами они не подходят как основная платформа.
Вывод:
Офисная платформа (20 чел., RBAC, документы) = Nextcloud Assistant + Open WebUI поверх omniroute. Это и есть ответ на «как у всех, удобно, с правами».
Hermes оставляем для точечных силовых юзеров — например, личный бот Мауля (projects/niikn/clawdbot-niikn) можно проапгрейдить clawdbot → Hermes, если ему нравится Telegram-формат. Это не противоречит офисному развёртыванию, а дополняет его.
4. Целевая архитектура (слои)
flowchart TB
subgraph users["Сотрудники НИИКН (~20)"]
admin["Админ-отдел (6)<br/>группа niikn-admin"]
staff["Остальные (14)<br/>группа niikn-staff"]
end
subgraph iface["Слой интерфейсов"]
nc["Nextcloud Assistant<br/>(VM108)<br/>Smart Picker, резюме,<br/>«спроси по этому файлу»"]
owui["Open WebUI<br/>(новый LXC на pve-niikn)<br/>чат как Алиса/ChatGPT<br/>+ базы знаний по отделам"]
end
subgraph rag["Слой знаний (RAG)"]
cc["Context Chat backend<br/>индекс по файлам NC<br/>УВАЖАЕТ права на файлы"]
col["Коллекции Open WebUI<br/>по отделам"]
emb["Локальный embedder<br/>multilingual-e5 / bge-m3"]
end
subgraph engine["Слой движка"]
omni["omniroute /v1<br/>единая точка к моделям"]
end
subgraph models["Модели (облако через Max)"]
opus["cc/claude-opus-4-8 (осн.)"]
fb["fallback: sonnet-4-6 →<br/>kr/sonnet-4.5 (free) → gpt"]
end
docs[("2.7 ТБ документов<br/>SMB /mnt/ncsmb")]
admin --> nc & owui
staff --> nc & owui
nc --> cc
owui --> col
cc --> emb
col --> emb
docs --> cc
docs -.экспорт по отделам.-> col
nc --> omni
owui --> omni
omni --> opus --> fb
Ключевая идея: один движок (omniroute) — две морды. omniroute = единственная точка управления моделями, ключами, лимитами и стоимостью. Меняем модель/фолбэк в одном месте — меняется везде.
Слой 1 — движок (omniroute)
Все запросы идут в omniroute → cc/claude-opus-4-8 (Max).
Цепочка фолбэков обязательна (см. §6 «Надёжность»): Opus → cc/claude-sonnet-4-6 → kr/claude-sonnet-4.5 (free) → cx/gpt-5.5. Чтобы при исчерпании Max-капа ассистент деградировал, а не падал.
Слой 2 — знания (RAG)
Nextcloud Context Chat индексирует файлы пользователя и автоматически уважает права на файлы: сотрудник получает ответы только из тех документов, к которым у него есть доступ. Это и есть «разные права» — бесплатно, на уровне ACL Nextcloud. Главная фича против Алисы.
Open WebUI коллекции — базы знаний по отделам (например, отдельная коллекция «ГИКЭ» для админ-отдела). Привязываются к группам.
Embeddings — единственная локально-тяжёлая часть даже в облачном сценарии (Anthropic эмбеддинги не даёт). Берём многоязычный embedder (multilingual-e5-large / bge-m3) — критично для русского. Тут пригодится небольшой GPU (см. §6).
Open WebUI (новый LXC на pve-niikn): замена Алисе. Multi-user, группы → доступ к моделям и коллекциям.
Слой 4 — автоматизация (фаза 3+, опционально)
swarmclaw как back-office оркестратор: дайджесты новых документов, триаж/черновики почты, типовые рабочие процессы. Не морда для всех 20 — управляемый инструмент админ-отдела.
5. Модель прав (RBAC)
Группа
Кто
Nextcloud
Open WebUI
niikn-admin (6)
Мауль, Оксана Павловна + админ-отдел
Assistant + Context Chat по всем groupfolders
Opus 4.8 + коллекция «ГИКЭ/внутр. документы»
niikn-staff (~14)
Остальные
Assistant + Context Chat по своим/общим папкам
Sonnet по умолчанию + общая коллекция
В Nextcloud разграничение из коробки: Context Chat не покажет документ тому, у кого нет к нему прав.
В Open WebUI группы маппятся на «какие модели и какие коллекции видит юзер».
SSO (OIDC) через Nextcloud как IdP — фаза 2 (один логин на оба интерфейса). На пилоте 6 аккаунтов можно завести руками.
6. Надёжность («всё должно работать без сбоя») — это главный риск, разбираю отдельно
Риск
Почему
Митигация
Max-кап (5ч) общий
Сейчас один Max-аккаунт делят openclaw, German, swarmclaw, Open WebUI (дома). + 20 офисных юзеров в часы пик → 400 out of extra usage гарантированно
(1) Цепочка фолбэков на бесплатные модели (деградация, не падение). (2) Рекомендую отдельный биллинг для НИИКН: или свой Max-seat, или Anthropic API-ключ с месячным бюджетом-капом. Без этого «без сбоя» не гарантировать
omniroute — SPOF
Одна точка к моделям
systemd auto-restart (есть) + healthcheck + мониторинг в Zabbix (LXC 105 уже есть)
Egress в Anthropic через тоннель
WAN НИИКН (MTS) блокирует много чего; трафик к Anthropic идёт через NetBird/Finland-bypass. Тоннель упал — ИИ молчит
Watchdog'и NetBird уже есть; добавить алерт «omniroute не отвечает» → Олегу через бота
Context Chat тяжёлый/капризный
Python-бэкенд, индексация 2.7 ТБ / ~470k файлов — большая задача
Не индексировать всё вслепую. Скоупим корпус (нужные groupfolders, типы docx/pdf/xlsx), пилот на одной папке. Open WebUI остаётся доступным чатом, даже если индексация Context Chat отстаёт
Железо под embeddings
2.7 ТБ на CPU индексируются медленно
Небольшой GPU на pve-niikn кратно ускоряет индекс. Главная (и почти единственная) аппаратная инвестиция в облачном сценарии
7. Сценарии использования (чем мы лучше Алисы)
«Найди в наших документах все экспертизы по объекту X за 2024» — Context Chat по groupfolders, с учётом прав.
«Сделай резюме этого 80-страничного заключения ГИКЭ».
«Составь черновик официального письма в Минкульт по нашему шаблону».
«Переформулируй/переведи этот раздел».
«Что требует этот регламент?» — общий чат с базой знаний.
Админ-отдел: дайджест новых документов, черновики типовой переписки (фаза 3).
Алиса не видит документы НИИКН, не знает прав сотрудников, шлёт всё в Яндекс и не имеет корпоративной памяти. Наш ассистент — приватнее, знает документы, знает роли.
8. Дорожная карта
Фаза 0 — подготовка (~1 неделя): решить вопрос биллинга (отдельный Max/API для НИИКН); прописать цепочку фолбэков в omniroute; поднять Open WebUI LXC на pve-niikn; создать группы niikn-admin/niikn-staff; выбрать пилотный корпус (одна groupfolder).
Фаза 1 — пилот (2–3 недели): Open WebUI для админ-отдела (6 чел.) как замена Алисе + одна коллекция знаний; Nextcloud Assistant (Smart Picker, резюме, свободный промпт) для них же; Context Chat индексирует пилотный корпус. Сбор обратной связи.
Фаза 2 — раскатка на всех 20:обе морды, полный RBAC, расширение корпуса Context Chat, SSO (OIDC), коллекции по отделам.
Фаза 3 — почта + автоматизация: Mailcow → Nextcloud Mail + почтовые задачи ассистента (резюме/черновики); swarmclaw-автоматизации (дайджесты, триаж).
Фаза 4 — продвинутое: агентные сценарии, шаблоны, помощники вокруг 1С/КриптоАРМ, голосовой ввод.
9. Стоимость (порядок величин)
Модели: ~0 ₽ через Max — при условии решения вопроса с капом (отдельный seat ~$/мес или API с бюджетом).
Железо: существующий Proxmox + 1 новый LXC (Open WebUI, 2 vCPU / 2–4 ГБ) + RAM/диск под векторы. Опционально небольшой GPU под embeddings (главная инвестиция).
Трудозатраты: в основном конфиг — переиспользуем готовые домашние рецепты (Open WebUI deploy уже описан, omniroute работает).
10. Что нужно от Олега для старта
Решение по биллингу — отдельный Max/API-ключ для НИИКН или живём на общем капе + фолбэки? (влияет на «без сбоя»).
Подтвердить состав групп: кто именно 6 человек админ-отдела.
Выбрать пилотную groupfolder для первой индексации.
Есть ли возможность дать GPU на pve-niikn (или индексируем на CPU медленно).