* feat(plugins): release copilot sdk pipe v0.8.0 and files filter v0.1.3 - Add P1~P4 conditional tool filtering and admin/server gating behavior - Fix artifact publishing reliability, strict /api file URLs, and HTML preview/download delivery - Update bilingual README/docs, release notes, and filter matching/debug improvements * fix(docs): remove duplicate code block in tool-filtering zh doc - Remove incorrectly placed duplicate 'if not is_enabled: continue' block outside code fence on line 161-163 of copilot-sdk-tool-filtering.zh.md - Addresses review comment from gemini-code-assist (#50)
9.2 KiB
GitHub Copilot SDK Pipe for OpenWebUI
Author: Fu-Jie | Version: 0.8.0 | Project: OpenWebUI Extensions | License: MIT
This is an advanced Pipe function for OpenWebUI that integrates the official GitHub Copilot SDK. It enables you to use GitHub Copilot models (e.g., gpt-5.2-codex, claude-sonnet-4.5,gemini-3-pro, gpt-5-mini) AND your own models via BYOK (OpenAI, Anthropic) directly within OpenWebUI, providing a unified agentic experience with strict User & Chat-level Workspace Isolation.
Important
Essential Companion To unlock file handling and data analysis capabilities, you must install the GitHub Copilot SDK Files Filter.
Tip
No Subscription Required for BYOK If you are using your own API keys (BYOK mode with OpenAI/Anthropic), you do NOT need a GitHub Copilot subscription. A subscription is only required to access GitHub's official models.
✨ v0.8.0 Updates (What's New)
- 🎛️ Conditional Tool Filtering (P1~P4): Four-priority tool permission system. Default ON: If no tools are selected in Chat UI (P4), all enabled tools are active. Whitelist Mode: Once specific tools are checked, the whitelist strictly filters both OpenWebUI tools and MCP servers. Admin-level
config.enable(P2) allows global server disabling. (v0.8.0) - 🔧 File Publish Reliability: Fixed
Error getting file contentacross all storage backends (local/S3/GCS/Azure) by usingStorage.upload_file()directly in the fallback path. HTML files are no longer blocked byALLOWED_FILE_EXTENSIONS(?process=falsealways applied). (v0.8.0) - 🌐 HTML Direct Access Link: When
publish_file_from_workspacepublishes an HTML file, the plugin also provides a directly accessible HTML link for instant in-chat preview/opening. (v0.8.0) - 🔒 Strict File URL Format: Published file links must be relative paths starting with
/api/v1/files/(e.g.,/api/v1/files/{id}/content/html). Do not useapi/...and do not prepend any domain. (v0.8.0) - 🛠️ CLI Built-in Tools Always Available:
available_toolsis now alwaysNone, ensuring Copilot CLI built-ins (e.g.bash,create_file) are never silently blocked regardless of MCP configuration. (v0.8.0) - 📌 Publish Tool Always Injected:
publish_file_from_workspaceis no longer lost whenENABLE_OPENWEBUI_TOOLSis disabled. (v0.8.0) - ⚠️ Code Interpreter Limitation: The
code_interpretertool runs in a remote, ephemeral environment. A system prompt warning now clarifies that it cannot access local files or persist changes. (v0.8.0)
🐞 Bug Fixes in v0.8.0
- Fixed
{"detail":"[ERROR: Error getting file content]"}when publishing files under object storage backends by replacing fallback manual copy/DB writes withStorage.upload_file(). - Fixed HTML artifact upload being rejected by
ALLOWED_FILE_EXTENSIONSby always appending?process=falseon file upload API calls. - Fixed invalid artifact links generated as
api/...or domain-prefixed absolute URLs; links are now constrained to/api/v1/files/...relative paths. - Fixed Copilot CLI built-ins being silently unavailable when no server tools were configured/loaded (which resulted in
available_tools=[]); nowavailable_toolsremainsNone. - Fixed
publish_file_from_workspacedisappearing whenENABLE_OPENWEBUI_TOOLSwas disabled.
✨ Key Capabilities
- 🔑 Flexible Auth & BYOK: Official Copilot subscriptions (PAT) or Bring Your Own Key (OpenAI/Anthropic).
- 🔌 Universal Tool Protocol: Native support for MCP (Model Context Protocol), OpenAPI, and OpenWebUI built-in tools.
- 🛡️ Sandbox Workspace Isolation: Strict per-session sandboxing for data privacy and security.
- ♾️ Infinite Session Management: Smart context window management with automatic compaction for indefinite conversation capability.
- 🧠 Deep Database Integration: Real-time persistence of TOD·O lists for long-running workflows.
- 🌊 Advanced Streaming: Full support for thinking process/Chain of Thought visualization.
- 🖼️ Intelligent Multimodal: Vision capabilities and raw file analysis support (bypasses RAG for direct binary access).
- 📤 Workspace Artifacts (
publish_file_from_workspace): Agents can generate files (Excel, CSV, HTML reports, etc.) and provide persistent download links directly in the chat. For HTML files, a direct-access HTML link is also provided. - 🖼️ Interactive Artifacts: Automatically renders HTML/JS apps generated by the agent directly in the chat interface.
🧩 Companion Files Filter (Required for raw files)
GitHub Copilot SDK Files Filter is the companion plugin that prevents OpenWebUI's default RAG pre-processing from consuming uploaded files before the Pipe receives them.
- What it does: Moves uploaded files to
copilot_filesso the Pipe can access raw binaries directly. - Why it matters: Without it, uploaded files may be parsed/vectorized early and the Agent may lose direct raw-file access.
- v0.1.3 highlights:
- BYOK model-id matching fix (supports
github_copilot_official_sdk_pipe.xxxprefixes). - Optional dual-channel debug log (
show_debug_log) to backend logger + browser console.
- BYOK model-id matching fix (supports
⚙️ Core Configuration (Valves)
1. Administrator Settings (Base)
Administrators define the default behavior for all users in the function settings.
| Valve | Default | Description |
|---|---|---|
GH_TOKEN |
"" |
Global GitHub Token (Requires 'Copilot Requests' permission). |
ENABLE_OPENWEBUI_TOOLS |
True |
Enable OpenWebUI Tools (includes defined Tools and Built-in Tools). |
ENABLE_OPENAPI_SERVER |
True |
Enable OpenAPI Tool Server connection. |
ENABLE_MCP_SERVER |
True |
Enable Direct MCP Client connection (Recommended). |
REASONING_EFFORT |
medium |
Reasoning effort level: low, medium, high. |
SHOW_THINKING |
True |
Show model reasoning/thinking process. |
INFINITE_SESSION |
True |
Enable Infinite Sessions (automatic context compaction). |
MAX_MULTIPLIER |
1.0 |
Max allowed billing multiplier (0x for free models only). |
EXCLUDE_KEYWORDS |
"" |
Exclude models containing these keywords (comma separated). |
TIMEOUT |
300 |
Timeout for each stream chunk (seconds). |
BYOK_TYPE |
openai |
BYOK Provider Type: openai, anthropic. |
BYOK_BASE_URL |
"" |
BYOK Base URL (e.g., https://api.openai.com/v1). |
BYOK_MODELS |
"" |
BYOK Model List (comma separated). Leave empty to fetch from API. |
CUSTOM_ENV_VARS |
"" |
Custom environment variables (JSON format). |
DEBUG |
False |
Enable this to see detailed logs in your browser console. |
2. User Settings (Individual Overrides)
Standard users can override these settings in their individual Profile/Function settings.
| Valve | Description |
|---|---|
GH_TOKEN |
Use your personal GitHub Token. |
REASONING_EFFORT |
Individual reasoning effort preference. |
SHOW_THINKING |
Show model reasoning/thinking process. |
MAX_MULTIPLIER |
Maximum allowed billing multiplier override. |
EXCLUDE_KEYWORDS |
Exclude models containing these keywords. |
BYOK_API_KEY |
Use your personal OpenAI/Anthropic API Key. |
🎯 Use Cases (What can you do?)
- 📁 Fully Autonomous DevOps: Agent analyzes code, runs tests, and applies patches within its isolated sandbox.
- 📊 Deep Data Auditing: Directly process raw Excel/CSV data via Python (bypassing RAG) and generate visual reports.
- 📝 Long-Task Management: Automatically decomposes complex requests and persists TOD·O progress across sessions.
⭐ Support
If this plugin has been useful, a Star on OpenWebUI Extensions would be a great motivation for me. Thank you!
🚀 Installation & Configuration
1) Import Function
- Open OpenWebUI, go to Workspace -> Functions.
- Click + (Create Function), paste the content of
github_copilot_sdk.py. - Save and ensure it is enabled.
2) Get Token
- Visit GitHub Token Settings.
- Create Fine-grained token, granting Account permissions -> Copilot Requests access.
- Paste the generated Token into the
GH_TOKENfield in Valves.
3) Authentication Requirement (Mandatory)
You MUST configure at least one credential source:
GH_TOKEN(GitHub Copilot subscription route), orBYOK_API_KEY(OpenAI/Anthropic route).
If neither is configured, the model list will not appear.
📋 Troubleshooting & Dependencies
- Agent ignores files?: Ensure the Files Filter is enabled, otherwise RAG will interfere with raw binaries.
- No progress bar?: The bar only appears when the Agent uses the
update_todotool. - Dependencies: This Pipe automatically manages
github-copilot-sdk(Python) and utilizes the bundled binary CLI. No manual install required.
Changelog
See the full history on GitHub: OpenWebUI Extensions