A Chrome extension that provides an easy way to manage ChatGPT conversations with bulk selection and actions.
- Bulk Selection: Select multiple conversations at once with "Select All" functionality
- Bulk Actions: Delete, archive, and unarchive conversations in bulk
- Search: Filter conversations by title or ID
- Pagination: Load conversations in configurable batches
- Theme Support: Light, dark, system, and ChatGPT theme integration
- Settings: Configurable batch size and action prevention settings
- Modern UI: Clean, responsive interface with proper theming
chatgpt-conversations-manager/
├── manifest.json # Extension manifest
├── README.md # Project documentation
├── INSTALL.md # Installation guide
├── src/
│ ├── popup/ # Extension popup UI
│ │ ├── popup.html # Popup HTML structure
│ │ ├── popup.css # Popup styles
│ │ └── popup.js # Popup logic
│ ├── content/ # Content script for ChatGPT pages
│ │ ├── content.js # Content script logic
│ │ └── content.css # Modal and button styles
│ └── background/ # Background script
│ └── background.js # Extension lifecycle management
└── icons/ # Extension icons
└── icon.svg # Extension icon (SVG format)
The extension follows a modular architecture with clear separation of concerns:
- popup.html: Clean HTML structure with semantic markup
- popup.css: Component-based CSS with theme system
- popup.js: Modular JavaScript with class-based architecture
- content.js: Handles ChatGPT page integration and modal management
- content.css: Styles for the injected button and modal
- background.js: Extension lifecycle and inter-script communication
PopupState: Manages popup state and settingsStorageManager: Handles Chrome storage operationsThemeManager: Manages theme switching and applicationSettingsManager: Handles settings form and validationNavigationManager: Manages tab navigation and displayEventHandlers: Centralized event listener management
ContentState: Manages modal and conversation stateAPIManager: Handles all ChatGPT API interactionsModalManager: Creates and manages the conversations modalConversationManager: Handles conversation loading, rendering, and actionsButtonManager: Manages the injected sidebar buttonMessageHandler: Handles inter-script communication
ExtensionLifecycle: Manages extension installation and updatesMessageHandler: Handles background script message routingStorageManager: Manages extension-wide storage operationsErrorHandler: Centralized error handling and logging
- Clone or download this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extension directory
- The extension will appear in your Chrome toolbar
- Go to ChatGPT and log in
- Look for the "Manage Conversations" button in the left sidebar
- Click it to open the conversations manager modal
- Use "Select All" to choose multiple conversations
- Perform bulk actions: delete, archive, or unarchive
- Click the extension icon in the toolbar to open the popup
- Use the settings gear to configure:
- Theme: Light, dark, system, or ChatGPT theme
- Batch Size: Number of conversations to load per batch
- Action Prevention: Toggle confirmation dialogs for actions
The project follows modern development practices:
- Separation of Concerns: Each file has a single responsibility
- Modular Architecture: Classes and functions are organized by purpose
- Component-Based CSS: Styles are organized by component
- Clean Code: Consistent naming conventions and documentation
- New UI Component: Add HTML to appropriate file, CSS to component section, JS to relevant class
- New API Endpoint: Add to
APIManagerclass in content script - New Setting: Add to
DEFAULT_SETTINGSand update relevant managers - New Theme: Add CSS variables and theme classes
- JavaScript: ES6+ with classes, async/await, and proper error handling
- CSS: Component-based with clear section comments
- HTML: Semantic markup with proper accessibility attributes
- Comments: JSDoc-style comments for classes and complex functions
The extension integrates with ChatGPT's backend API:
- Authentication: Uses
/api/auth/sessionfor access tokens - Conversations: Fetches from
/backend-api/conversations - Actions: DELETE/PATCH requests to
/backend-api/conversation/{id} - Settings: Reads from
/backend-api/settings/user
- Chrome: 88+ (Manifest V3)
- Edge: 88+ (Chromium-based)
- Other Chromium browsers: Should work with Manifest V3 support
- Content Security Policy: Strict CSP for extension pages
- API Authorization: Proper Bearer token authentication
- Input Validation: All user inputs are validated
- Error Handling: Comprehensive error handling without exposing sensitive data
- Fork the repository
- Create a feature branch
- Make your changes following the established patterns
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
For issues, feature requests, or questions:
- Check the existing issues
- Create a new issue with detailed information
- Include browser version and extension version
Note: This extension is not affiliated with OpenAI or ChatGPT. It's a third-party tool for managing ChatGPT conversations.