Chat Navigator is a browser extension designed to enhance the user experience of LLM chat applications by providing an interactive navigation sidebar. The extension automatically indexes conversation messages and enables quick navigation through long chat histories.
- Real-time message indexing and navigation
- Movable sidebar interface
- Theme customization with multiple color schemes
- Automatic detection of new messages
- Direct message linking and navigation
- Cross-platform compatibility with major LLM chat applications
- Built as a Chrome extension using Manifest V3
- Utilizes MutationObserver for real-time message detection
- Implements drag-and-drop functionality for sidebar positioning
- Features a modular theme system with CSS variables
- Persists user preferences using Chrome Storage API
- ChatGPT (chat.openai.com)
- Perplexity AI (perplexity.ai)
- Clone the repository
- Open Chrome and navigate to
chrome://extensions/
- Enable Developer mode
- Click "Load unpacked" and select the extension directory
- The extension will automatically activate on supported chat applications
- Visit any supported LLM chat application
- The navigation sidebar will appear on the right side of the screen
- Click any indexed message to navigate directly to that point in the conversation
- Drag the sidebar to reposition it anywhere on the screen
- Use the extension popup to customize the theme
The extension consists of several key components:
content.js
: Main extension logic and DOM manipulationpopup.html/js
: Theme selection interfacestyle.css
: Theme definitions and UI stylingmanifest.json
: Extension configuration and permissions
- Message search functionality
- Custom message annotations
- Support for additional chat platforms
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please make sure to update tests as appropriate and follow the existing code style.