Initial: Mesh-Configs vom 03.09.2026 01:23

This commit is contained in:
root
2026-09-03 01:23:55 +02:00
commit 4b65134f8c
797 changed files with 146197 additions and 0 deletions
+119
View File
@@ -0,0 +1,119 @@
---
name: model-allocation
description: >-
Kostenkontrollierte, verhältnismäßige Modell-Auswahl für Hermes-Agents.
Drei Ebenen: tägliche Ausrichtung, stündliches Feintuning, Task-bezogenes Matching.
Lokaler Fallback über VPS-Ollama (deepseek-r1:7b) mit 64k+ Kontext und Thinking.
Budget: 1€/Tag/Agent, bei Überschreitung → postpone + lokaler Fallback.
related_skills: [multi-agent-mesh]
---
# Model-Allocation-Skill
Automatisierte Entscheidungslogik für Modell-Wahl pro Agent und Task.
## Prinzipien
- **Kosten ~99% Gewicht**, Zeit spielt keine Rolle
- **Kein Free-Only-Zwang**, aber proportionaler Aufstieg erlaubt
- **Kein Ferrari-Sprung** (>5x Kosten) ohne manual_override
- **Diversität** als Ziel (min 3 Modell-Familien)
## Die drei Ebenen
### Ebene 1 — Täglich (grobe Ausrichtung)
- `scripts/daily_model_check.py`
- Holt Modell-/Preisliste (Mock → OpenRouter-API)
- Filtert ≥64k Kontext, baut Prioritätsliste pro Agent
- Prüft Diversität, schreibt `state/model_priority.json`
### Ebene 2 — Stündlich (Feintuning)
- `scripts/hourly_finetune_check.py`
- Prüft Budget-Warnschwelle (1€/Tag/Agent), Verfügbarkeit, Rate-Limits
- Bei Überschreitung: Tasks auf nächsten Tag verschieben
- Einfache Anfragen → lokales VPS-Ollama (`deepseek-r1:7b`)
### Ebene 3 — Task-bezogen (Feinauswahl)
- `scripts/task_agent_matcher.py`
- Input: Capability-Tag → findet günstigste passende Kombination
- Eskaliert max eine Stufe bei Fehlschlag
- Fallback auf lokales Ollama wenn kein Agent verfügbar
- Max 3 Retries pro Task
## Konfiguration
Siehe `config/agents.yaml` für die vollständige Config.
Siehe `references/agents-config.md` für eine kompakte Übersicht.
Pro Agent: Modell, Eskalationsleiter, Tags, Budget
Global: min_context=64000, max_escalation=5x, min_diversity=3
`local_fallback.model: deepseek-r1:7b` (Thinking + 128k Kontext)
## Lokale Modelle auf dem VPS
| Modell | Größe | Kontext | Thinking | Status |
|--------|-------|---------|----------|--------|
| `deepseek-r1:7b` | 4.7 GB | 128k | ✅ | aktiv (Default) |
| `deepseek-r1:14b` | 9.0 GB | 128k | ✅ | runtergeladen, ungetestet |
### ⚠️ WICHTIG: Ollama Bindungs-Address
Das Ollama-Installation auf dem VPS lauscht an `172.24.196.119:11434` (VPS-Externe IP), NICHT an `localhost:11434`.
**Konsequenz:** Das Config-`base_url` muss `http://172.24.196.119:11434/v1` lauten, damit das Modell von anderen Mesh-Agenten (oder demselben Agenten im Netzwerk) darauf zugreifen kann.
Fehlgeschlagene Verbindungssymptome:
- `curl http://localhost:11434/api/tags` → Connection refused (wenn Ollama nicht localhost-bound)
- Modell kann lokalen Ollama-Fallback nicht erreichen
- Task fällt auf nächstes teureren OpenRouter-Modell aus
**Behebung:** Config-Key `ollama.base_url` auf `http://172.24.196.119:11434/v1` setzen. Siehe `references/ollama-bind-address.md` für Details.
**Warum deepseek-r1:7b?** Thinking + 128k Kontext in 4.7 GB — optimal für 16 GB RAM VPS.
`deepseek-r1:14b` ist Upgrade-Option sobald RAM-Puffer bestätigt ist.
## Setup
```bash
pip install pyyaml --break-system-packages
```
Detailierte Modell-Vergleiche: `references/local-model-comparison.md`
## Cron
### Lokal (auf Hub/Agent A via Hermes-Cron)
```bash
hermes cron add --schedule '0 3 * * *' --name model-allocation-daily \
--prompt 'cd ~/.hermes/skills/devops/model-allocation && python3 scripts/daily_model_check.py'
hermes cron add --schedule '0 * * * *' --name model-allocation-hourly \
--prompt 'cd ~/.hermes/skills/devops/model-allocation && python3 scripts/hourly_finetune_check.py'
```
### Auf Remote-Agents per SSH (crontab)
Verwende ein Setup-Script für mehrere Agenten gleichzeitig:
```bash
# setup_model_cron.sh
mkdir -p $HOME/.hermes/logs
if crontab -l 2>/dev/null | grep -q 'model-allocation'; then
echo "Cron bereits da"; exit 0
fi
(crontab -l 2>/dev/null
echo "# model-allocation: täglich 03:00"
echo "0 3 * * * cd \$HOME/.hermes/skills/devops/model-allocation \\"
echo " && python3 scripts/daily_model_check.py >> \$HOME/.hermes/logs/model-allocation-daily.log 2>&1"
echo "# model-allocation: stündlich"
echo "0 * * * * cd \$HOME/.hermes/skills/devops/model-allocation \\"
echo " && python3 scripts/hourly_finetune_check.py >> \$HOME/.hermes/logs/model-allocation-hourly.log 2>&1"
) | crontab -
echo "Cron eingerichtet"
# Auf mehreren Remotes gleichzeitig:
for ip in 172.24.20.26 172.24.34.142 172.24.178.202; do
sshpass -p 'PW' scp setup_model_cron.sh user@$ip:/tmp/
sshpass -p 'PW' ssh user@$ip 'bash /tmp/setup_model_cron.sh'
done
```