75 lines
3.6 KiB
Markdown
75 lines
3.6 KiB
Markdown
# Entwicklung auf Athena (Debian)
|
|
|
|
Zielsystem: Debian 13, RTX 5080 und RTX 3060. Der Arbeitsplatz dient nur als
|
|
Editor/SSH-Client und Browser. Die Anwendung und ihre Tests laufen auf Athena.
|
|
|
|
- Quellcode: `/opt/athena-deck-dev/source`
|
|
- Eigener Container: `athena-deck-dev`
|
|
- Zustand und Installationsmanifest: `/opt/athena-deck-dev/runtime`
|
|
- Serverbindung: ausschließlich `127.0.0.1:8108`
|
|
- GPU-Zugriff: NVIDIA `utility` für Telemetrie; keine Modellstarts.
|
|
|
|
Vom Arbeitsplatz:
|
|
|
|
```sh
|
|
ssh -i /Users/mike_i386/.ssh/athena_key -o BatchMode=yes -N -o ExitOnForwardFailure=yes -L 8108:127.0.0.1:8108 root@192.168.1.212
|
|
```
|
|
|
|
Browser: http://127.0.0.1:8108 . Die Adresse führt durch den Tunnel zum Server.
|
|
Beim ersten Öffnen neue Zugangsdaten einrichten. Vorhandene Zugangsdaten werden
|
|
nicht vom Arbeitsplatz übertragen. Browser-Profilentwürfe bleiben bei gleicher
|
|
Adresse erhalten. Nur diese isolierte Entwicklungsinstanz erlaubt die einmalige
|
|
Browser-Einrichtung über den SSH-Tunnel (`development_setup` im Manifest).
|
|
Der normale Debian-Installer provisioniert weiterhin vor dem Start.
|
|
|
|
Auf Athena:
|
|
|
|
```sh
|
|
cd /opt/athena-deck-dev/source
|
|
./install.sh --status --directory /opt/athena-deck-dev/runtime
|
|
./install.sh --stop --directory /opt/athena-deck-dev/runtime
|
|
./install.sh --start --directory /opt/athena-deck-dev/runtime
|
|
# Nach gezielter Aktualisierung der Quelldateien:
|
|
./install.sh --update --directory /opt/athena-deck-dev/runtime
|
|
python3 -m unittest discover -s . -v
|
|
```
|
|
|
|
Diese Befehle verwalten ausschließlich den eigenen, per Label geprüften
|
|
Deck-Container. Produktiver Router, Modelle, WireGuard und Hostkonfiguration
|
|
werden nicht verändert. Kein Docker-Socket im Webcontainer.
|
|
|
|
Profile und llama.cpp-Build/Update sind weiterhin GUI-Entwürfe. Die Netzwerk-Erweiterung ist in dieser Installation deaktiviert.
|
|
Das Verschieben der Entwicklung aktiviert keine dieser Funktionen automatisch.
|
|
|
|
## Verbindliche Zielarchitektur
|
|
|
|
Das Produkt wird ein nativer Debian-systemd-Dienst unter eingeschränktem Benutzer.
|
|
Docker ist ausschließlich die vorläufige Testverpackung. Katalog, Downloads und
|
|
spätere Worker-Adapter dürfen Docker nicht voraussetzen. Kein Docker-Socket und
|
|
keine Hostprozesssteuerung über Docker. Der vorhandene WireGuard-Container bleibt
|
|
unverändert; Zugriff derzeit über SSH-Tunnel.
|
|
|
|
## Live-Funktionen ab 0.5
|
|
|
|
Hugging-Face-Suche nach Bereich, feste Repository-Revision, Dateiauswahl und
|
|
serieller Download öffentlicher GGUF-/Safetensors-/JSON-Dateien. Eigener Ordner
|
|
`runtime/state/models`; Fortschritt, Abbruch, 10 GiB Speicherreserve, Größenprüfung
|
|
und bei vorhandenem LFS-Prüfwert SHA-256-Abgleich. Bei Neustart wird ein laufender
|
|
Download nicht fortgesetzt; unvollständige Dateien sind keine Bibliothekseinträge.
|
|
Keine automatische Ausführung heruntergeladener Dateien. Gated/private Modelle,
|
|
Paketauflösung, VRAM-/Kontextprognose und Worker-Starts fehlen noch.
|
|
|
|
Interne API (nur angemeldeter Administrator):
|
|
- GET `/api/v1/catalog/search?q=...&kind=chat|image|audio|video`
|
|
- GET `/api/v1/catalog/files?repo=owner/name`
|
|
- GET `/api/v1/catalog`: Bibliothek, Downloadstatus, freier Speicher
|
|
- POST `/api/v1/catalog/download`: repo, filename, revision, kind
|
|
- POST `/api/v1/catalog/cancel`: leeres JSON-Objekt
|
|
|
|
Anbieter-Dokumentation: https://huggingface.co/docs/hub/api . Audio-Suche filtert
|
|
zunächst Sprachausgabe; weitere Audioaufgaben folgen. Einzelne Dateien stellen
|
|
noch keine vollständige Installation eines mehrteiligen Modells dar.
|
|
|
|
Update-Sicherungen enthalten den Konfigurationszustand, nicht die heruntergeladenen
|
|
Modelldateien. Diese bleiben im persistenten Zustandsverzeichnis erhalten.
|