* feat(github-copilot-sdk): add workspace skills support - Introduce ENABLE_WORKSPACE_SKILLS valve to enable/disable workspace custom tools discovery - Modify _build_session_config() to auto-load tools from .copilot-skills/ directory - Add workspace_skills_example.py template with 3 working example tools - Update README.md and README_CN.md with Workspace Skills guide and usage examples - Create v0.9.0.md and v0.9.0_CN.md release notes - Sync version to all docs files (index.md, index.zh.md, and main docs) - Bump version from 0.8.0 to 0.9.0 across all 7+ locations * docs: establish temp files handling policy (project-based, not /tmp) - Add TEMP_FILES_POLICY.md guideline for all skills and workflows - Update pr-submitter skill to use .temp/ directory instead of /tmp - Update release-prep skill documentation with temp file convention - Add .temp/ and .build/ entries to .gitignore - Create internal policy memo in /memories/repo/ This policy ensures: - All temporary files stay within project workspace (not system /tmp) - Alignment with OpenWebUI workspace isolation principles - Multi-user safety and cleanup traceability - Consistent handling across all skills and development workflows * fix(terminology): rename 'workspace skills' to 'workspace custom tools' for accuracy The term 'Skills' in Anthropic context refers to instruction-based frameworks (SKILL.md files with YAML frontmatter + markdown), not custom tool functions. Our implementation uses @define_tool decorator to define custom tools that the SDK auto-discovers from .copilot-skills/ directory. These are Tools, not Skills. Changes: - Rename ENABLE_WORKSPACE_SKILLS valve -> ENABLE_WORKSPACE_TOOLS - Update all documentation (README, README_CN, docs, release notes) - Fix section headings and descriptions throughout - Ensure consistent terminology across all files This is a terminology-only change; functionality remains identical. * feat(pipes): release v0.9.0 of GitHub Copilot SDK Pipe - Integrated OpenWebUI Skills Bridge and manage_skills tool - Reinforced status bar stability with session_finalized logic - Added persistent SDK config directory support * docs(pipes): add comprehensive guides and v0.9.0 notes for Copilot SDK - Added skill manager and best practices guides - Added publishing tool documentation - Included v0.9.0 release notes and deployment script - Updated usage guides
Plugins
English | 中文
This directory contains three types of plugins for OpenWebUI:
- Filters: Process user input before sending to LLM
- Actions: Trigger custom functionalities from chat
- Pipes: Enhance LLM responses before displaying to user
📦 Plugin Types Overview
🔧 Filters (/filters)
Filters modify user input before it reaches the LLM. They are useful for:
- Input validation and normalization
- Adding system prompts or context
- Compressing long conversations
- Preprocessing and formatting
🎬 Actions (/actions)
Actions are custom functionalities triggered from chat. They are useful for:
- Generating outputs (mind maps, charts, etc.)
- Interacting with external APIs
- Data transformations
- File operations and exports
- Complex workflows
📤 Pipes (/pipes)
Pipes process LLM responses after generation. They are useful for:
- Response formatting
- Content enhancement
- Translation and transformation
- Response filtering
- Integration with external services
🚀 Quick Start
Installing Plugins
- Download the desired plugin file (
.py) - Open OpenWebUI Admin Settings → Plugins
- Select the plugin type (Filters, Actions, or Pipes)
- Upload the file
- Refresh the page
- Configure in chat settings
Using Plugins
- Filters: Automatically applied to all inputs when enabled
- Actions: Selected manually from the actions menu during chat
- Pipes: Automatically applied to all responses when enabled
📚 Plugin Documentation
Each plugin directory contains:
- Plugin code (
.pyfiles) - English documentation (
README.md) - Chinese documentation (
README_CN.md) - Configuration and usage guides
🛠️ Plugin Development
To create a new plugin:
- Choose the plugin type (Filter, Action, or Pipe)
- Navigate to the corresponding directory
- Create a new folder for your plugin
- Write the plugin code with clear documentation
- Create
README.mdandREADME_CN.md - Update the main README in that directory
Plugin Structure Template
plugins/
├── filters/
│ ├── my_filter/
│ │ ├── my_filter.py # Plugin code
│ │ ├── my_filter_cn.py # Optional: Chinese version
│ │ ├── README.md # Documentation
│ │ └── README_CN.md # Chinese documentation
│ └── README.md
├── actions/
│ ├── my_action/
│ │ ├── my_action.py
│ │ ├── README.md
│ │ └── README_CN.md
│ └── README.md
└── pipes/
├── my_pipe/
│ ├── my_pipe.py
│ ├── README.md
│ └── README_CN.md
└── README.md
📋 Documentation Checklist
Each plugin should include:
- Clear feature description
- Configuration parameters with defaults
- Installation and setup instructions
- Usage examples
- Troubleshooting guide
- Performance considerations
- Version and author information
Author
Fu-Jie GitHub: Fu-Jie/openwebui-extensions
Note
: For detailed information about each plugin type, see the respective README files in each plugin type directory.