Voice AI observability dev tool for Pipecat
Project description
Finchvox - Voice AI Observability, Elevated.
Meet Finchvox, local session replay purpose-built for Voice AI apps.
Finchvox unifies conversation audio, logs, traces, and metrics in a single UI, highlighting voice-specific problems like interruptions and high user <-> bot latency. Finchvox is currently designed for local, development usage.
Visit Finchvox.dev to signup for our production-ready hosted and self-hosted options.
👇 Click the image for a short video:
Table of Contents
Prerequisites
- Python 3.10 or higher
- Pipecat 0.0.68 or higher
Installation
# uv
uv add finchvox "pipecat-ai[tracing]"
# Or with pip
pip install finchvox "pipecat-ai[tracing]"
Setup
- Add the following to the top of your bot (e.g.,
bot.py):
import finchvox
from finchvox import FinchvoxProcessor
finchvox.init(service_name="my-voice-app")
- Add
FinchvoxProcessorto your pipeline, ensuring it comes aftertransport.output():
pipeline = Pipeline([
# SST, LLM, TTS, etc. processors
transport.output(),
FinchvoxProcessor(), # Must come after transport.output()
context_aggregator.assistant(),
])
- Initialize your
PipelineTaskwith metrics, tracing and turn tracking enabled:
task = PipelineTask(
pipeline,
params=PipelineParams(enable_metrics=True),
enable_tracing=True,
enable_turn_tracking=True,
)
Configuration
The finchvox.init() function accepts the following optional parameters:
| Parameter | Default | Description |
|---|---|---|
endpoint |
"http://localhost:4317" |
Finchvox collector endpoint |
insecure |
True |
Use insecure gRPC connection (no TLS) |
capture_logs |
True |
Send logs to collector alongside traces |
log_modules |
None |
Additional module prefixes to capture (e.g., ["myapp"]) |
By default, logs from pipecat.*, finchvox.*, __main__, and any source files in your project directory are captured. Use log_modules to include additional third-party modules.
Usage - Finchvox server
uv run finchvox start
For the list of available options, run:
uv run finchvox --help
Troubleshooting
No spans being written
- Check collector is running: Look for "OTLP collector listening on port 4317" log message
- Verify client endpoint: Ensure Pipecat is configured to send to
http://localhost:4317
Telemetry
FinchVox collects minimal, anonymous usage telemetry to help improve the project. No personal data, IP addresses, or session content is collected.
What's collected:
- Event type (
server_start,session_ingest,session_view) - FinchVox version
- Operating system (macOS, Linux, or Windows)
- Timestamp
Disable telemetry:
finchvox start --telemetry false
Or set the environment variable:
export FINCHVOX_TELEMETRY=false
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file finchvox-0.0.9.tar.gz.
File metadata
- Download URL: finchvox-0.0.9.tar.gz
- Upload date:
- Size: 48.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca25a21fc7bf9e55419d5a412918e65532dd318dde6bab7b30f030a5f40fd779
|
|
| MD5 |
2fea7ffa33d8de25a23b12660964e869
|
|
| BLAKE2b-256 |
eb3f817db61e83365ebb81fb7a8a18e4053d292f254105fba37fe139bfeead75
|
File details
Details for the file finchvox-0.0.9-py3-none-any.whl.
File metadata
- Download URL: finchvox-0.0.9-py3-none-any.whl
- Upload date:
- Size: 277.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cacd9751833f49d76275c19497e0f83ef2fa403b5ef453343f64e64a7a28d21
|
|
| MD5 |
623242a06f85be3dcf5e175644ceaac8
|
|
| BLAKE2b-256 |
a74e7768854b14d3a473e103d6c35a1e1ec2b15c7089af98e4bd71db58dd62ea
|