Beautiful web viewer for AI conversation history (Claude, Qwen, and more)
Project description
AI Conversation Viewer ๐
A beautiful, unified web interface for browsing and searching your AI conversation history across multiple platforms.
โจ Features
- ๐ค Multi-Platform Support - Works with Claude Code and Qwen (้ไนๅ้ฎ) conversation histories
- ๐ Powerful Search - Full-text search across all conversations with keyword highlighting
- ๐ Smart Organization - Browse conversations by project with session metadata and statistics
- ๐ป Syntax Highlighting - Beautiful code blocks with language detection and copy buttons
- ๐จ Modern UI - Clean, responsive interface with dark/light theme support
- ๐ Internationalization - Multi-language support (English/Chinese)
- โก Fast Performance - Efficient pagination for large conversation histories
- ๐ง Tool Visualization - Clear display of tool usage and outputs
- ๐ Interactive Diff Viewer - View code changes with side-by-side diff comparison
๐ Quick Start
Installation
pip install ai-coder-viewer
Usage
# Start with default settings (looks for ~/.claude/projects)
claude-viewer
# Custom Claude projects path
claude-viewer --projects-path /path/to/your/claude/projects
# Custom port
claude-viewer --port 8080
# Accessible from other machines
claude-viewer --host 0.0.0.0 --port 3000
Then open your browser to: http://localhost:6300
๐ธ Screenshots
Main Dashboard - Claude View
Browse all your Claude Code projects with session counts and detailed statistics.
Main Dashboard - Qwen View
Seamlessly switch between different AI platforms to view their conversation histories.
Conversation Details
View conversations with proper formatting, syntax highlighting, and search capabilities.
Global Search
Search across all conversations and projects with instant results.
๐ ๏ธ Command Line Options
claude-viewer --help
Available options:
--projects-path- Path to Claude projects directory (default:~/.claude/projects)--host- Host to bind the server (default:127.0.0.1)--port- Port to run on (default:6300)--version- Show version information
๐ How It Works
AI conversation platforms store conversation history in JSONL files. This tool:
- Scans your AI projects directory (Claude:
~/.claude/projects/, Qwen: local storage) - Parses JSONL conversation files from multiple AI platforms
- Presents them in a unified, beautiful web interface
- Enables powerful search and filtering across all conversations
- Supports multi-language UI for international users
๐ง Development
Local Development
git clone https://github.com/desis123/claude-code-viewer
cd claude-code-viewer
pip install -e .
claude-viewer
Project Structure
claude-code-viewer/
โโโ claude_viewer/ # Main package
โ โโโ cli.py # Command line interface
โ โโโ main.py # FastAPI application
โ โโโ utils/ # Utilities (JSONL parser)
โโโ static/ # CSS, JavaScript
โโโ templates/ # HTML templates
โโโ setup.py # Package configuration
๐ค Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
git clone <your-fork>
cd claude-code-viewer
pip install -e ".[dev]"
๐ค Supported AI Platforms
Currently supports:
- Claude Code - Anthropic's official CLI for Claude
- Qwen (้ไนๅ้ฎ) - Alibaba Cloud's AI assistant
More platforms coming soon!
๐ Requirements
- Python 3.8+
- AI Platform (Claude Code, Qwen, or other supported platforms)
- Modern web browser (Chrome, Firefox, Safari, Edge)
๐ Troubleshooting
"Projects path does not exist"
Make sure Claude Code has been used and has created conversation files. The default path is ~/.claude/projects.
"No JSONL files found"
Ensure you have used Claude Code and it has generated conversation history. Try specifying a custom path with --projects-path.
Port already in use
Use a different port: claude-viewer --port 8080
๐ License
Apache 2.0 License - see LICENSE file for details.
๐ Acknowledgments
- Built with FastAPI and Bootstrap
- Syntax highlighting by Pygments
- Created for the AI development community
๐ Highlights
- ๐ฏ Zero configuration - Works out of the box for most users
- โก Fast startup - Sub-second launch time
- ๐ Full-text search - Search across all conversations instantly
- ๐ฑ Mobile responsive - Works seamlessly on all devices
- ๐ Multi-language - English and Chinese UI support
- ๐ค Multi-platform - Support for multiple AI platforms
๐บ๏ธ Roadmap
- Support for more AI platforms (Cursor, Gemini, etc.)
- Export conversations to various formats (PDF, Markdown, HTML)
- Advanced filtering and tagging system
- Conversation analytics and statistics
- Real-time conversation monitoring
- API for programmatic access
Made with โค๏ธ for the AI development community
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 ai_coder_viewer-1.1.0.tar.gz.
File metadata
- Download URL: ai_coder_viewer-1.1.0.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af5a82c6ba0fd8e6da6aedf938ce53e270145036f8a3e15b6c236c35d06501b7
|
|
| MD5 |
ecf329cbb8b1051c2ccaaa6b773f3741
|
|
| BLAKE2b-256 |
08e58216224527ee35bae98e3193d5f16bdc39fc62741c6e27446372eb2c2149
|
File details
Details for the file ai_coder_viewer-1.1.0-py3-none-any.whl.
File metadata
- Download URL: ai_coder_viewer-1.1.0-py3-none-any.whl
- Upload date:
- Size: 45.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9a82f0b76fa91a44c592c7706783b94c1d868a43ab9e0ec75f364d3e42e9b67
|
|
| MD5 |
358e2f8a755ec88ca0df3148b459b0d9
|
|
| BLAKE2b-256 |
5715a65b28550e455abc555a2abad6f3b2d6d7404446e7b6e2cc1238e0a22350
|