Files
esp32-server/config.yaml
kunthawat b00312cbe5 fix: load config.yaml on boot; issue real device token; live smoke test
- main() previously used Config() defaults, silently ignoring config.yaml
  (port + token); now loads config.yaml from repo root (BRIDGE_CONFIG override)
- config.yaml: port 8766 (8765 taken on this host), real sha256 token for xiaozhi-main
- smoke_live.py: live WS verification (health, auth rejection x2, handshake, full turn)
- README: correct run command (python -m app.main)
- HANDOFF/plan: Phase 1.5 live-verified evidence
2026-10-03 12:12:29 +07:00

51 lines
1.4 KiB
YAML

# Hermes-Xiaozhi Bridge configuration.
# All backends default to "mock" so the bridge runs/tests on any machine
# (no GPU, no device, no native libs). Point at real endpoints on the
# voice-server by changing engine + *_endpoint values.
#
# Protocol values marked FIRMWARE are PoC assumptions — verify against the
# real Xiaozhi firmware before locking (CON-004).
host: 127.0.0.1
port: 8766
ws_path: /ws/xiaozhi
protocol:
hello_version: 1 # FIRMWARE
opus_sample_rate: 16000 # FIRMWARE
opus_channels: 1 # FIRMWARE
frame_ms: 20 # FIRMWARE
stt:
engine: mock # mock | typhoon | faster-whisper
language: th
sample_rate: 16000
# typhoon_endpoint: http://127.0.0.1:8888
# whisper_model: large-v3
tts:
engine: mock # mock | jaitts
voice: default
device: cuda:0
sample_rate: 24000
# jaitts_endpoint: http://127.0.0.1:8889
hermes:
transport: mock # mock | openai_http
reasoning: none # REQ-004 — voice profile is reasoning-none
tools: [session_search] # REQ-004/REQ-008 — read/recall only
# base_url: http://127.0.0.1:11434/v1
max_context_tokens: 16000
max_history_turns: 12
security:
enabled: true
devices:
- device_id: xiaozhi-main
token_hash: "b324d2dc2d1242b4df53aca6d1691b062e1d4c085ff90ac45c03e2cec9f18942"
gpu:
monitor_enabled: true
stt_vram_budget_gb: 2.0
tts_vram_budget_gb: 4.0