- 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
51 lines
1.4 KiB
YAML
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
|