Revision: r2 Source: CLAUDE.md, Code-Analyse Last updated: 2026-04-10 14:00
trixy7/source/
├── main.py # CLI-Einstiegspunkt
├── config/ # JSON-Konfigurationsdateien
├── trixy_core/ # Kernframework
├── plugins/ # Benutzer-Plugins
├── models/ # ML-Modelle (wakeword/, voice_recognition/, intent/)
├── trainer/ # Trainingsdaten (data/raw/)
├── assets/ # Audio-Dateien, Profile
├── satellites/ # Registrierte Satellite-JSON
├── certs/ # SSL-Zertifikate
├── logs/ # Anwendungslogs
└── make_installer/ # Installer-TUI
Zweck: Hilfsfunktionen und Konstanten
| Datei | Inhalt |
|---|---|
debug.py |
pinfo(), pdebug(), perror(), pwarn() — Farbcodierte Ausgabe |
version.py |
VERSION, PROTOCOL_VERSION Konstanten |
Zweck: Service-Container und Lebenszyklus-Management
| Datei | Inhalt |
|---|---|
enums.py |
ServicePriority, ServiceGroup, ServiceState |
iservice.py |
IService abstrakte Basisklasse |
service_container.py |
ServiceContainer mit Abhaengigkeitsaufloesung |
Zweck: Event-System (Pub/Sub)
| Datei | Inhalt |
|---|---|
enums.py |
EventPriority |
decorators.py |
@TrixyEvent, @event_handler |
eventmanager.py |
EventManager |
event_data/base.py |
EventData Basisklasse |
event_data/basic.py |
SatelliteConnected, WakewordReceived, etc. |
Zweck: Konfigurationsmanagement mit Typisierung
| Datei | Inhalt |
|---|---|
config_manager.py |
ConfigManager mit File-Watching |
datasets/server.py |
ServerConfig Dataclass |
datasets/client.py |
ClientConfig Dataclass |
datasets/standalone.py |
StandaloneConfig Dataclass |
datasets/trainer.py |
TrainerConfig Dataclass |
Zweck: Netzwerkprotokoll und Verschluesselung
| Datei | Inhalt |
|---|---|
protocol.py |
TrixyProtocol, ProtocolFlags |
encryption.py |
TrixyEncryption (AES-256-GCM) |
client_connection.py |
Client-seitige Verbindungsverwaltung |
config_listener.py |
ConfigListener (IService, Port 2105) |
cmd/base.py |
CommandMessage Basisklasse |
cmd/satellite.py |
SatelliteConnect, SatelliteAccepted, etc. |
cmd/wakeword.py |
WakewordDetected, WakewordSelected, etc. |
cmd/recording.py |
RecordingStart, RecordingStop, etc. |
cmd/system.py |
SystemReboot, SystemStatus, etc. |
cmd/config_cmd.py |
ConfigConnect, ConfigStatusRequest, ConfigSatelliteAudioRequest, etc. |
Zweck: Satellite-Verwaltung und Registrierung
| Datei | Inhalt |
|---|---|
satellite.py |
Satellite Klasse, ConnectionState |
satellite_manager.py |
SatelliteManager (Registry) |
registration_manager.py |
RegistrationManager (60s Timeout) |
Zweck: Audio-Ein-/Ausgabe, Lautstaerke, Multi-Device
| Datei | Inhalt |
|---|---|
volume.py |
_MixerChannel — ALSA Lautstaerke-Steuerung |
pulse_combined.py |
PulseSink — Multi-Speaker Combined-Sink |
pulse_mic_mix.py |
PulseSource — Multi-Mic null-sink + loopback Mix |
microphone.py |
Mikrofon-Eingabe |
player.py |
Audio-Ausgabe |
accumulator.py |
Audio-Puffer |
stt.py |
Speech-to-Text Integration |
tts.py |
Text-to-Speech Integration |
processing/ |
Audio-Pipeline mit Pipeline, Processor, Context |
Zweck: Textual-basiertes TUI-Framework fuer Server und Config-Tool
| Datei | Inhalt |
|---|---|
app.py |
TrixyTUI — Haupt-TUI mit F-Key Navigation |
menu_context.py |
MenuContext — View-Routing und Keybindings |
views/base.py |
MainView Basisklasse |
views/health_view.py |
OS-Metriken (RAM, CPU, Disk, Netzwerk, Uptime) |
views/satellites_view.py |
Satellite-Liste mit Status, Register/Delete |
views/sat_audio_view.py |
Per-Satellite Audio-Steuerung (F6) |
views/config_view.py |
System-Config Editor |
views/trainer_view.py |
Trainer-Liste (F7) |
views/trainer_*.py |
Trainer Sub-Views (Info/Settings/Dataset/Optional/Validate) |
widgets/ |
StatusTable, ProgressDialog, Header, Footer, LossChart |
Zweck: ML-Training Framework (ADR-008)
| Datei | Inhalt |
|---|---|
itrainer.py |
ITrainer ABC — get_info(), train(), validate() |
registry.py |
TrainerRegistry — Discovery von Core- und Plugin-Trainern |
service.py |
TrainerService (IService) — multiprocessing.Process |
dataclasses.py |
TrainerInfo, TrainingProgress, ValidationResult, FormSchema |
application.py |
TrainerApplication — Standalone CLI-Training |
core/wakeword_trainer.py |
WakewordTrainer — OpenWakeWord LogisticRegression |
core/intent/trainer.py |
IntentTrainer — Sentence-Transformers + ONNX Export |
core/intent/data_generator.py |
Intent-Daten aus Plugin-YAML Dateien |
core/intent/embedding_cache.py |
Embedding-Cache fuer schnelleres Training |
core/intent/slot_lists.py |
Slot-Listen fuer Intent-Slots |
core/intent/bio_tagger.py |
BIO-Slot-Tagger Kopf |
core/tts_engines/ |
ITTSEngine + 8 Implementierungen (Piper, gTTS, Edge, ...) |
Zweck: Plugin-System
| Datei | Inhalt |
|---|---|
trixy_plugin.py |
TrixyPlugin Basisklasse |
plugin_manager.py |
PluginManager (Laden, Enable/Disable) |
Zweck: Remote Config-Tool (eigenstaendige Textual-App)
ConfigApplication — Verbindet sich via Port 2105 zum Server| Datei | Klasse | Zweck |
|---|---|---|
application.py |
IApplication | Abstrakte Basis |
server.py |
ServerApplication | Server-Modus |
client.py |
ClientApplication | Client/Satellite-Modus |
standalone.py |
StandaloneApplication | Standalone-Modus |
See also: architecture.md, apis.md