Skip to content

Releases: Fu-Jie/openwebui-extensions

GitHub Copilot Official SDK Pipe v0.11.0

19 Mar 19:27

Choose a tag to compare

Overview

This release brings significant performance optimizations and stability enhancements. We fixed a critical bug in the client management logic, eliminating the 1-2s process startup latency between turns and significantly improving Time to First Token (TTFT). Additionally, the plugin now supports a pure BYOK mode and features improved environment isolation for concurrent user requests.

View Plugin Source & Documentation

New Features

  • 🔑 Pure BYOK Mode: Allows the plugin to operate without a GH_TOKEN by using custom API keys (OpenAI/Anthropic) via BYOK Valves.
  • 🩺 Smart Stall Detection: Integrated client.ping() into the timeout logic. The system now "pokes" the underlying process before aborting, preventing the termination of slow but healthy long-running tasks.
  • 🧹 Smart TODO Visibility: The TODO List widget is now automatically hidden in subsequent chats once all tasks are marked as completed, keeping the UI clean.

Bug Fixes

  • 🚀 Major Performance Optimization: Fixed a regression where the shared singleton client pool was incorrectly terminated after each response. Restored 1-2s startup speed for all follow-up messages.
  • 🛡️ Cross-user Isolation: Redesigned environment variable injection to prevent token pollution during concurrent requests from different users.
  • 📏 RichUI Height Stability: Fixed the infamous infinite vertical growth bug in embedded HTML components by refining the height measurement and breaking the ResizeObserver feedback loop.

Migration Notes

  • If you previously relied on GH_TOKEN for standard Copilot models but want to switch to a pure BYOK setup, you can now safely clear the GH_TOKEN Valve and only configure BYOK_BASE_URL and BYOK_API_KEY.

Version Changes

Plugin Updates

  • GitHub Copilot Official SDK Pipe: v0.10.1 → v0.11.0 | 📖 README

📚 Documentation Portal
🐛 Report Issues

Batch Install Plugins from GitHub v1.1.0

16 Mar 07:39
8573a0d

Choose a tag to compare

Overview

Batch Install Plugins from GitHub v1.1.0 upgrades the install confirmation step into an interactive plugin picker powered by the OpenWebUI execute event. Users can now review the filtered plugin list in a browser dialog, uncheck anything they do not want, and install only the selected subset.

📖 README

Highlights

  • Interactive Selection Dialog: Opens a checkbox-based browser dialog with type filters, keyword search, and visible plugin descriptions
  • Multi-Repository Input: Accepts multiple owner/repo values in one request and groups the dialog by repository
  • Selective Installation: The install loop now runs only for the plugins the user keeps selected
  • Repository Context: Displays the current repository and only shows useful exclusion information inside the dialog
  • Localized UI: Dialog controls are localized for all supported languages
  • No Workflow Regression: Existing discovery, filtering, auto-update, and fallback connection logic remain unchanged

Technical Notes

  • Replaced the install confirmation step with __event_call__({"type": "execute"})
  • Added a repository parser plus multi-repository discovery fan-out before filtering and installation
  • Returns a structured payload containing confirmed and selected_ids
  • Preserves the existing 120-second timeout for user interaction
  • Keeps installation ordering aligned with the requested repository order and filtered candidate list

Validation

  • Python syntax validated with python -m py_compile plugins/tools/batch-install-plugins/batch_install_plugins.py
  • README and mirrored docs updated to match the new interactive selection flow

Upgrade Notes

  • No new Valves are required
  • Existing prompts continue to work
  • Users now get a plugin picker before installation begins
  • One request can now merge multiple repositories into the same selection dialog

Version Changes

Plugin Updates

  • Batch Install Plugins from GitHub: v1.0.0 → v1.1.0 | 📖 README

📚 Documentation Portal
🐛 Report Issues

GitHub Copilot Official SDK Pipe v0.10.1

15 Mar 22:44

Choose a tag to compare

Version Changes

Plugin Updates

  • GitHub Copilot Official SDK Pipe: v0.10.0 → v0.10.1 | 📖 README

📚 Documentation Portal
🐛 Report Issues

Batch Install Plugins from GitHub v1.0.0

15 Mar 09:46

Choose a tag to compare

Overview

Batch Install Plugins from GitHub is a new tool for OpenWebUI that enables one-click installation of multiple plugins directly from GitHub repositories. This initial release includes comprehensive features for discovering, filtering, and installing plugins with user confirmation, extensive multi-language support, and robust debugging capabilities for container deployments.

📖 README

Features

  • One-Click Installation: Install all plugins from a repository with a single command
  • Smart Plugin Discovery: Parse Python files to extract metadata and validate plugins automatically
  • Multi-Type Support: Support Pipe, Action, Filter, and Tool plugins in a single operation
  • Confirmation Dialog: Display plugin list before installation for user review and approval
  • Selective Installation: Exclude specific plugins using keyword-based filtering
  • Smart Fallback: Container deployments auto-retry with localhost:8080 if primary connection fails
  • Enhanced Debugging: Rich frontend JavaScript and backend Python logs for troubleshooting
  • Extended Timeout: 120-second confirmation window for thoughtful decision-making
  • Async Architecture: Non-blocking I/O operations for better performance
  • Full Internationalization: Complete support for 11 languages with proper fallback maps
  • Auto-Update: Automatically updates previously installed plugins
  • Self-Exclusion: Automatically excludes the tool itself from batch operations

Technical Highlights

  • httpx Integration: Modern async HTTP client for reliable, non-blocking requests
  • Event Emitter Support: Proper handling of OpenWebUI event injection with fallbacks
  • Timeout Protection: Wrapped frontend execution with timeout guards to prevent hanging
  • Filtered List Consistency: Uses single source of truth for confirmation and installation
  • Error Localization: All error messages are user-facing and properly localized across languages
  • Deployment Resilience: Intelligent base URL resolution handles domain, localhost, and containerized environments

Supported Repositories

  • Default: Fu-Jie/openwebui-extensions (strict validation)
  • Custom: Any GitHub repository with Python plugin files

Testing

Comprehensive regression tests included:

  • Filtered installation list consistency
  • Missing event emitter handling
  • Confirmation timeout verification
  • Full failure scenarios
  • Localization completeness
  • Connection error debug logging and smart fallback

All 6 tests pass successfully.

Documentation

  • English README with flow diagrams and usage examples
  • Chinese README (README_CN.md) with complete translations
  • Mirrored documentation for official docs site
  • Plugin index entries in both English and Chinese

Compatibility

  • OpenWebUI: 0.2.x - 0.8.x
  • Python: 3.9+
  • Dependencies: httpx (async HTTP client), pydantic (type validation)

Release Notes

  • This initial v1.0.0 release includes complete plugin infrastructure with smart deployment handling.
  • The plugin is designed to handle diverse deployment scenarios (domain, localhost, containerized) with minimal configuration.

Version Changes

New Plugins

  • Batch Install Plugins from GitHub v1.0.0
    • One-click batch install plugins from GitHub repositories to your OpenWebUI instance.
    • 📖 README

📚 Documentation Portal
🐛 Report Issues

Async Context Compression v1.5.0

14 Mar 08:10

Choose a tag to compare

Overview

Compared with the previous git version (1.4.2), this release introduces two major new capabilities: external chat reference summarization and a much stronger multilingual token-estimation pipeline. It also improves the reliability of the surrounding summary workflow, especially when provider-side failures occur.

📖 README

New Features

  • External Chat Reference Summaries: Add support for referenced chat context injection that can reuse cached summaries, inject small referenced chats directly, or generate summaries for larger referenced chats before injection.
  • Fast Multilingual Token Estimation: Replace the old rough len(text)//4 fallback with a new mixed-script estimation pipeline so preflight decisions stay much closer to actual usage across English, Chinese, Japanese, Korean, Arabic, Cyrillic, Thai, and mixed content.
  • Stronger Working-Memory Prompt: Refined the XML summary prompt so generated working memory preserves more actionable state across general chat, coding tasks, and tool-heavy conversations.
  • Clearer Frontend Debug Logs: Reworked browser-console debug output into grouped structural snapshots that make inlet/outlet state easier to inspect.
  • Safer Tool Trimming Defaults: Enabled native tool-output trimming by default and exposed tool_trim_threshold_chars with a 600-character threshold.

Bug Fixes

  • Referenced-Chat Fallback Reliability: If the new referenced-chat summary path fails, the active request now falls back to direct contextual injection instead of failing the whole chat.
  • Correct Summary Budgeting: Fixed referenced-chat summary preparation so summary_model_max_context controls summary-input fitting, while max_summary_tokens remains an output cap.
  • Visible Background Failures: Important background summary failures now surface to the browser console and chat status even when show_debug_log is disabled.
  • Provider Error Surfacing: Improved summary-call error extraction so non-standard upstream provider error payloads are reported more clearly.

Release Notes

  • Bilingual plugin README files and mirrored docs pages were refreshed for the 1.5.0 release.
  • This release is aimed at reducing silent failure modes and making summary behavior easier to reason about during debugging.

Version Changes

Plugin Updates

  • Async Context Compression: v1.4.2 → v1.5.0 | 📖 README

📚 Documentation Portal
🐛 Report Issues

Async Context Compression v1.4.2

13 Mar 06:59

Choose a tag to compare

Version Changes

Plugin Updates

  • Async Context Compression: v1.4.1 → v1.4.2 | 📖 README

📚 Documentation Portal
🐛 Report Issues

Async Context Compression v1.4.1

10 Mar 19:57

Choose a tag to compare

Overview

This release addresses the critical progress coordinate drift issue in OpenWebUI's outlet phase, ensuring robust summarization for long tool-calling conversations.

View on GitHub

  • New Features

    • Reverse-Unfolding Mechanism: Accurately reconstructs the expanded native tool-calling sequence during the outlet phase to permanently fix coordinate drift and missing summaries for long tool-based conversations.
    • Safer Tool Trimming: Refactored enable_tool_output_trimming to strictly use atomic block groups for safe trimming, completely preventing JSON payload corruption.
  • Bug Fixes

    • Fixed coordinate drift where compressed_message_count could lose track due to OpenWebUI's frontend view truncating tool calls.
  • Related Issues

Version Changes

Plugin Updates

  • Async Context Compression: v1.4.0 → v1.4.1 | 📖 README

📚 Documentation Portal
🐛 Report Issues

Async Context Compression v1.4.0

09 Mar 12:35

Choose a tag to compare

Overview

This release focuses on improving the structural integrity of chat history when using function-calling models and enhancing task reliability through concurrent task management. It introduces "Atomic Message Grouping" to prevent chat context corruption and a session-based locking mechanism to ensure stable background operations.

📖 README

New Features

  • Atomic Message Grouping: A new structure-aware logic that identifies and groups assistant-tool-tool-assistant calling sequences. This ensures that tool results are never orphaned from their calls during compression.
  • Tail Boundary Alignment: Automatically corrects truncation indices to ensure the recent context "tail" starts at a valid message boundary, preventing partial tool-calling sequences from being sent to the LLM.
  • Chat Session Locking: Implements a per-chat-id asynchronous lock to prevent multiple summary tasks from running concurrently for the same session, reducing redundant LLM calls and race conditions.
  • Metadata Traceability: Summarization inputs now include message IDs, participant names, and key metadata labels, allowing the summary model to maintain better traceability in its output.

Bug Fixes

  • Fixed "No tool call found" Errors: By enforcing atomic grouping, the filter no longer truncates the context in a way that separates tool calls from their results.
  • Improved Progress Calculation: Fixed an issue where summarizing messages would cause the progress tracking to drift due to shifting list indices.
  • Prevented Duplicate Summary Tasks: The new locking mechanism ensures that only one background summary process is active per session.

Related Issues

  • #56: Tool-Calling context corruption and concurrent summary tasks.

OpenWebUI Skills Manager Tool v0.3.0

08 Mar 10:21

Choose a tag to compare

OpenWebUI Skills Manager v0.3.0 Release Notes

This release introduces significant reliability enhancements for the auto-discovery mechanism, enables overwrite by default, and undergoes a major architectural refactor.

New Features

  • Enhanced Directory Discovery: Replaced single-directory scan with a deep recursive Git trees search, ensuring SKILL.md files in nested subdirectories are properly discovered.
  • Default Overwrite Mode: ALLOW_OVERWRITE_ON_CREATE is now enabled (True) by default. Skills installed or created with the same name will be overwritten instead of throwing an error.

Bug Fixes

  • Deep Module Discovery: Fixed an issue where the install_skill auto-discovery function would fail to find nested skills when given a root directory (e.g., when SKILL.md is hidden inside plugins/visual-explainer/ rather than the immediate root). Resolves #58.
  • Missing Positional Arguments: Fixed an issue where _emit_status and _emit_notification would crash due to missing valves parameter references after the stateless codebase refactoring.

Enhancements

  • Code Refactor: Decoupled all internal helper methods from the Tools class to global scope, making the codebase stateless, cleaner, and strictly enforcing context injection.

What's Changed

Plugin Updates

  • OpenWebUI Skills Manager Tool: v0.2.1 → v0.3.0

Commits

  • feat(openwebui-skills-manager): enhance auto-discovery and structural refactoring
  • Enable default overwrite installation policy for overlapping skills
  • Support deep recursive GitHub trees discovery mechanism to resolve #58
  • Refactor internal architecture to fully decouple stateless helper logic
  • READMEs and docs synced (v0.3.0)
  • fix(copilot-sdk): implement dict-based isolated cache and optimize session config
  • Fix model list flapping bug by utilizing dictionary-based '_discovery_cache' keyed by config hash instead of wiping a global list.
  • Optimize performance by removing redundant disk IO 'config.json' syncing ('_sync_mcp_config' and '_sync_copilot_config'); SDK directly accepts params via 'SessionConfig'.
  • Remove unused imports and variables based on flake8 lint rules.

Download

📦 Download the updated plugin files below

Installation

From OpenWebUI Community

  1. Open OpenWebUI Admin Panel
  2. Navigate to Functions/Tools
  3. Search for the plugin name
  4. Click Install

Manual Installation

  1. Download the plugin file (.py) from the assets below
  2. Open OpenWebUI Admin Panel → Functions
  3. Click "Create Function" → Import
  4. Paste the plugin code

📚 Documentation
🐛 Report Issues

Markdown Normalizer v1.2.8

08 Mar 12:05

Choose a tag to compare

Markdown Normalizer v1.2.8

This release focuses on significantly improving the reliability and safety of the Markdown Normalizer filter, ensuring that it never corrupts valid technical content and elegantly handles unexpected errors.

Bug Fixes

  • Error Fallback Mechanism: Fixed an issue where the plugin could return partially modified or broken text if an error occurred during normalization. It now guarantees a 100% rollback to the original text upon any failure.
  • Inline Code Protection: Refined the escape character fixing logic to accurately identify and protect inline code blocks (`...`). This prevents valid technical strings, such as regular expressions ([\n\r]) and Windows file paths (C:\Windows), from being unintentionally modified.
  • Code Block Escaping Control: Fixed a bug where the enable_escape_fix_in_code_blocks Valve setting was ignored. The setting now correctly applies, allowing users to optionally fix broken newlines inside code blocks (e.g., repairing flat SQL queries) when enabled.

New Features

  • Privacy & Log Optimization: The show_debug_log Valve now defaults to False instead of True. This prevents sensitive chat content from automatically printing to the browser console and reduces unnecessary log noise for general users.

What's Changed

Plugin Updates

  • Markdown Normalizer: v1.2.7 → v1.2.8

Download

📦 Download the updated plugin files below

Installation

From OpenWebUI Community

  1. Open OpenWebUI Admin Panel
  2. Navigate to Functions/Tools
  3. Search for the plugin name
  4. Click Install

Manual Installation

  1. Download the plugin file (.py) from the assets below
  2. Open OpenWebUI Admin Panel → Functions
  3. Click "Create Function" → Import
  4. Paste the plugin code

📚 Documentation
🐛 Report Issues