Claude Code Analytics Dashboard
Project description
Sniffly - Claude Code Analytics Dashboard
Analyze Claude Code logs to help you use Claude Code better.
Website | Quickstart | Features | Sharable dashboard
📊 Features
Understanding your usage patterns
Error breakdown
See where Claude Code makes mistakes so that you avoid these mistakes.
Message history analysis
Walk through all your instructions and share them with your coworkers if needed.
🚀 Quickstart
- Requirement: Python 3.10+
With UV (recommended)
Make sure you have uv installed! https://github.com/astral-sh/uv
# One-time execution (no installation needed)
uvx sniffly@latest init
# Install the package
uv tool install sniffly@latest
sniffly init
After running sniffly init, access your dashboard on your browser at http://localhost:8081 (or whichever host/port you choose).
If you run Sniffly on a remote server, use port forwarding to open the browser on your local computer.
With pip
pip install sniffly
sniffly init
From source
git clone https://github.com/chiphuyen/sniffly.git
cd sniffly
pip install -e .
sniffly init
🔧 Configuration
Common Settings
# Change port (default: 8081)
sniffly config set port 8090
# Disable auto-opening browser
sniffly config set auto_browser false
# Show current configuration
sniffly config show
All Configuration Options
| Key | Default | Description |
|---|---|---|
port |
8081 | Server port |
host |
127.0.0.1 | Server host |
auto_browser |
true | Auto-open browser on start |
cache_max_projects |
5 | Max projects in memory cache |
cache_max_mb_per_project |
500 | Max MB per project |
messages_initial_load |
500 | Initial messages to load |
max_date_range_days |
30 | Max days for date range selection |
See full CLI Reference for all options and commands.
💡 Sharing Your Dashboard
You can create a link to share your project's stats and instructions with your coworkers.
- Click the "📤 Share" button in your dashboard
- Choose privacy options:
- Private: Only people with the link can view
- Public: Listed in the public gallery
- Include Commands: Share your actual command text
- Copy and share the generated link
🚨 Troubleshooting
Common Issues
sniffly help
Port already in use?
# Use a different port
sniffly init --port 8090
# Or change default
sniffly config set port 8090
Browser doesn't open?
# Check setting
sniffly config show
# Enable auto-browser
sniffly config set auto_browser true
# Or manually visit http://localhost:8081
Configuration issues?
# View all settings and their sources
sniffly config show
# Reset a setting to default
sniffly config unset port
# Remove all custom config
rm ~/.sniffly/config.json
For more issues, see GitHub Issues.
🔐 Privacy
Sniffly runs entirely on your local machine:
- ✅ All data processing happens locally
- ✅ No telemetry
- ✅ Your conversations never leave your computer
- ✅ Shared dashboards are opt-in only
📄 License
MIT License - see LICENSE file.
🔗 Links
- Homepage: sniffly.dev
- Documentation: Full CLI Reference
- Issues: GitHub Issues
Project details
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 sniffly-0.1.4.tar.gz.
File metadata
- Download URL: sniffly-0.1.4.tar.gz
- Upload date:
- Size: 7.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
642c4894a2857bbee5ae0f2c45f6eaba65b2662d31676b26949693e80c48c96e
|
|
| MD5 |
dd0a180dfcd4e535e4b879ec83a6c2d5
|
|
| BLAKE2b-256 |
280914d0587da45493d9d4c179f92c7c0e72c6582e4db8ca41eac0586f30501f
|
File details
Details for the file sniffly-0.1.4-py3-none-any.whl.
File metadata
- Download URL: sniffly-0.1.4-py3-none-any.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c351a2b30e812569f60d7f96d41bc6ed837f8d945e93892104f1b3d4cbb3671e
|
|
| MD5 |
e2449ea53e833053815445eff7a7a752
|
|
| BLAKE2b-256 |
c6bd8340c843ad3d82b7cbdf9372219ebe3a9e049f606ebd1273a64038ac7e82
|