diff --git a/projects/niikn/clawdbot-niikn.md b/projects/niikn/clawdbot-niikn.md index 66ec350..3e02338 100644 --- a/projects/niikn/clawdbot-niikn.md +++ b/projects/niikn/clawdbot-niikn.md @@ -1,27 +1,101 @@ --- date: 2026-03-04 +updated: 2026-04-29 type: project -tags: [niikn, bot] +tags: [niikn, bot, maxim-maul] --- -# Clawdbot-1 / НИИКН (LXC 133) +# Clawdbot НИИКН — бот **Максима Мауля** (LXC 114, Proxmox НИИКН) -- IP: 10.0.0.237, Netbird: 100.70.200.150 (clawdbot-1.netbird.cloud) -- Telegram: @maximka_assistant_bot (token: 8279417986:AAEjmdnOSO4izFHZJZYPbjcqKzqLARqPnow) -- Model: cliproxy/claude-sonnet-4-6 (через CLIProxy на 129 — http://10.0.0.206:8317) -- CLIProxy: свой остановлен и отключен (cliproxy.service disabled), ходит через 129 -- ZAI_API_KEY=5c83707827ef... в /etc/systemd/system/clawdbot.service (не используется) -- Персона: бот для НИИКН (SOUL.md/IDENTITY.md/USER.md в /root/clawd/) -- SMB: нет (клон без mp0) +> **Для кого:** Максим Мауль (Руководитель НИИКН). НЕ путать с Оксаной Павловной (другой руководитель НИИКН, VIP, КриптоАРМ). - -## Clawdbot-1 / НИИКН (LXC 133) -- IP: 10.0.0.237, Netbird: 100.70.200.150 (clawdbot-1.netbird.cloud) -- Telegram: @maximka_assistant_bot (token: 8279417986:AAEjmdnOSO4izFHZJZYPbjcqKzqLARqPnow) -- Model: omniroute/kr/claude-sonnet-4.5 — **БЕСПЛАТНО через OmniRoute** (10.0.0.179:20128) -- OmniRoute: использует Kiro провайдер (AWS бесплатный), API key: sk-225e902dc95ff192... -- Переключён с CLIProxy на OmniRoute 2026-04-13 -- CLIProxy: свой остановлен и отключен (cliproxy.service disabled) -- Персона: бот для НИИКН через Nextcloud Talk (SOUL.md/IDENTITY.md/USER.md в /root/clawd-admin, /root/clawd-assistant) -- SMB: нет (клон без mp0) - +- **Расположение:** Proxmox НИИКН 192.168.1.201 → LXC **114** `Maxim-Maul-Assistant` +- **IP:** 192.168.1.58 (LAN), NetBird daemon 0.67.2 запущен +- **Telegram:** `@assistent_maximka_bot` (token см. в `projects/niikn/credentials.md`) +- **Allowlist (расшифровка):** + - `437242345` = **Максим Мауль** (@performi) — основной пользователь + - `1292155421` = Олег Батлаев (@it5870) — администратор +- **Бинарь:** `clawdbot` v2026.1.24-3 (не openclaw — старый стек) +- **systemd unit:** `/etc/systemd/system/clawdbot.service` (root) + override `clawdbot.service.d/override.conf` +- **Конфиг:** `/root/.clawdbot/clawdbot.json` +- **Персона:** "Максимка" (SOUL.md/IDENTITY.md/USER.md/MEMORY.md в `/root/clawd/`) + +## Модельная схема (после миграции 2026-04-29) +``` +primary : omniroute/kr/claude-sonnet-4.5 ← Sonnet 4.5 (Kiro AWS, FREE) +fallbacks: + 1. omniroute/cc/claude-sonnet-4-6 ← Sonnet 4.6 (CLIProxy/Max, FREE) + 2. anthropic/claude-sonnet-4-6 ← Anthropic API (платно, аварийный) + 3. openrouter/qwen/qwen3.6-plus:free ← последний рубеж +``` +- OmniRoute base: `http://10.0.0.179:20128/v1` (доступ через NetBird, ping 16ms) +- CLIProxy `10.0.0.206:8317` — НЕ доступен из НИИКН (нет в маршрутах NetBird) + +## История миграции LXC 133 → LXC 114 +- **LXC 133 (Clawdbot-1, dttb 10.0.0.237)** удалён. Был старый бот для НИИКН с `@maximka_assistant_bot`. +- **LXC 114 (Maxim-Maul-Assistant, НИИКН 192.168.1.58)** — текущий бот для Максима Мауля с `@assistent_maximka_bot`. + +## Fix 2026-04-29 (crash-loop) +До правки: 65 рестартов/день, `Unhandled promise rejection: TypeError: fetch failed` каждые ~30 мин, +postоянные `[bonjour] gateway name conflict`. Причина: primary=`openrouter/qwen/qwen3.6-plus:free` нестабилен. +Применено: +1. Добавлен provider `omniroute` в `clawdbot.json` (тот же endpoint что у Максимки на dttb-LXC 137) +2. Сменён primary на `omniroute/kr/claude-sonnet-4.5` +3. systemd override: `NODE_OPTIONS=--dns-result-order=ipv4first` + `CLAWDBOT_DISABLE_BONJOUR=1` (best-effort) +4. Backup: `/root/.clawdbot/clawdbot.json.bak.before-fix-20260429` +5. Hostname `Boss-Assistant` → `Maxim-Assistant` → **`Maxim-Maul-Assistant`**, tags `boss` → `maxim-maul` + +## Скиллы бота (2026-04-29) +1. **`/root/clawd/scripts/make_docx.py`** — markdown stdin → `.docx` (через `python-docx 1.2.0` в `docbot-env`) +2. **`/root/clawd/scripts/make_xlsx.py`** — JSON/CSV stdin → `.xlsx` (через `openpyxl 3.1.5`) +3. **`/root/clawd/scripts/nc_save.sh`** — кладёт файл в `/Maximka-Bot/` Максима на Nextcloud `https://niikn.com`, возвращает view-ссылку + +Креды Nextcloud для бота: `/root/.clawdbot/nextcloud-creds.env` (chmod 600, подцеплено через systemd EnvironmentFile). +Учётка: `maksimmaul@gmail.com` (App Password в `projects/niikn/credentials.md`). +Внутренний URL для записи: `http://192.168.1.200:11000` (внешний `https://niikn.com` ломается hairpin'ом из НИИКН-LAN). + +Описание скиллов для бота: `/root/clawd/TOOLS.md`. SOUL.md содержит раздел "Работа с документами Максима". + +## Runbook — быстрые команды + +### Как зайти на бота (LXC 114, НИИКН Proxmox) +```bash +# через jump-host openclaw на dttb: +sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 +pct exec 137 -- bash +sshpass -p '1qaz!QAZ' ssh root@192.168.1.201 # Proxmox НИИКН +pct exec 114 -- bash # бот Максима Мауля +``` + +### Здоровье бота +```bash +systemctl is-active clawdbot.service +systemctl show clawdbot.service -p ActiveEnterTimestamp -p NRestarts --value +journalctl -u clawdbot.service --since today --no-pager | grep -iE "agent model|FAILURE|fetch failed" +``` + +### Сменить модель +Правка `/root/.clawdbot/clawdbot.json` → `agents.defaults.model.primary`. Текущая схема: `omniroute/kr/claude-sonnet-4.5` (FREE через Kiro AWS). Не трогать без причины. После правки `systemctl restart clawdbot`. + +### Скиллы +- `/root/clawd/scripts/make_docx.py` — markdown → .docx +- `/root/clawd/scripts/make_xlsx.py` — JSON/CSV → .xlsx +- `/root/clawd/scripts/nc_save.sh` — кладёт файл в `/Maximka-Bot/` Максима +- Описание для бота: `/root/clawd/TOOLS.md` + +### Креды (где что лежит) +- Конфиг бота: `/root/.clawdbot/clawdbot.json` (там Telegram token, allowlist, OpenRouter/Anthropic ключи) +- Креды Nextcloud: `/root/.clawdbot/nextcloud-creds.env` (chmod 600, через systemd EnvironmentFile) +- Backup конфига: `/root/.clawdbot/clawdbot.json.bak.before-fix-20260429` +- Backup персоны: `/root/clawd/backups/{USER,MEMORY,SOUL}.md.bak-*` + +### Если бот не отвечает +1. `systemctl status clawdbot` — что говорит systemd +2. `journalctl -u clawdbot.service -n 50 --no-pager` — последние 50 строк +3. Если `fetch failed` каждые 5-30 мин — модель отвалилась, попробовать `gh/claude-opus-4.6` или `anthropic/claude-sonnet-4-6` как primary +4. Если bonjour name conflict в логах — игнорировать, не критично (отключить через config нельзя — старая версия не знает плагин) + +### Что сделано Максиму на 2026-04-29 +- Отправлен `message_id=553` в Telegram со ссылкой на отчёт `/Maximka-Bot/Отчёт_что_я_умею_и_что_нужно.docx` — представление бота, что умеет и что нужно от Максима +- Папка `/Maximka-Bot/` создана в его Nextcloud, готова к работе +- Ожидаем от Максима: приоритеты (что важно), 2-3 шаблона договоров в `/Maximka-Bot/templates/`, реквизиты НИИКН diff --git a/projects/niikn/credentials.md b/projects/niikn/credentials.md new file mode 100644 index 0000000..e96323e --- /dev/null +++ b/projects/niikn/credentials.md @@ -0,0 +1,64 @@ +--- +date: 2026-04-29 +type: project +tags: [niikn, secret] +--- + +# 🔐 Credentials — НИИКН + +> ⚠️ **КОНФИДЕНЦИАЛЬНО** — не распространять за пределы команды + +--- + +## Proxmox НИИКН + +| Параметр | Значение | +|----------|----------| +| URL | https://192.168.1.201:8006 / https://pve.niikn.com | +| Логин | `root` | +| Пароль | `1qaz!QAZ` | + +## Nextcloud НИИКН (VM 108, niikn.com) + +| Параметр | Значение | +|----------|----------| +| URL внешний (продакшн) | https://niikn.com | +| URL внутренний | http://192.168.1.200:11000 (AIO Apache, для бота из LXC 114) | +| SSH VM 108 | `cloud / 1qaz!QAZ` (sudo тот же) | +| AIO mastercontainer | https://niikn.com:8080 | +| Управление occ | `sudo docker exec -u www-data nextcloud-aio-nextcloud php /var/www/html/occ ...` | +| Альтернативный домен | `new.niikn.com` использовался при миграции 2026-02-24, не основной | + +### App Password — бот Максимки (clawdbot LXC 114) для Максима Мауля +| Параметр | Значение | +|----------|----------| +| Учётка | `maksimmaul@gmail.com` (Максим Мауль, группы: НИИКН + admin) | +| App Password | `pemJyHf3Mozctri4khLjlvmVIeHXSA15jReiADN86axba8b8v98dOeRS4cc9tcndM7XnNpRi` | +| Создан | 2026-04-29 командой `occ user:add-app-password maksimmaul@gmail.com` | +| Назначение | WebDAV из бота Максимки → папка `/Maximka-Bot/` в учётке Максима | +| Где хранится | LXC 114 → `/root/.clawdbot/nextcloud-creds.env` (chmod 600) | +| Отозвать | через UI настроек Максима → Security → Devices & sessions → revoke | + +### Nextcloud VM 100 (старый, 192.168.1.245, niikn.com) +| Параметр | Значение | +|----------|----------| +| URL | https://niikn.com (мигрирован, осталось только для legacy-доступа) | +| SSH | `cloud / 1qaz!QAZ` | +| Tailscale IP | 100.70.117.21 | +| AIO URL | http://192.168.1.245:8080 | +| ⚠️ Состояние на 2026-04-29 | контейнер `nextcloud-aio-nextcloud` в crash-loop, datadir пуст — требует диагностики | + +## Бот Максимки (LXC 114, Maxim-Maul-Assistant) + +| Параметр | Значение | +|----------|----------| +| Telegram | `@assistent_maximka_bot` | +| Bot Token | `8739202758:AAHbNnNCMQPgVMPL4x3N1eMkWWBCCL2dJ7Y` | +| Allowlist (DM) | `1292155421` (Максим Мауль), `437242345` (Олег) | +| Gateway token | `boss-secret-2026` | + +## Telegram-боты НИИКН (старые, для архива) + +| Bot | Token | Статус | +|---|---|---| +| @maximka_assistant_bot | `8279417986:AAEjmdnOSO4izFHZJZYPbjcqKzqLARqPnow` | LXC 133 (удалён); токен может быть отозван |