ARIA-AGENT/CHANGELOG.md

5.5 KiB

ARIA — Changelog

Alle Änderungen am Projekt. Format: Keep a Changelog


[0.0.0.3] — 2026-03-09

Geändert

RVS — Architektur-Umbau

  • RVS ist jetzt reiner Relay — kennt keine Tokens, keine Expiry, leitet nur durch
  • TOKEN_EXPIRY und RVS_PUBLIC_HOST/RVS_PUBLIC_PORT entfernt
  • Rooms leben solange Clients verbunden sind (statt fester Ablaufzeit)
  • Multi-Instanz: Mehrere ARIA-VMs können denselben RVS nutzen (z.B. Stefan + Papa)

Token-Erzeugung auf ARIA-VM statt RVS

  • generate-token.js aus rvs/ entfernt
  • Neues generate-token.sh im Hauptverzeichnis (läuft auf ARIA-VM)
  • Token wird automatisch in .env geschrieben
  • ./generate-token.sh show zeigt bestehendes Token als QR nochmal an

Konfiguration vereinfacht

  • RVS_URL ersetzt durch RVS_HOST, RVS_PORT, RVS_TLS (klare Einzelfelder)
  • Port einmal in .env ändern → wirkt auf RVS docker-compose, Bridge und QR-Code
  • rvs/docker-compose.yml nutzt ${RVS_PORT:-443} statt hardcoded Port

Android App — QR-Code Scanner

  • Echter QR-Code Scanner statt Platzhalter-Alert (react-native-camera-kit)
  • Vollbild-Kamera mit Overlay, Validierung des QR-Formats
  • Kamera-Berechtigung (Android Runtime Permission)
  • AndroidManifest.xmlCAMERA Permission hinzugefügt

Voice Bridge — RVS-Anbindung

  • Bridge verbindet sich jetzt parallel zu aria-core (lokal) UND zum RVS (öffentlich)
  • Nachrichten von der App werden über RVS → Bridge → aria-core weitergeleitet
  • Antworten von aria-core werden über Bridge → RVS → App zurückgeschickt
  • Auto-Reconnect mit Exponential Backoff für beide WebSocket-Verbindungen
  • Neue Message-Handler: chat, mode, location, file, audio

Android Build-Fixes

  • kotlin_version (snake_case) in build.gradle hinzugefügt — react-native-camera-kit braucht beide Varianten
  • build.sh schreibt org.gradle.java.home dynamisch in gradle.properties — verhindert dass Gradle kaputte JVM-Pfade findet (/usr/lib/jvm/openjdk-17 ohne bin/java)
  • minSdkVersion 21 → 23 — react-native-camera-kit braucht mindestens API 23

Android App — Credentials Persistenz

  • Verbindungsdaten (Host, Port, Token) werden nach QR-Scan in AsyncStorage gespeichert
  • Beim App-Start automatisch geladen und verbunden — einmal scannen, nie wieder
  • Neue Dependency: @react-native-async-storage/async-storage

Docker & Infrastruktur

  • OpenClaw Image fix: openclaw/openclaw:latestghcr.io/openclaw/openclaw:latest
  • libportaudio2 in Bridge Dockerfile hinzugefügt — sounddevice braucht PortAudio
  • aria-data/config/aria.env.example hinzugefügt — Voice Bridge Konfigurationsvorlage

Wake-Word Fix (openwakeword)

  • WakeWordDetector umgebaut — sucht Custom-Modell /voices/wake_aria.onnx, Fallback auf eingebautes hey_jarvis
  • Alter Code crashte: wakeword_models=["aria"] erwartet Dateipfad, kein Keyword

Neues Script: get-voices.sh

  • Lädt Piper Stimmen (Ramona + Thorsten) von HuggingFace herunter
  • Neuer Installationsschritt in README

ARIA Persönlichkeit

  • AGENT.md überarbeitet — ARIA ist jetzt Partnerin auf Augenhöhe (Claude-Charakter)
  • Direkt, ehrlich, humorvoll, lösungsorientiert, kein Theater

[0.0.0.2] — 2026-03-08

Geändert

Build-Fixes

  • CI=true in build.sh — verhindert EMFILE durch Metro File-Watcher im Release-Build
  • setup.sh erstellt Metro-Config-Dateien automatisch (metro.config.js, babel.config.js, .watchmanconfig)

Release-Script

  • release.sh komplett umgebaut — Kennwort wird interaktiv abgefragt statt Token in .env
  • Gitea-Upload fix: -F multipart statt --data-binary
  • Login-Test vor Release, CHANGELOG.md-Integration für Release Notes

[0.0.0.1] — 2026-03-08

Hinzugefügt

Infrastruktur

  • docker-compose.yml — ARIA-VM mit Proxy, OpenClaw, Voice Bridge
  • .env.example — Konfigurationsvorlage (ohne Secrets)
  • release.sh — Automatisiertes Release (Build, Tag, Gitea Upload mit Kennwort-Abfrage)

RVS (Rendezvous-Server)

  • WebSocket Relay Server (rvs/server.js) — Token-Rooms, Heartbeat, Message Types
  • Docker Setup (rvs/Dockerfile, rvs/docker-compose.yml)

Token & Pairing

  • generate-token.sh — Token-Generator mit QR-Code (läuft auf ARIA-VM, schreibt Token in .env)

Voice Bridge

  • Python Voice Bridge (bridge/aria_bridge.py) — Whisper STT, Piper TTS, Wake-Word
  • 5 Betriebsmodi (bridge/modes.py) — Normal, DND, Whisper, Hangar, Gaming
  • Docker Setup (bridge/Dockerfile, bridge/requirements.txt)

Android App (ARIA Cockpit)

  • Chat-Screen mit Texteingabe, Voice-Button, Datei/Kamera-Upload
  • Settings-Screen mit Verbindungsstatus, Token-Eingabe, Modus-Auswahl, GPS-Toggle, Log-Viewer
  • WebSocket-Service mit Auto-Reconnect und Exponential Backoff
  • Audio-Service (Mikrofon-Aufnahme, TTS-Wiedergabe)
  • Push-to-Talk Button mit Puls-Animation
  • Modus-Selektor (5 Modi)
  • Build-Tooling: setup.sh (7-Schritt Dev-Setup), build.sh (Release/Debug APK)
  • Metro-Config, Babel-Config, Watchman-Config

Konfiguration & Daten

  • aria-data/config/AGENT.md — ARIAs Persönlichkeit und Sicherheitsregeln
  • aria-data/config/USER.md — Stefans Präferenzen
  • aria-data/config/TOOLING.md — VM-Tooling Liste
  • aria-data/skills/README.md — Skill-Bauanleitung

Bekannte Probleme

  • Android Release-Build: EMFILE: too many open files — Fix: CI=true in build.sh
  • JDK 21 inkompatibel mit AGP 8.1 — Fix: Automatischer Fallback auf JDK 17
  • react-native-screens > 3.27.0 inkompatibel mit RN 0.73.4 — Fix: Version gepinnt