This release introduces significant improvements to configuration flexibility, performance, and stability.
**Key Changes:**
* **Smart Configuration:**
* Added `summary_model_max_context` to allow independent context limits for the summary model (e.g., using `gemini-flash` with 1M context to summarize `gpt-4` history).
* Implemented auto-detection of base model settings for custom models, ensuring correct threshold application.
* **Performance & Refactoring:**
* Optimized `model_thresholds` parsing with caching to reduce overhead.
* Refactored `inlet` and `outlet` logic to remove redundant code and improve maintainability.
* Replaced all `print` statements with proper `logging` calls for better production monitoring.
* **Bug Fixes & Modernization:**
* Fixed `datetime.utcnow()` deprecation warnings by switching to timezone-aware `datetime.now(timezone.utc)`.
* Corrected type annotations and improved error handling for `JSONResponse` objects from LLM backends.
* Removed hard truncation in summary generation to allow full context usage.
**Files Updated:**
* Plugin source code (English & Chinese)
* Documentation and READMEs
* Version bumped to 1.2.1
Filters
English | 中文
Filters process and modify user input before it is sent to the LLM. This directory contains various filters that can be used to extend OpenWebUI functionality.
📋 Filter List
| Filter Name | Description | Documentation |
|---|---|---|
| Async Context Compression | Reduces token consumption in long conversations through intelligent summarization and message compression while maintaining conversational coherence. | English / 中文 |
🚀 Quick Start
Installing a Filter
- Navigate to the desired filter directory
- Download the corresponding
.pyfile to your local machine - Open OpenWebUI Admin Settings and find the "Filters" section
- Upload the Python file
- Configure the filter parameters according to its documentation
- Refresh the page and enable the filter in your chat settings
📖 Development Guide
When adding a new filter, please follow these steps:
- Create Filter Directory: Create a new folder in the current directory (e.g.,
my_filter/) - Write Filter Code: Create a
.pyfile with clear documentation of functionality and configuration in comments - Write Documentation:
- Create
filter_name.md(English version) - Create
filter_name_cn.md(Chinese version) - Documentation should include: feature description, configuration parameters, usage examples, and troubleshooting
- Create
- Update This List: Add your new filter to the table above
⚙️ Configuration Best Practices
- Priority Management: Set appropriate filter priority to ensure correct execution order
- Parameter Tuning: Adjust filter parameters based on your specific needs
- Debug Logging: Enable debug mode during development, disable in production
- Performance Testing: Test filter performance under high load
Contributor Note: To ensure project maintainability and user experience, please provide clear and complete documentation for each new filter, including feature description, parameter configuration, usage examples, and troubleshooting guide.
Author
Fu-Jie GitHub: Fu-Jie/awesome-openwebui