13 Commits

Author SHA1 Message Date
root
d4b0d21ed1 fix(frontend): no-cache Header für Static-Files und Index
Browser haben nach Deploys die alten app.js / style.css aus dem Cache
weiterbenutzt. Mit Cache-Control: no-cache, must-revalidate wird bei
jeder Anfrage revalidiert (304 wenn unverändert, 200 wenn neu).
2026-05-14 02:24:58 +00:00
root
b57f44cc73 ui: Job-Tabelle aufräumen — feste Spaltenbreiten, Download-Buttons, Fehler unter Status
- table-layout: fixed mit definierten Spaltenbreiten (Status 110px, Downloads 280px)
- Status-Pill bleibt kompakt (white-space: nowrap, nur Status-Name)
- Fehlertext jetzt als eigene Zeile unter dem Pill, max. 3 Zeilen, mit Tooltip
- Downloads als 2x2-Grid aus Pill-Buttons (DOCX / Protokoll / Summary / Transkript)
- Disabled-Buttons grau und ohne href
- HTML-Escape für Titel/Filename/Fehler
2026-05-14 02:20:21 +00:00
root
955075e3fd feat(mac-worker): LaunchAgent für Dauerbetrieb auf dem Mac
- com.voiceagent.worker.plist.template — User-LaunchAgent mit RunAtLoad,
  KeepAlive(Crashed=true), ProcessType=Interactive für MLX/Metal-Zugriff
- install-launchagent.sh — generiert plist mit Pfaden, lädt via launchctl,
  prüft Health-Endpoint; unterstützt install/uninstall/status
- READMEs: Abschnitt "Worker als Dienst" mit Verwaltungs-Befehlen
2026-05-13 22:30:50 +00:00
root
0bbb7bbacd docs: detaillierte Installations-Anleitung + Modell-Übersicht
- README: 5-Schritt-Installation (LXC + Mac), Update-Pfad, neue Sektion
  "Modelle" mit Whisper- und Ollama-Optionen
- mac-worker/README: vollständige Tabellen für MLX-Whisper-Modelle und
  Ollama-Alternativen (qwen2.5, mistral-small, gemma3, gpt-oss, llama3.3),
  Empfehlungen nach Mac-RAM, Hinweise zu WhisperX/whisper.cpp/Voxtral
2026-05-13 19:02:01 +00:00
root
cb60172b51 fix(mac-worker): handle MLX segments as list/tuple in addition to dict
lightning-whisper-mlx returns segments as [start, end, text] lists
(not dicts) in some versions, which broke transcribe(). Normalize all
three observed shapes: str output, list/tuple segments, dict segments.
Also fall back to joining segment texts when top-level text is empty.
2026-05-13 16:00:30 +00:00
root
27f2f91ec6 fix(deploy): install sudo on minimal Debian, use runuser instead of sudo
Minimal-LXC-Templates (debian-13-standard) have no sudo. Script
runs as root anyway, so switch to runuser. Also install sudo so
the systemd service file's 'User=deploy' has the helper available
when needed.
2026-05-13 15:47:27 +00:00
root
5321c8602e feat: voice-agent MVP — LXC web frontend + Mac AI worker
LXC-Frontend (FastAPI + HTML/JS):
- Audio-Upload (MP3/WAV/M4A/MP4/OGG/FLAC, max. 500 MB)
- SQLite Job-Store, BackgroundTask-Pipeline
- Job-Liste mit Live-Status, Downloads (DOCX + JSON)
- Mac-Health-Indicator im UI

Mac-Worker (FastAPI):
- /api/transcribe (lightning-whisper-mlx | faster-whisper | mock)
- /api/summarize + /api/protocol via Ollama (llama3.1:8b)
- /api/export/docx via python-docx

Deploy:
- systemd-Service, Nginx Reverse-Proxy
- deploy/install.sh: idempotentes LXC-Setup

Doku: README.md, lxc-frontend/README.md, mac-worker/README.md
2026-05-13 15:33:53 +00:00
32ab12014f fix: allow all permissions to eliminate confirmation prompts
Bash(*), Read(*), Write(*), Edit(*), Glob(*), Grep(*) - no more prompts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:36:04 +01:00
218c0f0deb fix: broad permissions, git-based deploy, correct workflow order
- settings.local.json: wildcard permissions for git, ssh, curl, npm, docker
  to eliminate constant confirmation prompts
- ssh-deploy: git clone/pull as primary deploy method, rsync as fallback
- workflow provision: git-push before ssh-deploy (push to Gitea first,
  then git clone on LXC)
- all workflows: deploy steps now explicitly git-based

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:19:27 +01:00
036e5d63f8 feat: auto-detect LXC IP and pass to ssh-deploy
- proxmox-lxc: new section to read LXC IP via API or pct exec
- ssh-deploy: SSH_HOST auto-populated from LXC IP, no manual config needed
- workflow: provision flow explicitly includes IP detection step
- project.env: SSH_HOST marked as optional when using Proxmox LXC

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 22:35:43 +01:00
acceefe99b chore: upgrade to Debian 13 (Trixie), Node.js 22 LTS, PostgreSQL 17
- LXC templates: debian-13-standard (default)
- Docker images: node:22-alpine, postgres:17-alpine
- TypeScript target: ES2022
- Updated template references (Ubuntu 24.04, Alpine 3.20)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 22:01:28 +01:00
c5808dbf55 feat: add Proxmox LXC skill for container provisioning
- New /proxmox-lxc skill: create, configure, and manage LXC containers
  on Proxmox servers via API and SSH
- Includes Node.js/Docker base setup, Nginx reverse proxy templates
- Integrated into /ssh-deploy and /workflow orchestrator
- New workflow: /workflow provision for full LXC + deploy pipeline
- Added PVE config section to project.env.template

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:54:12 +01:00
dbe08b4814 chore: initial setup KI-Agenten Toolkit
10 wiederverwendbare Claude Code Skills für React + Node.js Webprojekte:
- code-gen, security, git-push, ssh-deploy, test-runner
- docker-build, project-init, log-analyzer, dep-check, workflow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:07:32 +01:00