This repository contains a collection of Open WebUI plugins I have personally coded for my own use. I’m sharing them here in case they are useful to others, but please keep in mind that these are developed primarily to satisfy my own needs and workflows.
Caution
Use at your own risk. Running third-party plugins in your Open WebUI instance involves executing code that can access your environment and APIs. I am not a security expert, and I cannot guarantee the absolute safety or stability of these scripts. Always review the code before installing.
- Personal Use First: I develop these plugins as my own motivation and needs arise. As such, I don't always prioritize making them perfectly intuitive for third parties. You may find some "quirks" that make sense for my setup but require adjustment for yours.
- Master vs. Tags: The
masterbranch is my active development area and should be considered "Canary" or "Dev" software—it is not guaranteed to work at any given moment. - Stable Versions: For a more reliable experience, please use the latest Version Tags to find checkpoints I consider stable.
- Feedback: Questions, Issues, and Pull Requests are very welcome! I am happy to help or collaborate, though I will respond to them only as my personal time allows.
The plugins are organized by type within the plugins/ directory:
plugins/pipes/: Pipe plugins that integrate custom models and behaviors.gemini_manifold.py| Open WebUI Community | Provides support for Google's Gemini Studio API and Vertex AI. See the Detailed Documentation.venice_manifold.py| Open WebUI Community | Enables image creation using any diffusion model offered by Venice.ai API.
plugins/filters/: Filter plugins that modify request and response data.gemini_manifold_companion.py: A companion filter for the Gemini Manifold pipe providing enhanced functionality like Google Search grounding. See the Detailed Documentation.system_prompt_injector.py: Allows changing chat options like system prompt and temperature directly from the chatbox. Pairs well with the Open WebUI "Prompts" feature.
-
Open your Open WebUI instance and navigate to Admin Panel -> Functions -> New Function (or click an existing one to update).
-
Copy the entire content of the desired
.pyfile (ideally from a Tag, not Master) and paste it into the editor. -
CRITICAL: Ensure the
idfield in the Open WebUI interface matches theiddefined in the file's frontmatter (docstring). Some logic within these plugins depends on these IDs being exact.Example from
gemini_manifold.py:""" title: Gemini Manifold google_genai id: gemini_manifold_google_genai ... """
Use the included utility script to automatically create/update multiple functions at once via the Open WebUI API.
- Clone the repo:
git clone https://github.com/suurt8ll/open_webui_functions.git - Configure: Copy
dev/.env.install.exampletodev/.env.install.- Set
ONE_TIME_RUN=true. - Set
API_KEY(see this doc page for help). - List the files you want to install in
FILEPATHS. - Set
HOST,PORT, etc.
- Set
- Setup Environment:
python3.11 -m venv .venv source .venv/bin/activate pip install -r requirements.txt - Run Sync:
python dev/function_updater.py --env dev/.env.install
utils/: Contains shared code likemanifold_types.pyused by multiple plugins.examples/: Test scripts and example plugins demonstrating specific capabilities.dev/: Tools for active development, includingfunction_updater.pyfor monitoring file changes anddev.shfor environment setup.
The plugins/archived/ directory contains old functions that are no longer actively developed or maintained.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines. As this is a personal project, please be patient with response times.
MIT License. See the LICENSE file for details.
Thanks to the Open WebUI team and all contributors. Special thanks to Matthew for the groundwork on thinking_gemini.py.