Overview
Finchvox is local session replay purpose-built for Voice AI apps. It unifies conversation audio, logs, traces, and metrics in a single UI, highlighting voice-specific problems like interruptions and high user ↔ bot latency. It exports OpenTelemetry traces from your Pipecat application to a local Finchvox server and records conversation audio via theFinchvoxProcessor.
Source Repository
Source code, examples, and issues for the Finchvox integration
PyPI Package
The
finchvox package on PyPIFinchvox Website
Sign up for the production-ready self-hosted option
Installation
This is a community-maintained package distributed separately frompipecat-ai.
Finchvox relies on Pipecat’s tracing support, so install it alongside the
tracing extra:
Prerequisites
- Python 3.11 or higher
- Pipecat 0.0.68 or higher
Setup
Enabling observability in a Pipecat app involves three steps: initialize Finchvox, add theFinchvoxProcessor to your pipeline, and enable metrics,
tracing, and turn tracking on your PipelineTask.
- Initialize Finchvox at the top of your bot (e.g.,
bot.py):
- Add
FinchvoxProcessorto your pipeline, ensuring it comes aftertransport.output():
- Initialize your
PipelineTaskwith metrics, tracing, and turn tracking enabled:
Running the Finchvox server
Start the local Finchvox server to receive and view sessions:uv run finchvox --help.
Configuration
Thefinchvox.init() function accepts the following optional parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
service_name | str | "pipecat-app" | Name identifying this application in traces. |
endpoint | str | "http://localhost:4317" | Finchvox collector gRPC endpoint. |
insecure | bool | True | Use an insecure (non-TLS) gRPC connection. |
capture_logs | bool | True | Send logs to the collector alongside traces. |
log_modules | list | None | Additional module prefixes to capture (e.g., ["myapp"]). |
app_root | str | None | Root directory of the app source. Defaults to cwd(). |
pipecat.*, finchvox.*, __main__, and any source
files in your project directory are captured. Use log_modules to include
additional third-party modules.
The FinchvoxProcessor constructor accepts the following optional parameters:
URL of the Finchvox HTTP server used to upload conversation audio.
Duration of each audio chunk uploaded.
Audio sample rate in Hz.
Available parameters and defaults are defined by the integration. See the
source repository for the
authoritative, up-to-date list.