Files
knowledge-base/projects/dttb/ai-assistant-pilot/credentials.md
dttb a7fac84f6e Алекс (пилот): доступ к UniFi (Cloud Key→mongo) + печать на HP M775 (CUPS+IPP DNAT)
- alex-router.sh / alex-unifi.sh / alex-print.sh на коробке
- UniFi через Cudy→dbclient→mongo ace (API залочен SSO)
- печать CUPS Everywhere через DNAT Cudy 6310→148:631, персистентно nftables.d
- проверено в TG: Алекс сам зовёт инструменты

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 21:09:08 +03:00

11 KiB
Raw Blame History

date, type, tags, status
date type tags status
2026-05-31 project
ai-assistant
alexandr
umnybot
credentials
secrets
openclaw
omniroute
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.147pct 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/<provider>/<model>
Провайдер 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. = веб ассистента Александра; <client>. на будущих

Почта (на Mailcow dttb, VM 107)

Параметр Значение
Ящик ассистента assistant@umnybot.ru / KQcZnxkB5sMNiVYo
Catch-all @umnybot.ruassistant@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.rucodex8@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 (изоляция + автономность).

Инструменты Алекса — управление устройствами Александра (2026-05-31)

Алекс ходит в сеть Александра: коробка → NetBird → Cudy (100.70.207.97) → LAN. Прямой роут в 192.168.1.0/24 нельзя (коллизия с Знаменское/НИИКН в NetBird) → всё джампом через Cudy. Обёрнуто в скрипты на коробке (/opt/assistant/), Алекс зовёт их через exec (exec-policy = yolo). Проверено в живом диалоге (TG): «какие точки wifi по комнатам» → Алекс сам зовёт alex-unifi.sh.

Скрипт Что делает
alex-router.sh [status|devices|printer|dns] Cudy: статус обхода (awg show awg0), DHCP-аренды, пинг принтера, FakeIP-DNS. read-only
alex-unifi.sh [list|check <ip>] UniFi: точки/свитчи по комнатам + онлайн-проверка пингом. read-only
alex-print.sh (текст на stdin) Печать на HP M775, кириллица через paps→CUPS

UniFi (Cloud Key Gen2+ 192.168.1.199)

  • Доступ: SSH через CudyDROPBEAR_PASSWORD='1qaz!QAZ!QAZ' dbclient -y root@192.168.1.199 (sshpass на Cudy нет; dropbear dbclient берёт пароль из env).
  • ⚠️ Локальный UniFi-API залочен SSO (/api/auth/login = 403). Данные тянем из MongoDB контроллера: mongo --quiet --port 27117 ace --eval "db.device.find({},{name:1,ip:1,model:1,_id:0}).forEach(printjson)". Поле state пустое → онлайн проверяем пингом точки с Cudy.
  • 13×UAP6MP по комнатам + 7 свитчей, см. benelux-topology.

Принтер (HP LaserJet M775 192.168.1.148)

  • 9100/515 закрыты, открыт только IPP/631 (+AirPrint).
  • Печать: CUPS на коробке (apt: cups cups-client cups-filters paps), очередь alex = ipp://100.70.207.97:6310/ipp/print (IPP Everywhere, lpadmin -m everywhere).
  • Коробка достаёт принтер через DNAT на Cudy: 100.70.207.97:6310 (NetBird) → 192.168.1.148:631. Персистентно: /etc/nftables.d/30-alex-printer.nft (dstnat + masquerade только для saddr 100.70.186.192; fw4 check ОК, fw4 reload применён).
  • Кириллица: paps --font='DejaVu Sans Mono 11' → PostScript → CUPS. Хелпер /opt/assistant/alex-print.sh. Тест-лист напечатан (job completed).

NPM (reverse proxy)

Параметр Значение
Текущий основной NPM 10.0.0.195 (it5870@yandex.ru/1qaz!QAZ): proxyhost id30 omni.umnybot.ru10.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.