Skip to content

finchvox/finchvox

Repository files navigation

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

  1. 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")
  1. Add FinchvoxProcessor to your pipeline, ensuring it comes after transport.output():
pipeline = Pipeline([
    # SST, LLM, TTS, etc. processors
    transport.output(),
    FinchvoxProcessor(), # Must come after transport.output()
    context_aggregator.assistant(),
])
  1. Initialize your PipelineTask with 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

  1. Check collector is running: Look for "OTLP collector listening on port 4317" log message
  2. 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

About

Voice AI Observability, Elevated

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors