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
Plugins
English | 中文
This directory contains three types of plugins for OpenWebUI:
- Filters: Process user input before sending to LLM
- Actions: Trigger custom functionalities from chat
- Pipes: Enhance LLM responses before displaying to user
📦 Plugin Types Overview
🔧 Filters (/filters)
Filters modify user input before it reaches the LLM. They are useful for:
- Input validation and normalization
- Adding system prompts or context
- Compressing long conversations
- Preprocessing and formatting
🎬 Actions (/actions)
Actions are custom functionalities triggered from chat. They are useful for:
- Generating outputs (mind maps, charts, etc.)
- Interacting with external APIs
- Data transformations
- File operations and exports
- Complex workflows
📤 Pipes (/pipes)
Pipes process LLM responses after generation. They are useful for:
- Response formatting
- Content enhancement
- Translation and transformation
- Response filtering
- Integration with external services
🚀 Quick Start
Installing Plugins
- Download the desired plugin file (
.py) - Open OpenWebUI Admin Settings → Plugins
- Select the plugin type (Filters, Actions, or Pipes)
- Upload the file
- Refresh the page
- Configure in chat settings
Using Plugins
- Filters: Automatically applied to all inputs when enabled
- Actions: Selected manually from the actions menu during chat
- Pipes: Automatically applied to all responses when enabled
📚 Plugin Documentation
Each plugin directory contains:
- Plugin code (
.pyfiles) - English documentation (
README.md) - Chinese documentation (
README_CN.md) - Configuration and usage guides
🛠️ Plugin Development
To create a new plugin:
- Choose the plugin type (Filter, Action, or Pipe)
- Navigate to the corresponding directory
- Create a new folder for your plugin
- Write the plugin code with clear documentation
- Create
README.mdandREADME_CN.md - Update the main README in that directory
Plugin Structure Template
plugins/
├── filters/
│ ├── my_filter/
│ │ ├── my_filter.py # Plugin code
│ │ ├── my_filter_cn.py # Optional: Chinese version
│ │ ├── README.md # Documentation
│ │ └── README_CN.md # Chinese documentation
│ └── README.md
├── actions/
│ ├── my_action/
│ │ ├── my_action.py
│ │ ├── README.md
│ │ └── README_CN.md
│ └── README.md
└── pipes/
├── my_pipe/
│ ├── my_pipe.py
│ ├── README.md
│ └── README_CN.md
└── README.md
📋 Documentation Checklist
Each plugin should include:
- Clear feature description
- Configuration parameters with defaults
- Installation and setup instructions
- Usage examples
- Troubleshooting guide
- Performance considerations
- Version and author information
Author
Fu-Jie GitHub: Fu-Jie/awesome-openwebui
Note
: For detailed information about each plugin type, see the respective README files in each plugin type directory.