From 9f7eba70d9428043ff80c43f95db133481eee79b Mon Sep 17 00:00:00 2001 From: dttb Date: Sun, 31 May 2026 12:34:18 +0300 Subject: [PATCH] =?UTF-8?q?AI-=D0=B0=D1=81=D1=81=D0=B8=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=20umnybot:=20=D0=BA=D1=80=D0=B5=D0=B4=D1=8B=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=BD=D1=84=D1=80=D0=B0=20=D0=BF=D0=B8=D0=BB?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=20(=D0=BA=D0=BE=D1=80=D0=BE=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0/OmniRoute/TG/=D0=B4=D0=BE=D0=BC=D0=B5=D0=BD/=D0=BF=D0=BE?= =?UTF-8?q?=D1=87=D1=82=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- .../dttb/ai-assistant-pilot/credentials.md | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 projects/dttb/ai-assistant-pilot/credentials.md diff --git a/projects/dttb/ai-assistant-pilot/credentials.md b/projects/dttb/ai-assistant-pilot/credentials.md new file mode 100644 index 0000000..1f8bd24 --- /dev/null +++ b/projects/dttb/ai-assistant-pilot/credentials.md @@ -0,0 +1,94 @@ +--- +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-кодов) | + +## Аккаунты провайдеров + +| Сервис | Логин | Заметка | +|---|---|---| +| GitHub (для Kiro) | `kiro1@umnybot.ru` | пароль задал Олег — **здесь не записан, спросить у Олега**. Зарегистрирован через catch-all (код пришёл в assistant@) | +| Kiro (AWS) | через GitHub-логин выше | device-flow, профиль `arn:aws:codewhisperer:us-east-1:...`. Новый аккаунт троттлит | + +## 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.