Commit Graph
53 Commits
Author SHA1 Message Date
Mikei386 069da8b4f0 Simplify Athena stack and recovery 2026-08-25 22:27:26 +02:00
Mikei386 0a640e76ea Simplify Athena operator architecture 2026-08-25 21:53:12 +02:00
Mikei386 63fc921988 Map Hermes reasoning controls into Qwen templates 2026-08-25 14:52:43 +02:00
Athena Operator 1056784642 Add managed Deemix MCP integration 2026-08-25 10:26:37 +02:00
Mikei386 f4faf27db4 Add staged MCP release imports 2026-08-25 10:03:44 +02:00
Mikei386 662913f8ab Add compact Athena MCP release workflow 2026-08-25 08:51:46 +02:00
Mikei386 ac725416b8 Simplify Athena operator maintenance workflow 2026-08-25 08:42:30 +02:00
Mikei386 314b709409 Guide bounded evidence-first diagnostics 2026-08-24 15:52:58 +02:00
Mikei386 457a311db2 feat: default task dependencies to temporary 2026-08-24 15:18:07 +02:00
Mikei386 7978a4ee56 feat: standardize long-running tool workflows 2026-08-24 15:02:25 +02:00
Mikei386 0a5da6e5f1 feat: add bounded marketplace research 2026-08-24 13:54:17 +02:00
Mikei386 308b8a4d1f fix: bound broad tool workflows 2026-08-24 13:29:41 +02:00
Mikei386 5db73d0a92 feat: open Athena tool architecture 2026-08-24 12:46:33 +02:00
Mikei386 5528f3ab22 fix: combine specialist tools with native web search 2026-08-24 12:25:12 +02:00
Mikei386 5834342f8c fix: automate cross-source media library audits 2026-08-24 12:02:03 +02:00
Mikei386 5008f3329c fix: automate verified Unraid update workflows 2026-08-24 11:28:49 +02:00
Mikei386 b997fcb9f7 fix(files): force a final answer before tool cutoff 2026-08-24 07:12:15 +02:00
Mikei386 c3121281de fix(files): detect CSV dialect before parsing 2026-08-24 07:05:04 +02:00
Mikei386 e24839bfe1 fix(tools): harden OpenWebUI tool workflows 2026-08-24 00:40:32 +02:00
Mikei386 bfb990a4fd fix(web): distinguish YouTube videos from Shorts 2026-08-23 23:09:03 +02:00
Mikei386 472efa0b93 Harden private search fallback and freshness handling 2026-08-23 22:48:17 +02:00
Mikei386 11aefea5a3 Upgrade local web gateway with structured YouTube support 2026-08-23 22:42:27 +02:00
Mikei386 b723f820bf Route automatic Unraid diagnostics through read-only MUA 2026-08-23 21:52:17 +02:00
Mikei386 feb99293b5 Improve external service discovery and tool routing 2026-08-23 21:44:33 +02:00
Mikei386 b5118099ed Improve secret redaction transparency 2026-08-23 21:29:35 +02:00
Mikei386 94f3758795 Add controlled Athena platform operator 2026-08-23 21:10:44 +02:00
Mikei386 2f4bff550e Prevent terminal symlink traversal via recursive grep 2026-08-23 19:48:40 +02:00
Mikei386 91d36a98e3 Add bounded read-only Athena terminal MCP 2026-08-23 19:38:57 +02:00
Mikei386 c3e44b18f8 Handle speech transcription variants in tool routing 2026-08-23 19:06:48 +02:00
Mikei386 e9b647e579 Add automatic per-request MCP selection 2026-08-23 19:04:42 +02:00
Mikei386 3dbb66037d Add self-maintaining Athena platform context MCP 2026-08-23 17:31:05 +02:00
Mikei386 fea4a83582 Clarify Sonarr search download behavior 2026-08-23 14:50:08 +02:00
Mikei386 09634a27f9 Add approved Sonarr release grabs 2026-08-23 14:38:42 +02:00
Mikei386 2ef894160a Add final Qwen3.8 runtime and uncensored profile 2026-08-23 00:10:53 +02:00
Mikei386 ced8d36a0c Add native chat background and guarded HA YAML access 2026-08-22 22:12:14 +02:00
Mikei386 7ac93befc4 Add RTX 5080 FLUX hot-swap worker 2026-08-22 17:40:32 +02:00
Mikei386 8267a85a96 Offload vision projector to RTX 3060 2026-08-22 17:19:56 +02:00
Mikei386 41b9c17f0f Define four-profile production matrix with Medium default 2026-08-22 11:30:38 +02:00
Mikei386 977f8f5c76 Validate Pure quant for 256K Ultra profile 2026-08-22 11:01:13 +02:00
Mikei386 6edf1fe462 Add reviewed OpenWebUI quick actions 2026-08-21 15:23:28 +02:00
Mikei386 16c83ca7d6 Add OpenWebUI stability and privacy guards 2026-08-21 15:12:00 +02:00
Mikei386 e83c0e2c70 Add reproducible Docker and WireGuard host bootstrap 2026-08-20 21:23:16 +02:00
Mikei386 cb07779f5a Replace vision hotswap with native multimodal profiles 2026-08-20 14:24:56 +02:00
Mikei386 fd4a3055e8 Rebuild profile router as secure recoverable v2 2026-08-20 13:41:00 +02:00
Mikei386 0e4a9de5ba Expand router into reproducible local AI platform 2026-08-20 12:56:53 +02:00
Mikei386 fedcb0b6d3 Cleanup: letzter Kokoro-Reference entfernt 2026-08-19 22:02:59 +02:00
Mikei386 d399d2b4f7 TTS: Kokoro → XTTS-v2 (CPU-only, Claribel Dervla)
- Neues xtts_worker.py: Coqui XTTS-v2, HTTP-API auf Port 8085
- Router: TTS_WORKER_URL → 8085, TTS_MODEL → xtts-v2, TTS_VOICES → claribel
- deploy: mike-ai-xtts.service, install.sh + deploy.sh aktualisiert
- Tests: 54/54 bestanden (mock_tts_worker + test_local.sh auf XTTS umgestellt)
- README: TTS-Section auf XTTS-v2 aktualisiert
- Kokoro-Service gestoppt und deaktiviert (Dateien bleiben als Backup)
2026-08-19 22:01:58 +02:00
Mikei386 ed471196d4 router: HTTP/1.1 chunked Transfer-Encoding-Unterstützung
- Zentrale _read_body() Helper für Content-Length und chunked encoding
- _read_chunked_body(): hex Chunk-Größen, Chunk Extensions, 0-Chunk,
  Trailer, MAX_UPLOAD_SIZE (50 MB Default)
- Malformed chunked encoding → HTTP 400
- _transcribe(), _speech(), _image_generate(), _forward() nutzen Helper
- Temporäres STT-DEBUG-Logging entfernt
- 16 Regressionstests (dev/test_chunked.py):
  Content-Length, chunked, Multi-Chunk, Boundary über Chunk-Grenzen,
  Chunk Extensions, 0-Chunk mit Trailer, malformed Chunk Size,
  Uploadgrößenlimit, Open-WebUI-artiger WebM-Request
2026-08-19 16:31:22 +02:00
Mikei386 e81f2ab515 router: Multipart-Parser auf email.parser.BytesParser umgestellt
- Robustes MIME-Parsing mit Standardbibliothek (email.parser.BytesParser)
- Handhabt quoted und unquoted Boundaries (Open-WebUI-Kompatibilität)
- Beliebiges Feldreihenfolge, zusätzliche Header, binäre Payloads
- Regressionstests: dev/test_multipart.py (8 Tests)
- Fix für Open-WebUI HTTP 400 bei POST /v1/audio/transcriptions
2026-08-19 14:37:24 +02:00
Mikei386 51ef07c874 router: deutsche Spracherkennung mit whisper.cpp (CPU-only)
- STT-Worker (stt_worker.py): langlebiger HTTP-Service auf Port 8084
  - whisper-cli als Subprozess (CPU-only, 8 Threads)
  - Audio-Vorbereitung via ffmpeg (WebM/Opus/M4A → 16 kHz WAV)
  - Nativ: WAV, MP3, OGG, FLAC
  - Health-Endpunkt: GET /status
  - Transkription: POST /transcribe (Multipart-Form-Data)

- Router-Integration:
  - POST /v1/audio/transcriptions (OpenAI-kompatibel)
  - GET /v1/audio/models (whisper-1, kokoro-german)
  - GET /v1/audio/voices (martin, victoria)
  - /status mit stt-Section
  - model=whisper-1 akzeptiert
  - response_format: json, verbose_json

- systemd-Service: mike-ai-whisper.service
  - Boot-Start, Restart on failure, journald
  - CPU-only, kein GPU-Lock

- Deploy-Dateien aktualisiert (deploy.sh, install.sh)
- Mock-STT-Worker für lokale Tests (dev/mock_stt_worker.py)
- Tests ergänzt: STT Status, WAV, language=de, unbekanntes Modell,
  Worker down, Recovery, Audio-Modelle, Audio-Voices,
  STT+Qwen parallel, STT+TTS parallel
- README.md: STT-Section mit Endpunkten, Benchmarks, Doku

Benchmarks (CPU-only, 8 Threads):
  7.3 s Audio → 8.9 s (RTF 1.22×)
  30 s Audio → 16.8 s (RTF 0.56×)
  50 s Audio → 18.5 s (RTF 0.37×)
  RAM: ~1.7 GB (Modell), Worker: ~20 MB
2026-08-19 13:53:22 +02:00