Files
knowledge-base/projects/niikn/clawdbot-niikn.md

114 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 -->