Welcome to the repository for storing functions, tools, pipelines, and LLM instructions for Open-WebUI. This repository is dedicated to enhancing the capabilities of Open-WebUI by providing a collection of useful components and development resources.
This repository contains:
- Functions: Reusable code snippets that perform specific tasks within Open-WebUI.
- Tools: Standalone utilities callable directly by LLMs to extend functionality (like web scraping, data retrieval).
- Pipelines: Automated workflows that chain together multiple components for complex processes.
- LLM Instructions: Documentation and examples to help LLMs understand and generate code for Open-WebUI.
- (Coming Soon) Setup and configuration instructions for:
- Ollama
- Open-WebUI
- SearXNG
- Caddy
- OpenedAI Speech
- ComfyUI
- Crawl4AI
- n8n
- TailScale
- Docker Run and Compose
- WSL2
- Ubuntu
Functions are internal logic units that can be reused across tools and pipelines. They encapsulate specific functionality like model management or data processing.
Tools extend LLM capabilities with real-world interactions like retrieving weather data, stock prices, or performing web searches. Each tool has its own directory with documentation.
Pipelines are sequences of integrated tools and functions designed for complex workflows, such as the SmolAgents Deep Research Pipeline.
The __llm_instructions directory contains resources for AI coding assistants to understand Open-WebUI's architecture and generate appropriate code:
- Documentation templates
- Code examples
- Best practices
- Migration guides
- Metadata standards
Each function, tool, or pipeline has its own README with detailed usage instructions. Please refer to the respective folders for specific information.
Contributions are welcome! If you have a function, tool, or pipeline that you think would be useful for the community, please feel free to submit a pull request. Here are some guidelines to get you started:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name- Make your changes and commit them:
git commit -m "Add some feature"- Push to the branch:
git push origin feature/your-feature-name- Open a pull request.
All components should include:
- A clear README.md following the template in
__llm_instructions/documentation.md - Proper metadata headers for Python scripts as outlined in
__llm_instructions/metadata_header_instructions.md - Comprehensive inline documentation
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or suggestions, feel free to reach out via GitHub Issues or via Open-WebUI's Discord @userx.
I am not a developer. My primary expertise lies in IT infrastructure, where I have served as a Senior System Administrator and currently as the IT Infrastructure Manager for a government organization. While I am involved in writing tools, functions, and pipelines for Open-WebUI, it is important to understand that software development is not my primary area of expertise.