137 lines
4.6 KiB
YAML
137 lines
4.6 KiB
YAML
# Claude's Eyes - Audio Bridge Konfiguration v2
|
|
#
|
|
# NEUE ARCHITEKTUR:
|
|
# - Claude (im Browser-Chat) steuert den Roboter SELBST via web_fetch
|
|
# - Diese Bridge macht NUR Audio (TTS/STT) und Heartbeat
|
|
#
|
|
# Kopiere zu config.local.yaml und passe an!
|
|
|
|
# ============================================================================
|
|
# Chat Interface (Selenium Browser)
|
|
# ============================================================================
|
|
chat:
|
|
# Die URL zu deinem Claude.ai Chat
|
|
# WICHTIG: Das muss die URL eines bestehenden Chats sein!
|
|
# Beispiel: https://claude.ai/chat/abc123-def456-...
|
|
url: "https://claude.ai/chat/21ac7549-1009-44cc-a143-3e4bd3c64b2d"
|
|
|
|
# Browser im Hintergrund? (false = du siehst das Fenster)
|
|
headless: false
|
|
|
|
# Chrome Profil-Ordner für persistente Sessions
|
|
# Wenn gesetzt, bleibt der Login gespeichert
|
|
user_data_dir: "./chrome_profile"
|
|
|
|
# Für Termux/Android: Pfad zur Chrome/Chromium Binary
|
|
# chrome_binary: "/data/data/com.termux/files/usr/bin/chromium"
|
|
|
|
# ============================================================================
|
|
# Heartbeat - Hält Claude am Leben
|
|
# ============================================================================
|
|
heartbeat:
|
|
# Automatische TICKs aktivieren?
|
|
# false = keine automatischen TICKs, du sendest [TICK] manuell im Chat (Debug-Modus)
|
|
# true = normale Funktion, TICKs werden automatisch gesendet
|
|
auto_tick: true
|
|
|
|
# Bilder mit TICKs hochladen?
|
|
# true = Bei jedem TICK wird ein Bild vom ESP32 geholt und in den Chat hochgeladen
|
|
# false = Nur [TICK] ohne Bild (für Debug ohne ESP32)
|
|
upload_images: true
|
|
|
|
# Ablauf: Warten bis Claude fertig → zufällige Pause → Bild holen → TICK senden
|
|
# So werden keine TICKs gesendet während Claude noch tippt!
|
|
|
|
# Pause nach Claudes Antwort (zufällig zwischen min und max)
|
|
min_pause: 2
|
|
max_pause: 4
|
|
|
|
# Wie oft prüfen ob Claude noch tippt (Sekunden)
|
|
check_interval: 1
|
|
|
|
# Nach wie vielen Fehlern in Folge stoppen?
|
|
max_consecutive_errors: 5
|
|
|
|
# ============================================================================
|
|
# Text-to-Speech (Claudes Stimme)
|
|
# ============================================================================
|
|
tts:
|
|
# Engine: "pyttsx3" (offline), "gtts" (Google, online), "termux" (Android)
|
|
engine: "gtts"
|
|
|
|
# Sprache
|
|
language: "de"
|
|
|
|
# Sprechgeschwindigkeit
|
|
# pyttsx3: Wörter pro Minute (100-200)
|
|
# gtts: nicht unterstützt
|
|
# termux: 0.5-2.0 (1.0 = normal)
|
|
rate: 150
|
|
|
|
# Lautstärke (nur pyttsx3)
|
|
volume: 0.9
|
|
|
|
# Stimme (nur pyttsx3) - null = System-Default
|
|
# Beispiel: "german" oder "de" für deutsche Stimme
|
|
voice: null
|
|
|
|
# ============================================================================
|
|
# Speech-to-Text (Stefans Mikrofon)
|
|
# ============================================================================
|
|
stt:
|
|
# Engine: "standard" (SpeechRecognition) oder "termux" (Android)
|
|
engine: "standard"
|
|
|
|
# Erkennungsdienst (nur für standard engine)
|
|
# "google" (online, gut) oder "sphinx" (offline, mäßig)
|
|
service: "google"
|
|
|
|
# Sprache
|
|
language: "de-DE"
|
|
|
|
# Energie-Schwelle für Spracherkennung
|
|
# Niedriger = empfindlicher (300 ist Standard)
|
|
energy_threshold: 300
|
|
|
|
# Pause-Schwelle in Sekunden
|
|
# Wie lange Stille bevor ein Satz als beendet gilt
|
|
pause_threshold: 0.8
|
|
|
|
# Maximale Aufnahmelänge pro Phrase in Sekunden
|
|
# Bei langen Sätzen höher setzen (Google STT unterstützt bis ~60s)
|
|
phrase_time_limit: 60
|
|
|
|
# ============================================================================
|
|
# Termux (Android) Einstellungen
|
|
# ============================================================================
|
|
termux:
|
|
# Nutze Termux:API für TTS/STT statt Python-Libraries
|
|
# Setzt engine in tts/stt automatisch auf "termux"
|
|
use_termux_api: false
|
|
|
|
# ============================================================================
|
|
# ESP32 Roboter (Referenz für Claude's web_fetch Aufrufe)
|
|
# ============================================================================
|
|
# HINWEIS: Diese Werte nutzt CLAUDE direkt im Chat, nicht die Bridge!
|
|
# Du musst Claude die URL und den API-Key im Chat mitteilen.
|
|
esp32:
|
|
# IP-Adresse oder Hostname des Roboters
|
|
host: "mobil.hacker-net.de"
|
|
port: 80
|
|
|
|
# API-Key für Authentifizierung
|
|
api_key: "claudes_eyes_secret_2025"
|
|
|
|
# Für Zugriff von außen: DynDNS, Tailscale, oder Port-Forward nötig
|
|
# external_url: "https://mein-roboter.dyndns.org"
|
|
|
|
# ============================================================================
|
|
# Logging
|
|
# ============================================================================
|
|
logging:
|
|
# Level: DEBUG, INFO, WARNING, ERROR
|
|
level: "INFO"
|
|
|
|
# Log-Datei (relativ zum Script-Verzeichnis)
|
|
file: "bridge.log"
|