Repository navigation
Releases: ShaoRou459/OpenWebUI-Agentic-Tooling
Release list
v2.0.1
Release Notes - OpenWebUI Agentic Tooling Suite
Version 2.0.1 - May 2026
🖼️ Patch Release: Image Editing Support & Better Non-Vision Model Compatibility
This release improves the Auto Tool Selector with native image editing / image-to-image support for OpenWebUI image backends, while also fixing compatibility issues for non-vision chat models that rely on vision injection.
🆕 New: Image Editing / Image-to-Image Support
The Auto Tool Selector can now pass attached user images into OpenWebUI's built-in image edit / img2img pipeline when an image-generation request includes attachments.
What this enables
- Image editing from uploaded source images
- Image-to-image generation with attached references
- Style transfer / restyling workflows
- Multi-image composition when supported by the configured backend
- Better compatibility with newer image-capable models such as GPT-Image and Gemini image models
🔧 Improved: Prompt Routing for Image Requests
- The router now treats image edit, variation, transformation, and compositing requests as
image_generation - The prompt-designer model is explicitly informed when attached images will be passed through to the image backend
- Added a new setting:
pass_attached_images_to_image_generation(default:true)
🛠️ Fixed: Non-Vision Model Image Injection
This release fixes a regression where some non-vision models listed in vision_injection_models could still receive raw image_url content, causing provider-side request failures.
Fixes included
- Restored text-only vision injection for configured non-vision models
- Prevented raw image parts from being sent to text-only providers in the main completion path
- Limited image-history cleanup so it only persists on
image_generationturns, avoiding unintended stripping for normal image-chat workflows
🖼️ Improved: Image Display Instructions
- Updated image result instructions so the model embeds generated/edited images directly in markdown
- Explicitly tells the model not to use any
display_filetool for image rendering - Results now display using the requested markdown format only
📚 Documentation Updates
Updated all project docs to reflect the new image editing support:
README.mdREADME_zh.mdProjectSummary.md
✅ Compatibility Notes
- Works best when OpenWebUI Images settings are configured with a backend/model that supports image editing or img2img
- Falls back gracefully to prompt-only image generation if the edit API is unavailable in the user's OpenWebUI version
Breaking Changes
- None
Upgrade Notes
- No migration required
- If you want image-to-image behavior, keep
pass_attached_images_to_image_generationenabled - Ensure your OpenWebUI Admin Settings → Images backend supports image editing / img2img
v2.0.0
Release Notes - OpenWebUI Agentic Tooling Suite
Version 2.0.0 - January 2026
🚀 Major Release: Introducing Exa Agentic Search
This release marks a significant evolution in the search capabilities of the OpenWebUI Agentic Tooling Suite. We've completely reimagined the search architecture with a new agentic approach that gives the AI full control over search parameters, resulting in more intelligent and adaptive research.
🆕 New: Exa Agentic Search Tool (v2.0.0)
Replaces: exa_router_search.py
New File: exa_agentic_search.py
The new Exa Agentic Search Tool is a ground-up rewrite that transforms web search from a passive tool into an intelligent research agent.
Key Features
| Feature | Description |
|---|---|
| Agent-Controlled Parameters | The AI agent now has full control over search type, category, date filters, domain filters, and result count—adapting dynamically based on query complexity |
| Iterative Research | Multi-pass search with intelligent stopping criteria—the agent decides when enough information has been gathered |
| Enhanced Debug System | Completely redesigned debug output with clean, focused logging and comprehensive session summaries |
| Unified API | Single search_and_contents call for efficiency (replaces separate search + crawl pattern) |
| Smart Query Generation | Agent generates optimized search queries based on context and previous findings |
Search Parameter Control
The agent can now dynamically control:
{
"search_type": "auto | neural | fast | deep",
"category": "news | research paper | github | company | tweet | pdf | ...",
"num_results": "1-25",
"start_published_date": "YYYY-MM-DD",
"end_published_date": "YYYY-MM-DD",
"include_domains": ["example.com"],
"exclude_domains": ["spam.com"],
"include_text": "required phrase",
"queries": ["optimized search query"]
}Standardized Output Format
The agent now uses a consistent output structure for all iterations:
EXTRACTED_INFO: → Key facts from current search
EVALUATION: → Brief assessment of findings
DECISION: → STOP or CONTINUE
SEARCH_CONFIG: → JSON parameters for next search
RESEARCH_SUMMARY: → Final synthesis (when stopping)
KEY_POINTS: → Bullet-point highlights (when stopping)
🔧 Improved: Debug System
The debug system has been completely overhauled for clarity and usefulness:
New Debug Methods
| Method | Purpose |
|---|---|
search_config() |
Logs the agent's chosen search parameters |
search_results() |
Shows result counts per iteration |
sources_found() |
Displays top sources with domains and titles |
agent_evaluation() |
Shows the agent's reasoning/evaluation |
agent_decision() |
Logs STOP/CONTINUE decisions with visual indicators |
Cleaner Output
- Silenced noisy logging: Removed redundant
flow,synthesis,warning,errorinline logs - Deferred error reporting: Errors and warnings are collected and shown in the session summary
- Visual hierarchy: Tree-style output with clear iteration boundaries
- Metrics summary: End-of-session report with timing, LLM calls, and source counts
Example Debug Output:
════════════════════════════════════════════════════════════
🔍 AGENTIC SEARCH [1234]
════════════════════════════════════════════════════════════
Query: What are the latest developments in quantum computing?
▶ ITERATION 1/3
├─ Config:
│ Query: quantum computing latest developments 2026...
│ Type: auto | Cat: news | Num: 10
├─ Results: 8 docs
│ • nature.com - Breakthrough in quantum error...
│ • arxiv.org - New approach to quantum coherence...
│ Eval:
│ Found several recent sources covering quantum...
└─ Decision: ✓ STOP
════════════════════════════════════════════════════════════
📊 SESSION SUMMARY
════════════════════════════════════════════════════════════
Iterations:
#1 auto | 8 docs | ✓STOP | 2.3s
└ quantum computing latest developments 2026
Stats: 2.5s total | 2 LLM calls | 8 sources
════════════════════════════════════════════════════════════
🛠️ Improved: Auto Tool Selector (v1.3.0)
- Updated version to 1.3.0 with improved tool integration
- Better error handling for LLM response parsing with JSONResponse support
- Cleaned Up Code & Reduced File Size within codebase
⚠️ Breaking Changes
- Removed:
exa_router_search.pyis no longer included - Tool ID: Update any references from
exa_router_searchtoexa_agentic_search - Settings: Some valve names have changed—review your configuration
📋 Migration Guide
If you're upgrading from the previous version:
- Backup your current
exa_router_searchvalve settings - Remove the old Exa Router Search tool from OpenWebUI
- Install the new
exa_agentic_search.pyas a Tool - Configure valves:
exa_api_key: Your Exa API keyagent_model: LLM for agentic search (default: gpt-4o-mini)max_iterations: Max search iterations (default: 3)debug_enabled: Enable debug logging (default: false)show_sources: Show source citations (default: false)
For support or issues, please visit our GitHub Issues page.
1.2.6
Fix Exa Search tool but removing the use_autoprompt boolean, which is no longer in the Exa Search API
1.2.5
Release Notes
Version 1.2.5
Release Date: September 10, 2025
🚀 Improvements
Performance & Efficiency
- Optimized LLM Call Management: Significantly improved system economics by better leveraging LLM calls and reducing redundant calls with the same purpose. The system now intelligently batches and consolidates similar requests, resulting in reduced API costs and improved response times.
🐛 Bug Fixes
Search Functionality
- Fixed OpenWebUI Search Integration: Resolved a critical bug where the built-in OpenWebUI search functionality was not compatible with the new automatic tool system. The search feature now works seamlessly with the enhanced tool calling architecture.
📋 Technical Details
This release focuses on system optimization and compatibility improvements, ensuring better resource utilization while maintaining full functionality of existing features.
Release 1.2 — “COMPLETE Research & Unified Debug”
Highlights
- COMPLETE iterative research workflow added to
exasearch.pywith clear multi-phase loop and robust stop conditions. - Unified, color-coded debug system embedded in
autotoo.pywith consistent metrics and end-of-session summaries. - Hardened LLM response normalization and parsing using a simplified
ANSWER:convention across prompts.
New/Improved
-
Iterative Research Flow (
exasearch.py)- Phases: Intro query → Objectives → Iteration (reasoning, multi-query search, crawl, findings, conclusion) → Final synthesis.
- Correct FINISH/max-iteration handling in a single loop (no duplicate restarts).
- Intro search retries with query broadening and graceful fallback.
- Replaced missing
_search_and_crawlwith_safe_exa_search+_safe_exa_crawl; aggregate{content, sources}for context. - Larger, defensible truncation limits (intro, objectives, findings, per-crawl summary).
- All prompts include
{current_date}/{current_year}to fixKeyError: 'current_year'and keep time-aware.
-
Unified Debug System (
autotoo.py)- Structured metrics: timings, LLM calls, failures, routing, vision.
- Color-coded/timestamped logs with context-managed timers.
- End-of-session metrics summary with stable categories: FLOW, DATA, SEARCH, CRAWL, AGENT, ITERATION, SYNTHESIS, ERROR.
-
Routing & Prompts
- Router prompt improved for explicit level selection:
CRAWL | STANDARD | COMPLETE. - Smarter bias toward COMPLETE for complex/multi-part queries.
ANSWER:decision format enforced; parser hardened and non-silent fallback to avoid defaulting to STANDARD.
- Router prompt improved for explicit level selection:
Robustness & Parsing
- Normalize diverse LLM outputs in
generate_with_retry()and COMPLETE flow:- Accepts
JSONResponse,choices,content,message, or raw string. - Detailed logs on type, keys, and content preview for troubleshooting.
- Accepts
- Guarded access to
valves.show_sourceswith sane default. - Fixed
Debug.search()misuse (single string parameter).
Performance & Metrics
- Concurrency/latency metrics integrated for Exa search and crawl (with
asyncio.to_threadwrappers). - Added timing metrics for vision analysis and router LLM calls.
Documentation/Comments
- Clarified core rules comment in
autotoo.pyon when to use web search.
Breaking Changes
- None known. Prompts standardized to
ANSWER:; legacy “Final Answer:” still parsed as fallback.
Upgrade Notes
- If you extended prompts, ensure they include
{current_year}/{current_date}and emitANSWER:lines. - Consider configuring log verbosity to leverage the new debug summaries.
OpenWebUI Auto Tool Selector Suite v1.1.0
OpenWebUI Auto Tool Selector Suite v1.1.0
🎉 Major Update: Enhanced Debugging, Vision Integration & Modular Architecture
🚀 What's New
🔧 Enhanced Debugging System
- Color-coded debug logging with structured categories (ROUTER, VISION, TOOL, etc.)
- Comprehensive debug reports for both Standard and Complete search modes
- Real-time troubleshooting with detailed operation insights
- Docker-friendly logging with automatic truncation and chunking
👁️ Smart Vision Integration
- Universal image support - Non-vision models can now "see" images
- Automatic image transcription using vision models for context
- Seamless vision injection for any model through settings
- Enhanced search context with image analysis integration
🔄 Modular Search Architecture
- Flexible search backend - Works with or without Exa Search Router
- Graceful fallback to native OpenWebUI search when Exa unavailable
- Intelligent routing between advanced and basic search modes
- Improved error handling with retry mechanisms
💻 Flexible Code Execution
- Dual interpreter support - Choose between Jupyter notebooks or basic code execution
- Environment selection via
use_jupyter_code_interpretersetting - Enhanced code capabilities with full Jupyter workspace support
- Better file handling and persistence options
⚙️ Settings-Based Configuration
- No more manual file downloads - Everything configured through UI
- Streamlined installation - Just enable function and configure settings
- User-friendly setup - Clear valve descriptions and recommendations
- Backward compatibility maintained with existing setups
🛠️ Improvements
Performance & Reliability
- Robust error handling with exponential backoff retry logic
- Query caching system to reduce API calls and improve response times
- Better memory management with configurable context limits
- Improved status updates with real-time progress tracking
User Experience
- Clearer status messages throughout tool execution
- Better failure recovery with graceful degradation
- Enhanced logging for easier troubleshooting
- Improved documentation with marketplace-specific READMEs
Code Quality
- Structured debug system replacing legacy debug functions
- Type safety improvements with better parameter validation
- Modular architecture for easier maintenance and extension
- Comprehensive error messages for better user feedback
📦 Installation & Upgrade
New Installation
- Install dependencies:
pip install exa_pyin your OpenWebUI container - Add Auto Tool Router: Install as Function from marketplace or copy
autotoo.py - Add Exa Search Router (optional): Install as Tool with ID
exa_router_search - Configure settings: Use the UI-based valve system (no manual files needed!)
Upgrading from v1.0
- Replace existing code with new versions
- Update settings through the valve system
- Enable new features like vision integration and debugging as needed
- No breaking changes - existing configurations will continue to work
⚡ Quick Start
Essential Settings
# Auto Tool Router Function
helper_model: "gpt-4o-mini" # Tool decision maker
vision_model: "gpt-4o" # For image analysis
vision_injection_models: ["llama3.1"] # Models to enhance
debug_enabled: false # Enable for troubleshooting
# Exa Search Router Tool (if installed)
exa_api_key: "your-key-here" # Required for advanced search
debug_enabled: false # Enable for search debuggingUsage Examples
# Autonomous tool selection - no manual intervention needed
"What's the weather in Tokyo today?" → Auto web search
"Create a logo for my coffee shop" → Auto image generation
"Analyze this CSV data and make charts" → Auto code interpreter
"Remember my favorite color is blue" → Auto memory storage🔗 Links
- 📚 Documentation: Full README
- 🏪 Marketplace: Auto Tool Router | Exa Search Router
- 🐛 Issues: Report bugs and request features
🙏 Acknowledgments
Thanks to the OpenWebUI community for feedback and suggestions that made this release possible!
📋 Full Changelog
Added
- Enhanced debug system with color-coded categorical logging
- Vision model integration for non-vision model image support
- Modular search architecture with native OpenWebUI fallback
- Jupyter vs basic code interpreter selection
- Settings-based configuration system
- Comprehensive debug reports for search operations
- Query caching for improved performance
- Structured error handling with retry mechanisms
Improved
- Status update messages throughout tool execution
- Error recovery and graceful degradation
- Documentation with marketplace-specific READMEs
- Code organization and maintainability
- Parameter validation and type safety
- Memory management with configurable limits
Fixed
- Issues with vision model integration in conversation history
- Error handling in search operations
- Status update consistency across tools
- Memory leaks in long conversations
- Edge cases in tool routing decisions
🎯 This release focuses on reliability, debugging capabilities, and user experience while maintaining full backward compatibility with v1.0 setups.