feat(copilot): Release v0.5.1 - Smarter BYOK, Tool Caching & Refined Docs

This commit is contained in:
fujie
2026-02-08 08:21:32 +08:00
parent de9948a5b0
commit 409d2f663f
9 changed files with 2625 additions and 1167 deletions

View File

@@ -1,28 +1,33 @@
# GitHub Copilot SDK 官方管道
**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 0.3.0 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT
**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 0.5.1 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT
这是一个用于 [OpenWebUI](https://github.com/open-webui/open-webui) 的高级 Pipe 函数,允许你直接在 OpenWebUI 中使用 GitHub Copilot 模型(如 `gpt-5`, `gpt-5-mini`, `claude-sonnet-4.5`)。它基于官方 [GitHub Copilot SDK for Python](https://github.com/github/copilot-sdk) 构建,提供了原生级的集成体验。
这是一个用于 [OpenWebUI](https://github.com/open-webui/open-webui) 的高级 Pipe 函数,深度集成了 **GitHub Copilot SDK**。它不仅支持 **GitHub Copilot 官方模型**(如 `gpt-5.2-codex`, `claude-sonnet-4.5`, `gemini-3-pro`, `gpt-5-mini`),还支持 **BYOK (自带 Key)** 模式对接自定义服务商OpenAI, Anthropic提供统一的 Agent 交互体验。
> [!IMPORTANT]
> **需 GitHub Copilot 订阅**
> 本插件需要有效的 GitHub Copilot 订阅(个人版、商业版或企业版)。插件将在认证阶段验证您的订阅状态。
> [!TIP]
> **使用 BYOK 模式无需订阅**
> 如果您使用自己的 API Key (OpenAI, Anthropic) 运行 BYOK 模式,**则完全不需要** GitHub Copilot 订阅。
> 仅当您希望使用 GitHub 官方提供的模型时,才需要订阅。
## 🚀 最新特性 (v0.3.0) - “统一生态”的力量
## 🚀 最新特性 (v0.5.1) - 重大升级
* **🔌 零配置工具桥接 (Unified Tool Bridge)**: 自动将您现有的 OpenWebUI Functions (工具) 转换为 Copilot 兼容工具。**Copilot 现在可以无缝调用您手头所有的 WebUI 工具!**
* **🔗 动态 MCP 自动发现**: 直接联动 OpenWebUI **管理面板 -> 连接**。无需编写任何配置文件,即插即用,瞬间扩展 Copilot 能力边界
* **⚡ 高性能异步引擎**: 异步 CLI 更新检查与高度优化的事件驱动流式处理,确保对话毫秒级响应
* **🛡️ 卓越的兼容性**: 独创的动态 Pydantic 模型生成技术,确保复杂工具参数在 Copilot 端也能得到精准验证
- **🧠 智能 BYOK 检测**: 优化了 BYOK 与官方 Copilot 模型的识别逻辑,完美支持自定义模型(角色/提示词)及倍率检测(如 `(0x)`, `(1x)`)。
- **⚡ 性能飙升**: 引入 **工具缓存 (Tool Caching)** 机制,在请求间持久化工具定义,显著降低调用开销
- **🧩 丰富工具集成**: 工具描述现包含来源分组(内置/用户/服务器)及 Docstring 元数据自动解析
- **🛡️ 精确控制**: 完美兼容 OpenWebUI 全局函数过滤配置 (`function_name_filter_list`),可精准控制暴露给 LLM 的函数
- **🔑 用户级 BYOK**: 支持在用户层面配置自定义 API Key 对接 AI 供应商OpenAI, Anthropic
- **📝 格式优化**: 系统提示词强制使用标准 Markdown 表格,彻底解决 HTML 表格渲染问题。
## ✨ 核心能力
* **🌉 强大的生态桥接**: 首个且唯一完美打通 **OpenWebUI Tools****GitHub Copilot SDK** 的插件
* **🚀 官方原生产体验**: 基于官方 Python SDK 构建,提供最稳定、最纯正的 Copilot 交互体验
* **🌊 深度推理展示**: 完整支持模型思考过程 (Thinking Process) 的流式渲染
* **🖼️ 智能多模态**: 支持图像识别与附件上传,让 Copilot 拥有视觉能力
* **🛠 极简部署流程**: 自动检测环境、自动下载 CLI、自动管理依赖全自动化开箱即用
* **🔑 安全认证体系**: 完美支持 OAuth 授权与 PAT 模式,兼顾便捷与安全性
- **🔑 灵活鉴权与 BYOK**: 支持 GitHub Copilot 订阅 (PAT) 或自带 Key (OpenAI/Anthropic),完全掌控模型访问与计费
- **🌉 强大的生态桥接**: 首个且唯一完美打通 **OpenWebUI Tools****GitHub Copilot SDK** 的插件
- **🚀 官方原生产体验**: 基于官方 Python SDK 构建,提供最稳定、最纯正的 Copilot 交互体验
- **🌊 深度推理展示**: 完整支持模型思考过程 (Thinking Process) 的流式渲染
- **🖼 智能多模态**: 支持图像识别与附件上传,让 Copilot 拥有视觉能力
- **🛠️ 极简部署流程**: 自动检测环境、自动下载 CLI、自动管理依赖全自动化开箱即用
- **🛡️ 纯净安全体系**: 支持标准 PAT 认证,确保数据安全。
## 安装与配置
@@ -53,9 +58,14 @@
| **TIMEOUT** | 每个流式分块超时(秒)。 | `300` |
| **CUSTOM_ENV_VARS** | 自定义环境变量 (JSON 格式)。 | - |
| **REASONING_EFFORT** | 推理强度级别: low, medium, high. `xhigh` 仅部分模型支持。 | `medium` |
| **ENFORCE_FORMATTING** | 在系统提示词中添加格式化指导。 | `True` |
| **ENABLE_MCP_SERVER** | 启用直接 MCP 客户端连接 (建议)。 | `True` |
| **ENABLE_OPENWEBUI_TOOLS** | 启用 OpenWebUI 工具 (包括自定义和服务器工具)。 | `True` |
| **BYOK_ENABLED** | 启用 BYOK (自带 Key) 模式以使用自定义供应商。 | `False` |
| **BYOK_TYPE** | BYOK 供应商类型: `openai`, `azure`, `anthropic`。 | `openai` |
| **BYOK_BASE_URL** | BYOK 基础 URL (如 `https://api.openai.com/v1`)。 | - |
| **BYOK_API_KEY** | BYOK API Key (全局设置)。 | - |
| **BYOK_BEARER_TOKEN** | BYOK Bearer Token (全局,覆盖 API Key)。 | - |
| **BYOK_WIRE_API** | BYOK 通信协议: `completions`, `responses`。 | `completions` |
#### 用户 Valves按用户覆盖
@@ -69,7 +79,6 @@
| **SHOW_THINKING** | 是否显示思考过程。 | `True` |
| **ENABLE_OPENWEBUI_TOOLS** | 启用 OpenWebUI 工具(覆盖全局设置)。 | `True` |
| **ENABLE_MCP_SERVER** | 启用动态 MCP 服务器加载(覆盖全局设置)。 | `True` |
| **ENFORCE_FORMATTING** | 强制启用格式化指导(覆盖全局设置)。 | `True` |
## ⭐ 支持
@@ -85,23 +94,23 @@
2. 点击 **Generate new token (fine-grained)**
3. **Repository access**: 选择 **Public Repositories** (最简单) 或 **All repositories**
4. **Permissions**:
* 如果您选择了 **All repositories**,则必须点击 **Account permissions**
* 找到 **Copilot Requests**,选择 **Access**
- 如果您选择了 **All repositories**,则必须点击 **Account permissions**
- 找到 **Copilot Requests**,选择 **Access**
5. 生成并复制令牌。
## 📋 依赖说明
该 Pipe 会自动尝试安装以下依赖(如果环境中缺失):
* `github-copilot-sdk` (Python 包)
* `github-copilot-cli` (二进制文件,通过官方脚本安装)
- `github-copilot-sdk` (Python 包)
- `github-copilot-cli` (二进制文件,通过官方脚本安装)
## 故障排除 (Troubleshooting) ❓
* **图片及多模态使用说明**
* 确保 `MODEL_ID` 是支持多模态的模型。
* **看不到思考过程**
* 确认已开启**流式输出**,且所选模型支持推理输出。
- **图片及多模态使用说明**
- 确保 `MODEL_ID` 是支持多模态的模型。
- **看不到思考过程**
- 确认已开启**流式输出**,且所选模型支持推理输出。
## 更新日志