126 lines
4.0 KiB
Markdown
126 lines
4.0 KiB
Markdown
# Athena AI
|
||
|
||
Athena ist die lokale Inferenzmaschine. Der reproduzierbare Docker-Stack stellt
|
||
Qwen über eine kleine OpenAI-kompatible Router-API bereit und übernimmt lokale
|
||
Bild- und Sprachausgabe. **Hermes und die Fach-MCPs laufen auf Unraid.**
|
||
|
||
## Aktueller Aufbau
|
||
|
||
### Athena
|
||
|
||
- genau ein aktives llama.cpp-Profil: Fast, Medium, Large, Ultra oder Uncensored
|
||
- Profile Router auf Port 8081
|
||
- FLUX.2-klein-4B für Textbilder und Referenzbild-Bearbeitung auf der RTX 5080
|
||
- XTTS auf der RTX 3060 mit Piper als CPU-Fallback
|
||
- Live-Dashboard mit 21 Tagen Detailhistorie auf Port 8099
|
||
- WireGuard-Gateway, Datenbackup und Athena-Operator
|
||
- keine produktive Hermes-, OpenWebUI- oder portable Fach-MCP-Instanz
|
||
|
||
### Unraid
|
||
|
||
- offizieller Hermes-Agent mit persistentem Appdata
|
||
- je ein eigener Container für ARR, Deemix, Navidrome, STRATO und
|
||
Nginx Proxy Manager
|
||
- MUA/Unraid-MCP als Unraid-Plugin
|
||
- Media-Tools als nachrüstbare Werkzeugkiste
|
||
- Sicherung durch das vorhandene Unraid-Appdata-Backup
|
||
|
||
Hermes nutzt Athenas Router unter `http://192.168.1.212:8081/v1`. Ein MCPHub
|
||
ist nicht mehr Bestandteil der produktiven Architektur.
|
||
|
||
## Installation – ein Befehl
|
||
|
||
```bash
|
||
cp config/install.env.example /root/mike-ai-install.env
|
||
# Werte in /root/mike-ai-install.env eintragen und chmod 600 setzen
|
||
sudo ./install.sh --config /root/mike-ai-install.env
|
||
```
|
||
|
||
Das Installationsskript baut llama.cpp und die lokalen Images, lädt die
|
||
versionierten Modellartefakte und startet ausschließlich den Athena-Kern.
|
||
|
||
## Betrieb
|
||
|
||
```bash
|
||
# Konfiguration prüfen
|
||
./manage.sh validate
|
||
|
||
# Gesamten Athena-Kern gezielt aktualisieren
|
||
./manage.sh deploy core
|
||
|
||
# Nur einen Dienst ausrollen
|
||
./manage.sh deploy router
|
||
|
||
# Eindeutige Altcontainer entfernen
|
||
./manage.sh purge-legacy
|
||
|
||
# Read-only Ende-zu-Ende-Test
|
||
sudo ./smoke-test.sh
|
||
```
|
||
|
||
### Ein oder zwei Modell-Slots
|
||
|
||
Produktiv laufen alle Profile mit einem Slot. Damit erhält ein einzelner Chat
|
||
den vollständigen Profilkontext und die bewährte Ausgabegeschwindigkeit. Die
|
||
Einstellung liegt auf Athena in `/etc/mike-ai/stack.env`:
|
||
|
||
```bash
|
||
MEDIUM_PARALLEL_SLOTS=1
|
||
```
|
||
|
||
Für einen späteren erneuten Paralleltest wird der Wert auf `2` gesetzt und nur
|
||
das betroffene Profil neu erstellt:
|
||
|
||
```bash
|
||
sed -i 's/^MEDIUM_PARALLEL_SLOTS=.*/MEDIUM_PARALLEL_SLOTS=2/' /etc/mike-ai/stack.env
|
||
cd /opt/mike-ai/stack
|
||
docker compose --env-file /etc/mike-ai/stack.env up -d --no-deps --force-recreate llama-medium
|
||
```
|
||
|
||
Zurück zum stabilen Ein-Slot-Betrieb geht es mit denselben Befehlen und
|
||
`MEDIUM_PARALLEL_SLOTS=1`. `--kv-unified` ist bereits im Compose-Stack gesetzt.
|
||
Zwei Slots funktionieren direkt am Router; Hermes verwaltete zwei gleichzeitig
|
||
aktive Chats jedoch nicht zuverlässig. Deshalb bleibt ein Slot der Standard,
|
||
bis Hermes' Sitzungsfehler behoben ist.
|
||
|
||
Router-API: `http://<WireGuard-IP>:8081/v1`
|
||
|
||
## Endpunkte
|
||
|
||
- Router: `http://192.168.1.212:8081/v1`
|
||
- Athena-Dashboard: `http://192.168.1.212:8099`
|
||
- Hermes-Dashboard auf Unraid: `http://192.168.1.2:9119`
|
||
|
||
Die Adressen sind nur über die vorgesehenen privaten Netze erreichbar.
|
||
|
||
## Ausgegliederte MCPs
|
||
|
||
- [ARR-MCP](https://git.casaderoll.de/michael/arr-mcp)
|
||
- [Deemix-MCP](https://git.casaderoll.de/michael/Deemix-MCP)
|
||
- [Strato-MCP](https://git.casaderoll.de/michael/Strato-MCP)
|
||
|
||
Weitere produktive Container verwenden ihre jeweiligen Upstream-Images und
|
||
Unraid-DockerMan-Templates. Details stehen in
|
||
[docs/MCP_SERVERS.md](docs/MCP_SERVERS.md).
|
||
|
||
## Wiederherstellung
|
||
|
||
Nach einer frischen Debian-Installation und erneut eingehängtem `/data`:
|
||
|
||
```bash
|
||
sudo ./install.sh --config /root/mike-ai-install.env
|
||
sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz
|
||
sudo ./smoke-test.sh
|
||
```
|
||
|
||
Der genaue Sicherungsumfang steht in [docs/RECOVERY.md](docs/RECOVERY.md).
|
||
|
||
## Verbindliche Dokumentation
|
||
|
||
- [ATHENA.md](ATHENA.md) – kurze Betriebsanleitung
|
||
- [docs/STANDARD_PROFILE_MATRIX.md](docs/STANDARD_PROFILE_MATRIX.md) – Profile
|
||
- [docs/MCP_SERVERS.md](docs/MCP_SERVERS.md) – produktive Werkzeuge
|
||
- [docs/RECOVERY.md](docs/RECOVERY.md) – Backup und Neuaufbau
|
||
|
||
Git enthält keine Secrets, Chatdaten oder Modellgewichte.
|