Automatically label your Tiny Tiny RSS articles using OpenAI's GPT models. This plugin analyzes article content and suggests relevant labels based on existing tags and content analysis.
- 🤖 Automatic article labeling using OpenAI API
- 🏷️ Smart reuse of existing labels
🎨 Automatic color generation for new labels- 🌍 Configurable label language
- 🔄 Customizable number of labels per article (1-10)
- ⚡ Configurable API endpoint and model selection
- 📝 Adjustable content length for analysis (500-4000 characters)
- 🎯 Comprehensive error handling and logging
Warning: Automatic color generation for new labels is temporarily unavailable. For some reason, the functionality code is not working as intended. If you are interested in resolving this issue, contributions to the code are welcome!
- Tiny Tiny RSS v21.0.0 or higher
- Download the latest release from GitHub
- Extract the
openai_auto_labels
folder to your TTRSS plugins directory:cd /path/to/ttrss/plugins git clone https://github.com/fangd123/ttrss-openai-auto-labels.git openai_auto_labels
- Enable the plugin in TTRSS Preferences -> Plugins
- Configure your OpenAI API key in Preferences -> Feeds -> Plugins -> OpenAI Auto Labels Settings
- Go to Preferences -> Feeds -> OpenAI Auto Labels Settings
- Enter your OpenAI API key
- Configure your preferences:
- Label language (defaults to your TTRSS system language)
- Use standard language codes like 'en', 'zh-CN', etc.
- If your TTRSS system language is set to 'auto', English will be used
- OpenAI API endpoint (defaults to official API)
- GPT model selection (defaults to gpt-4o-mini)
- Maximum number of labels per article (1-10, default: 5)
- Maximum text length for analysis (500-4000 characters, default: 1500)
- Label language (defaults to your TTRSS system language)
- When a new article is received, the plugin extracts the title and content
- Content is truncated to the configured length (default: 1500 characters) to optimize API usage
- The plugin retrieves existing labels from your TTRSS installation
- The configured OpenAI model analyzes the content and suggests relevant labels
- Labels are either reused from existing ones or created as new
- New labels get automatically assigned contrasting colors
- The specified number of most relevant labels are applied to the article
The plugin includes comprehensive error handling for various scenarios:
- Network connectivity issues
- API key validation
- Rate limiting
- Quota management
- Response parsing
- Timeout handling
Errors are logged to TTRSS's logging system for troubleshooting.
Contributions are welcome! Please feel free to submit a Pull Request.
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
fangd123 - GitHub Profile
- Thanks to the TTRSS community
- Built using OpenAI's GPT API
- Inspired by the need for better article organization
If you encounter any issues or have questions, please:
- Check the Issues page
- Create a new issue if your problem isn't already listed
- Provide as much detail as possible, including:
- TTRSS version
- PHP version
- Error messages
- Steps to reproduce