Files
Fu-Jie_openwebui-extensions/plugins
Fu-Jie 0c7201902c feat(github-copilot-sdk): add workspace skills support (v0.9.0) (#51)
* 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
2026-02-28 03:50:56 +08:00
..

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

View Filters →

🎬 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

View Actions →

📤 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

View Pipes →

🚀 Quick Start

Installing Plugins

  1. Download the desired plugin file (.py)
  2. Open OpenWebUI Admin Settings → Plugins
  3. Select the plugin type (Filters, Actions, or Pipes)
  4. Upload the file
  5. Refresh the page
  6. 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 (.py files)
  • English documentation (README.md)
  • Chinese documentation (README_CN.md)
  • Configuration and usage guides

🛠️ Plugin Development

To create a new plugin:

  1. Choose the plugin type (Filter, Action, or Pipe)
  2. Navigate to the corresponding directory
  3. Create a new folder for your plugin
  4. Write the plugin code with clear documentation
  5. Create README.md and README_CN.md
  6. 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.