Logfire Assistant
AI-powered tool that helps you debug, analyze, and understand your applications using Pydantic Logfire.
Install / Use
npx skills add vstorm-co/logfire-assistantInstalls into whichever agent you are using.
Quality Score
Category
Development & EngineeringSupported Platforms
README
Logfire AI Assistant by Vstorm is an AI-powered tool that helps you debug, analyze, and understand your applications using Pydantic Logfire. Ask questions in plain English, get instant answers with SQL queries and visualizations. Developed by Vstorm as part of our open-source AI developer tools ecosystem.
<p align="center"> <img src="assets/screenshots/demo.gif" alt="Logfire AI Assistant Demo" width="600"> <br><i>Ask questions in natural language, get SQL queries and visualizations</i> </p>Why Use It?
Debugging AI agents and complex applications is hard:
- Long traces — Agents generate many spans across multiple tool calls and LLM requests
- Complex prompts — System prompts can be lengthy, making it hard to spot issues
- Multi-turn conversations — Understanding what happened requires looking across entire interaction histories
Vstorm's Logfire AI Assistant acts as your AI debugging partner — it understands agent architectures, recognizes failure patterns, and helps you ship better software faster.
📸 Screenshots
Main Interface
<p align="center"> <img src="assets/screenshots/home_page.png" alt="Home Page" width="800"> <br><i>Chrome extension sidebar integrated with Logfire dashboard</i> </p>Core Features
| Query Results | SQL Generation |
|:---:|:---:|
|
|
|
| AI responses with data tables | View generated SQL queries |
| Chart Visualization | Span Analysis |
|:---:|:---:|
|
|
|
| Auto-generated charts from query results | Select spans directly in Logfire UI |
Settings & Configuration
| Multi-Project Support | Custom Prompts |
|:---:|:---:|
|
|
|
| Switch between Logfire projects | Create reusable prompt templates |
| LLM Model Selection | Customization |
|:---:|:---:|
|
|
|
| Choose from multiple AI models | Customize appearance and behavior |
Additional Features
| Slash Commands | Conversation History |
|:---:|:---:|
|
|
|
| Quick access to saved prompts | Browse and continue past conversations |
| File Attachments | |
|:---:|:---:|
|
| |
| Attach files for context | |
✨ Features
| Feature | Description | |---------|-------------| | 🔍 Natural Language Queries | Ask about your app's behavior in plain English | | 🗃️ SQL Query Generation | AI translates questions into SQL against Logfire data | | 📊 Auto Visualizations | Automatically generate charts from query results | | 🎯 Span Context | Select spans in Logfire and ask "what happened here?" | | 📁 Multi-Project Support | Switch between different Logfire projects seamlessly | | 📝 Custom Prompts | Define reusable prompts for common analysis tasks | | ⚡ Real-time Streaming | Responses stream via WebSocket as they're generated | | 🔐 JWT Authentication | Secure access with token-based auth |
🚀 Quick Start
1. Backend
# Install & configure
make install
cp backend/.env.example backend/.env
# Edit backend/.env with your settings
# Start database & run migrations
make db-init && make db-upgrade
# Run server
make run dev
2. Browser Extension
cd browser-extension
bun install && bun run build
Then load in Chrome:
- Go to
chrome://extensions/ - Enable Developer mode
- Click Load unpacked → select
browser-extension/dist
That's it! Open Logfire dashboard, click on any span, and start asking questions.
🔄 How It Works
You: "Why did this request take so long?"
│
▼
┌─────────────────────────────────────────────────────────┐
│ Chrome Extension │
│ • Captures span context (trace_id, span_id) │
│ • Sends question via WebSocket │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ AI Agent (PydanticAI) │
│ • Analyzes question + context │
│ • Generates SQL query │
│ • Executes against Logfire API │
│ • Creates visualization if needed │
└─────────────────────────────────────────────────────────┘
│
▼
Answer: "The database query on line 42 took 3.2s due to
missing index on user_id column. Here's the
breakdown chart..."
🏗️ Architecture
┌─────────────────────────────────────────────────────────────┐
│ Chrome Extension │
│ ┌─────────────────┐ ┌──────────────────────────────────┐ │
│ │ Content Script │ │ Sidebar Panel │ │
│ │ (Logfire page) │ │ • Chat interface │ │
│ │ • Span selector │ │ • Project switcher │ │
│ │ • Context grab │ │ • Settings & prompts │ │
│ └────────┬────────┘ └──────────────┬───────────────────┘ │
└───────────┼──────────────────────────┼──────────────────────┘
│ │
│ WebSocket │
└──────────┬───────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Backend (FastAPI) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ API Routes │ │ Services │ │ AI Agent │ │
│ │ /api/v1/* │──│ │──│ (PydanticAI) │ │
│ └──────────────┘ └──────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌────────────────┐ ┌──────────────┐ ┌──────▼───────────┐ │
│ │ PostgreSQL │ │ Redis │ │ Logfire API │ │
│ │ (users, │ │ (cache, │ │ (query data) │ │
│ │ conversations)│ │ rate limit) │ └──────────────────┘ │
│ └────────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
🛠️ Development
Backend Commands
make run dev # Development server
make test # Run tests
make test-cov # Tests with coverage
make lint # Check linting
make format # Auto-fix formatting
make db-migrate # Create new migration
make docker-up # Start all services (Docker)
Extension Commands
cd browser-extension
bun run dev # Watch mode
bun run build # Production build
bun run check # Lint + format (Biome)
📁 Project Structure
├── backend/
│ └── app/
│ ├── agents/ # AI agent (PydanticAI)
│ ├── api/routes/v1/ # HTTP endpoints
│ ├── services/ # Business logic
│ ├── repositories/ # Data access
│ ├── schemas/ # Pydantic models
│ └── db/models/ # SQLAlchemy models
├── browser-extension/
│ └── src/
│ ├── background/ # Service worker
│ ├── content/ # Content script
│ ├── sidebar/ # Side panel UI
│ └── stores/ # Zustand stores
└── docker-compose.yml
⚙️ Environment Variables
Copy backend/.env.example to backend/.env:
ENVIRONMENT=local
SECRET_KEY=your-secret-key # openssl rand -hex 32
POSTGRES_HOST=localhost
POSTGRES_PASSWORD=postgres
REDIS_HOST=localhost
LOGFIRE_TOKEN=your-token # Optional, for backen
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
agent-tui
106.4kMain Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications programmatically for testing, automation, and inspection
async-pr-review
106.4kTrigger this skill when the user wants to start an asynchronous PR review, run background checks on a PR, or check the status of a previously started async PR review.
ci
106.4kA specialized skill for Gemini CLI that provides high-performance, fail-fast monitoring of GitHub Actions workflows and automated local verification of CI failures. It handles run discovery automatically—simply provide the branch name.
