Server

The vanling server is built with Rust + axum, implementing the Xiaozhi smart speaker protocol with real-time voice conversation capabilities.

Reading order: core architecture first (Session and Round lifetimes), then components and the pipeline (how one turn's data flows), then VAD/turn detection, dialogue flow and protocol details; deployment is for reference as needed.

PageDescription
Core ArchitectureOverall architecture, Session state machine, Round lifecycle, filters and construction entry points
Components and Module LayoutCore skeleton hierarchy, dual-layer components, the ling special node
Unified PipelineNode contract, chain assembly and release, event-stream conventions
VAD and Turn DetectionSpeech onset/offset criteria, the two silence gates, turn-termination paths, parameter reference
Dialogue FlowHandshake and communication sequence diagrams, listen modes, empty-input behaviour
WebSocket ProtocolProtocol field definitions and binary format
Models and DeploymentAI model specs, config system, asset installation, CUDA deployment

There is exactly one backlog: the Roadmap. Positioning and technology references are in Positioning and Trade-off Reference; for why the old TODO was split up, see the server records.