Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenWebUI Plugins

A collection of tools, pipelines and prompts for Open WebUI — extending the platform with GitHub integration, workflow helpers and more.

Repository Structure

OpenWebUI-plugins/
├── tools/           ← Tool plugins (Python classes exposed as functions to the model)
├── pipelines/       ← Pipeline plugins (custom processing pipelines)
├── prompts/         ← Prompt templates
├── .gitignore
└── LICENSE

Tools

Tools are Python plugins that extend the assistant with new capabilities. Each tool is a single file in tools/ containing a Tools class. The model can call any public async method as a function.


github_access.py — GitHub Repository Management

Full read/write access to GitHub repositories, issues, pull requests and workflows.

Capabilities:

  • Browse repositories, files and directories
  • Read commits, branches and diffs
  • Create branches, create/write/rename/delete files and directories
  • Create, read, update, close issues
  • Add, list, update, delete comments on issues and PRs
  • List, create, update pull requests, request reviewers, get diffs
  • Rename files and directories
  • Trigger and monitor GitHub Actions workflows

User Valves:

Valve Default Controls
ENABLE_CONTENT on Read access to repos, files, branches, commits
ENABLE_CONTENT_WRITE on Create branches, create/write/rename/delete files and directories
ENABLE_ISSUES on List, search, get issues
ENABLE_ISSUES_WRITE on Create, update, close, reopen issues
ENABLE_PULL_REQUESTS on List, get PRs, get PR files, get PR diff
ENABLE_PULL_REQUESTS_WRITE on Create PRs, request reviewers, update PRs
ENABLE_WORKFLOWS on List/get workflows, list/get workflow runs, view run logs
ENABLE_WORKFLOWS_WRITE on Trigger workflow dispatch, cancel/rerun workflow runs

Workflow rule:

github_create_branch → github_write_file → github_create_pull_request

No direct writes to main. No merge function.


confirm_destructive_actions.py — Destructive Action Guard

Shows a confirmation dialog before irreversible operations (file/directory deletion, etc.). The model must call this and receive "confirmed" before proceeding.


github_search.py — GitHub Global Search

Searches the entire GitHub universe — public repositories, code, issues, pull requests, commits, users and topics — right from Open WebUI. Works without a token for public searches, or with a token for higher rate limits and private repository access.

Functions:

Function Description
github_search(query, search_type) Main search across all types
github_search_repos(query) Find repositories
github_search_code(query) Search source code
github_search_issues(query) Search issues and pull requests
github_search_commits(query) Search commit messages
github_search_users(query) Find users and organizations

User Valves:

Valve Default Description
GITHUB_TOKEN (empty) Optional PAT for 30 req/min and private repos. Leave empty for anonymous public searches (10 req/min).

Pipelines

Pipelines are custom processing flows that run server-side in Open WebUI. Each pipeline is a single Python file defining a Pipe (or Pipeline) class.


helix_agent.py — Helix Agent (v4.6.1)

A single-model Plan → Execute → Review → Replan loop with per-phase tool control.

⚠️ Important: Still in development. Look at the helix-agent-update branch for newest version

How it works:

  1. Plan — The model creates a task list and calls confirm_plan.
  2. Execute — The model works through tasks, calling tools and marking them complete/failed.
  3. Review — Once all tasks are done, the model calls terminate to deliver the final result.
  4. Replan — If tasks need adjusting, the model calls replan or fix_plan and loops back to Execute.

Key features:

  • Per-phase tool filtering — only expose relevant tools to the LLM at each phase (configurable via Valves).
  • Native OWUI task list UI — real-time task progress via chat:message:tasks events (pending, in_progress, completed, cancelled). No HTML hacks.
  • Task finalization — on termination, remaining tasks are marked completed so the task list UI dismisses cleanly.
  • Plan confirmation — optional modal popup (UserValves: ENABLE_PLAN_APPROVAL, YOLO_MODE).
  • Context window management — adaptive history truncation preserving tool-call pair integrity.
  • Iteration limit — configurable max loop iterations with a Continue/Cancel dialog.
  • System prompt refresh — the LLM always sees up-to-date task state after mutations.
  • DB-backed state persistence — agent state is serialized to a JSON file attachment and synced to the OpenWebUI chat/message DB. Recovers from deep DB history scan across parent message chains.
  • Robust file persistence — tool-generated files are tracked, deduplicated, and synced to the DB with exponential backoff retry.
  • RAG search — built-in semantic search over attached large files.
  • Graceful shutdown — handles GeneratorExit/CancelledError, saves state, and syncs files before exiting.

Admin Valves (Valves):

Valve Default Description
AGENT_MODEL (empty) Model ID for Helix Agent. Leave empty to use the selected model. Must support function calling.
MAX_ITERATIONS 100 Maximum Helix Agent iterations before stopping.
MAX_TOOL_RESULT_CHARS 4200 Max characters for tool results before truncation.
TOOL_TIMEOUT 90 Timeout in seconds for individual tool execution. 0 to disable.
PLAN_TOOLS (empty) Comma-separated tools allowed in PLAN phase. Empty = all tools.
EXECUTE_TOOLS (empty) Comma-separated tools allowed in EXECUTE phase. Empty = all tools.
REVIEW_TOOLS (empty) Comma-separated tools allowed in REVIEW phase. Empty = all tools.
PLAN_PROMPT (built-in) Custom PLAN system prompt. Placeholders: {tool_names}. Leave empty to use the built-in default.
EXECUTE_PROMPT (built-in) Custom EXECUTE system prompt. Placeholders: {tool_names}, {task_state}. Leave empty to use the built-in default.
REVIEW_PROMPT (built-in) Custom REVIEW system prompt. Placeholders: {goal}, {task_state}, {tool_names}. Leave empty to use the built-in default.

User Valves (UserValves):

Valve Default Description
ENABLE_PLAN_APPROVAL true Show plan confirmation popup before execution. When off, plans are auto-approved without asking the user.
YOLO_MODE false Skip all user confirmations. Auto-approve plans and ignore iteration limits.

Skill

The github-workflow skill enforces consistent naming conventions:

Branch Type Purpose
feature/* New features and tools
fix/* Bugfixes
refactor/* Code restructuring
docs/* Documentation
chore/* Config, CI, dependencies

PR titles follow the format: <Type>: <Short description> (e.g. Feature: GitHub Global Search Tool).


License

This repository is licensed under the terms in LICENSE.

About

This is a repository for openwebui tools, functions and pipes

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages