GitHub Copilot SDK Pipe for OpenWebUI¶
Author: Fu-Jie | Version: 0.1.0 | Project: Awesome OpenWebUI | License: MIT
This is an advanced Pipe function for OpenWebUI that allows you to use GitHub Copilot models (such as gpt-5, gpt-5-mini, claude-sonnet-4.5) directly within OpenWebUI. It is built upon the official GitHub Copilot SDK for Python, providing a native integration experience.
đ What's New (v0.1.0)¶
- âžī¸ Infinite Sessions: Automatic context compaction for long-running conversations. No more context limit errors!
- đ§ Thinking Process: Real-time display of model reasoning/thinking process (for supported models).
- đ Workspace Control: Restricted workspace directory for secure file operations.
- đ Model Filtering: Exclude specific models using keywords (e.g.,
codex,haiku). - đž Session Persistence: Improved session resume logic using OpenWebUI chat ID mapping.
⨠Core Features¶
- đ Official SDK Integration: Built on the official SDK for stability and reliability.
- đŦ Multi-turn Conversation: Automatically concatenates history context so Copilot understands your previous messages.
- đ Streaming Output: Supports typewriter effect for fast responses.
- đŧī¸ Multimodal Support: Supports image uploads, automatically converting them to attachments for Copilot (requires model support).
- đ ī¸ Zero-config Installation: Automatically detects and downloads the GitHub Copilot CLI, ready to use out of the box.
- đ Secure Authentication: Supports Fine-grained Personal Access Tokens for minimized permissions.
- đ Debug Mode: Built-in detailed log output for easy connection troubleshooting.
đĻ Installation & Usage¶
1. Import Function¶
- Open OpenWebUI.
- Go to Workspace -> Functions.
- Click + (Create Function).
- Paste the content of
github_copilot_sdk.py(orgithub_copilot_sdk_cn.pyfor Chinese) completely. - Save.
2. Configure Valves (Settings)¶
Find "GitHub Copilot" in the function list and click the âī¸ (Valves) icon to configure:
| Parameter | Description | Default |
|---|---|---|
| GH_TOKEN | (Required) Your GitHub Token. | - |
| MODEL_ID | The model name to use. Recommended gpt-5-mini or gpt-5. | gpt-5-mini |
| CLI_PATH | Path to the Copilot CLI. Will download automatically if not found. | /usr/local/bin/copilot |
| DEBUG | Whether to enable debug logs (output to chat). | True |
| SHOW_THINKING | Show model reasoning/thinking process. | True |
| EXCLUDE_KEYWORDS | Exclude models containing these keywords (comma separated). | - |
| WORKSPACE_DIR | Restricted workspace directory for file operations. | - |
| INFINITE_SESSION | Enable Infinite Sessions (automatic context compaction). | True |
| COMPACTION_THRESHOLD | Background compaction threshold (0.0-1.0). | 0.8 |
| BUFFER_THRESHOLD | Buffer exhaustion threshold (0.0-1.0). | 0.95 |
3. Get GH_TOKEN¶
For security, it is recommended to use a Fine-grained Personal Access Token:
- Visit GitHub Token Settings.
- Click Generate new token.
- Repository access: Select
All repositoriesorPublic Repositories. - Permissions:
- Click Account permissions.
- Find Copilot Requests, select Read and write (or Access).
- Generate and copy the Token.
đ Dependencies¶
This Pipe will automatically attempt to install the following dependencies:
github-copilot-sdk(Python package)github-copilot-cli(Binary file, installed via official script)
â ī¸ FAQ¶
- Stuck on "Waiting...":
- Check if
GH_TOKENis correct and hasCopilot Requestspermission. - Try changing
MODEL_IDtogpt-4oorcopilot-chat. - Images not recognized:
- Ensure
MODEL_IDis a model that supports multimodal input. - CLI Installation Failed:
- Ensure the OpenWebUI container has internet access.
- You can manually download the CLI and specify
CLI_PATHin Valves.
đ License¶
MIT