From c655cef22617bf7f4c97685b1a9d55e35b5f0c37 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 12 May 2026 21:57:05 +0600 Subject: [PATCH] 2026-05-12 kraken: hermes agent plan, model validation, obsidian sync task --- family/how-to/openmediavault-rpi5.md | 84 ++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 10 deletions(-) diff --git a/family/how-to/openmediavault-rpi5.md b/family/how-to/openmediavault-rpi5.md index 76837af1..47658001 100644 --- a/family/how-to/openmediavault-rpi5.md +++ b/family/how-to/openmediavault-rpi5.md @@ -6,7 +6,7 @@ tags: - how-to created: '2026-05-11' updated: '2026-05-12' -status: timemachine-ready +status: hermes-pending ip: 192.168.1.14 --- # OpenMediaVault на Raspberry Pi 5 @@ -28,7 +28,8 @@ ip: 192.168.1.14 | 8 — Контейнеры | ✅ | Все через отдельные docker compose, конфиги на HDD (см. ниже) | | 9 — Time Machine share | ✅ | `mbentley/timemachine:smb`, расписание 10:00-22:00 GMT+6, HDD/timemachine | | 10 — Перенос данных | 🔲 | | -| 11 — Hermes агент Кракен | 🔲 | | +| 11 — Hermes агент Кракен | 🚧 | Dockerfile + config готовы, нужно: заполнить .env, HA token, собрать образ | +| 12 — Obsidian sync (Taiga↔Kraken↔Eagle) | 🔲 | Настроить синхронизацию vault между всеми тремя агентами | --- @@ -241,16 +242,79 @@ rsync -avh --progress /path/to/movies/ kraken@kraken.local:/srv/.../media/movies ## Шаг 11 — Hermes агент Кракен -По образу агента Тайга (TrueNAS). Установить Hermes на Pi: - -```bash -# TODO: уточнить команду установки по образу Тайги +### Файлы +``` +/home/kraken/hermes/ + Dockerfile — образ на базе node:20-slim + hermes-agent + obsidian-mcp + docker-compose.yml — restart: unless-stopped, network_mode: host + .env — API ключи (заполнить вручную) + config.yaml → копируется в /srv/.../docker/hermes/config/config.yaml ``` -- Конфиг: `~/.hermes/config.yaml` -- Namespace: `family` -- Подключить к Discord/Zulip -- Настроить доступ к vault через obsidian-mcp +### Модели (проверено 2026-05-12) +Бесплатные модели с tool calling на OpenRouter: +| Модель | Статус | +|--------|--------| +| `nvidia/nemotron-3-super-120b-a12b:free` | ✅ работает | +| `openrouter/free` | ✅ fallback (авто-роутинг) | +| `deepseek/deepseek-chat-v3-0324:free` | ❌ 404 | +| `qwen/qwen3-235b-a22b:free` | ❌ 404 | +| `google/gemma-4-31b-it:free` | ❌ 429 rate limit | + +**Primary**: `nvidia/nemotron-3-super-120b-a12b:free` (262K ctx, tools ✅) +**Auxiliary/Fallback**: `openrouter/free` +**Рекомендуется**: добавить `GOOGLE_API_KEY` → Gemini Flash как auxiliary + +### Telegram бот +- Имя: Кракен +- Bot: [@kraken_htpc_bot](https://t.me/kraken_htpc_bot) +- Token: `8750114596:AAH625OBSdb_Bn7ZSwshjDD3mbENnkSRYag` + +### Toolsets +`hermes-cli, terminal, file, web, web_crawler, memory, spotify, homeassistant` + +### Деплой (после заполнения .env) +```bash +# Заполнить ключи: +nano /home/kraken/hermes/.env +# OPENROUTER_API_KEY=sk-or-... +# GOOGLE_API_KEY=... +# HASS_TOKEN=... (создать в HA UI → Profile → Long-Lived Access Tokens) + +# Собрать и запустить: +cd /home/kraken/hermes +sudo docker compose build +sudo docker compose up -d + +# Проверить: +sudo docker logs hermes-kraken --tail 20 +``` + +### TODO +- [ ] Заполнить .env (OPENROUTER_API_KEY, GOOGLE_API_KEY) +- [ ] Настроить HA → создать Long-Lived token → вписать в HASS_TOKEN +- [ ] Собрать и запустить контейнер +- [ ] Настроить obsidian-mcp (vault path = /vault) +- [ ] Перенести Spotify auth с Eagle (или запарить заново) + +--- + +## Шаг 12 — Obsidian sync (Taiga ↔ Kraken ↔ Eagle) + +Все три агента должны работать с одним vault. Варианты: +- **Git sync** — vault в git repo, каждый агент делает pull/push +- **rsync** — периодическая синхронизация через SSH +- **Syncthing** — p2p sync без облака + +Текущее состояние vault: +- Eagle (Mac): `~/obsidian/` — git repo, auto-commit 23:00 +- Taiga (TrueNAS): `/mnt/RED_2TB/storage/obsidian/` — read-only mount +- Kraken (RPi): `/vault` — пока не подключён + +**Следующие шаги:** +- [ ] Определить схему sync (git vs syncthing vs rsync) +- [ ] Настроить write-доступ на Тайге и Кракене +- [ ] Автоматический pull на всех агентах при изменениях ---