--- date: 2026-05-31 type: project tags: [ai-assistant, alexandr, umnybot, credentials, secrets, openclaw, omniroute] status: active --- # 🔐 AI-ассистент «umnybot» — инфра и креды (пилот Александра) > ⚠️ **КОНФИДЕНЦИАЛЬНО.** Продукт «консьерж в коробке». См. [[PROMPT]] (тех-задание) и память `project_alexandr_assistant`. > Все секреты также лежат на коробке в `/opt/assistant/.env` (chmod 600). ## Коробка (хост + контейнер) | Параметр | Значение | |---|---| | Хост | Proxmox `pve` (pve-147), **10.0.0.147**, root / `1qaz!QAZ` | | Контейнер | **LXC 102 «assistant»**, Debian 12, IP **10.0.0.163** | | root LXC 102 | `j5DS1JSPKewKQw6i7mTK` (уникальный; Mac-ключ `ai@mac-20260112` в authorized_keys) | | Стек | Docker (overlayfs) + Node 22; openclaw 2026.5.27; OmniRoute 3.8.7; Postgres16/pgvector | | Доступ | `sshpass -p '1qaz!QAZ' ssh root@10.0.0.147` → `pct exec 102 -- bash` (или `ssh root@10.0.0.163` по Mac-ключу) | ## OmniRoute (LLM-роутер) | Параметр | Значение | |---|---| | Сервис | systemd `omniroute.service`, слушает **0.0.0.0:20128** | | Дашборд | **https://omni.umnybot.ru** (через NPM, LE) или `http://10.0.0.163:20128` | | Пароль дашборда | **`A30Y7aan8dCKf9`** (Settings → Security можно сменить) | | API-ключ (для openclaw) | **`ork_VQo75huaEVGzhdfD4QlrL2XaxTmNKPTD`** | | Конфиг/секреты | `/root/.omniroute/.env` (STORAGE_ENCRYPTION_KEY + СВЕЖИЕ JWT_SECRET/API_KEY_SECRET — перегенерены перед выходом наружу), `storage.sqlite` | | Старт сервера | `node /usr/lib/node_modules/omniroute/app/server.js` (PORT=20128, HOSTNAME=0.0.0.0) | | Провайдеры | **Kiro** подключён (GitHub device-flow, аккаунт `kiro1@umnybot.ru`) — но **новый аккаунт троттлит (429 AWS CodeWhisperer)**. Олег добавляет 2-й провайдер через дашборд-GUI | | Сброс пароля | `omniroute-reset-password` (интерактивный, нужен `expect` для pipe) | ## openclaw (мозг + каналы) | Параметр | Значение | |---|---| | Версия | 2026.5.27 (глоб. npm), конфиг `/root/.openclaw/openclaw.json` | | Gateway | systemd **`openclaw-gateway.service`** (`openclaw gateway run`), loopback 127.0.0.1:18789 | | Канал | Telegram `@alex_umny_bot` (connected, polling) | | Дефолт-модель | пока `openai/gpt-5.5` (без провайдера) → переключить на `omniroute//` | | Провайдер omniroute | `openclaw models auth paste-api-key` (baseUrl `http://127.0.0.1:20128/v1`, key `ork_VQo…`) | ## Telegram | Параметр | Значение | |---|---| | Бот | **@alex_umny_bot** «Консьерж Бот», id 8601326674 | | Токен | `8601326674:AAEJwbyXGEgEEiIwmfZVdYbG2SxpyMkmDiA` | | Audit chat_id | **1292155421** (Олег, @it5870) | ## Postgres + pgvector `127.0.0.1:5432` (Docker `assistant-postgres`, pgvector/pgvector:pg16) — user `assistant` / `c2e193fb341120471917f720a1c6eeea` / db `assistant`. Compose: `/opt/assistant/docker-compose.yml`. ## Домен umnybot.ru (Spaceweb) | Параметр | Значение | |---|---| | Регистратор/DNS | **Spaceweb**, панель `vps.sweb.ru`, логин `it5870yand` / `1qaz!QAZ` | | API | `POST https://api.sweb.ru/domains/dns` (методы `editMain`/`editMx`/`editTxt`, `action:add`) | | ⚠️ Проверка DNS | **только через DoH** (`curl https://1.1.1.1/dns-query?name=...&type=...`) — `dig` из dttb-сети режется домашним :53-перехватом (ложно-пусто). `action:add` РАБОТАЕТ | | Записи | `omni` A→**176.62.183.186**; `@` MX→`mail.dttb.ru` (10); `@` TXT SPF `v=spf1 ip4:176.62.183.186 ~all`; `dkim._domainkey` (2048); `_dmarc` | | Поддомены план | `omni.` = дашборд OmniRoute; `alex.` = веб ассистента Александра; `.` на будущих | ## Почта (на Mailcow dttb, VM 107) | Параметр | Значение | |---|---| | Ящик ассистента | **`assistant@umnybot.ru`** / **`KQcZnxkB5sMNiVYo`** | | Catch-all | `@umnybot.ru` → `assistant@umnybot.ru` (любой адрес, удобно под регистрацию аккаунтов) | | Вебмейл | **https://mail.dttb.ru** (SOGo) | | IMAP/SMTP | `mail.dttb.ru:993` / `mail.dttb.ru:587` | | Mailcow | 10.0.0.107, admin `admin`/`1qaz!QAZ`, API `dttb-mailcow-api-2026` (с 10.0.0.0/24) | | rspamd whitelist | `github.com`, `sgmail.github.com`, `sendgrid.net` для umnybot.ru (новый домен резался, для приёма GitHub-кодов) | ## Codex/OpenAI ящики (мульти-аккаунт, 2026-05-31) 8 ящиков на umnybot.ru, **общий пароль `1BU5zqB9NxC84h`**: `codex1@umnybot.ru` … `codex8@umnybot.ru` (quota 512MB, real-боксы, не catch-all). Вебмейл https://mail.dttb.ru (логин любым `codexN@umnybot.ru` / пароль). Коды можно тянуть по IMAP `mail.dttb.ru:993`. ⚠️ OpenAI требует телефон при регистрации — реальный потолок числа аккаунтов. ## Аккаунты провайдеров | Сервис | Логин | Заметка | |---|---|---| | GitHub (для Kiro) | `kiro1@umnybot.ru` | пароль задал Олег — **здесь не записан, спросить у Олега**. Зарегистрирован через catch-all (код пришёл в assistant@) | | Kiro (AWS) | через GitHub-логин выше | device-flow, профиль `arn:aws:codewhisperer:us-east-1:...`. Новый аккаунт троттлит | ## NetBird (доступ коробки к сети Александра) | Параметр | Значение | |---|---| | **Setup-key (Benelux)** | `26C84D9A-B71B-474D-BC41-8FAC2C4C6399` (reusable, до 2027-05-31) | | Группа | **Benelux** `d8e5s1jl0ubs73f3g7vg` (туда добавлен Cudy «OpenWrt Benilux»), политика «Benelux Access» | | Коробка в NetBird | `alex-assistant` = **100.70.186.192** (userspace-режим, без TUN — работает; TUN прописан в `/etc/pve/lxc/102.conf`, активируется при `pct reboot 102`) | | Цель | достать Cudy Александра **100.70.207.97** (ping ✅ ~62мс) → jump на Mac (`aleksandrgrigorev`/`gav1971@`)/устройства | | Управление NetBird | `api.netbird.io`, токен `nbp_…` в `projects/dttb/credentials.md` | | ⚠️ Безопасность | Default-политика NetBird = `All↔All` → коробка достаёт и др. сети Олега. **Для продукта — Александра в ОТДЕЛЬНЫЙ NetBird** (изоляция + автономность). | ## NPM (reverse proxy) | Параметр | Значение | |---|---| | Текущий | основной NPM **10.0.0.195** (it5870@yandex.ru/`1qaz!QAZ`): proxyhost **id30** `omni.umnybot.ru`→`10.0.0.163:20128`, cert **id115** (LE до 2026-08-29), websocket-upgrade вкл | | План | перенести на **NPM коробки** (LXC 101 pve-147, 10.0.0.207) для автономности; ограничение — публичный 443 один на дом, при передаче коробки к клиенту его роутер сразу на NPM коробки | ## Статус (2026-05-31) Этап 1 почти закрыт. Тракт TG→openclaw→OmniRoute→Kiro-роутинг проверен (429 = достучались). Блокер: рабочая модель (новый Kiro троттлит → Олег подключает 2-й провайдер). Дальше: openclaw model=omniroute/* + fallback → тест «привет» в TG.