114 lines
7.5 KiB
Markdown
114 lines
7.5 KiB
Markdown
---
|
||
date: 2026-03-04
|
||
updated: 2026-04-29
|
||
type: project
|
||
tags: [niikn, bot, maxim-maul]
|
||
---
|
||
|
||
# Clawdbot НИИКН — бот **Максима Мауля** (LXC 114, Proxmox НИИКН)
|
||
|
||
> **Для кого:** Максим Мауль (Руководитель НИИКН). НЕ путать с Оксаной Павловной (другой руководитель НИИКН, VIP, КриптоАРМ).
|
||
|
||
- **Расположение:** 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/`, реквизиты НИИКН
|
||
|
||
<!-- AUTO-SYNC FROM MEMORY.MD - DO NOT EDIT BELOW -->
|
||
## 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)
|
||
<!-- END AUTO-SYNC -->
|