# GitHub Copilot SDK 官方管道 **作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 0.1.0 | **项目:** [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) 构建,提供了原生级的集成体验。 ## 🚀 最新特性 (v0.1.0) * **♾️ 无限会话 (Infinite Sessions)**:支持长对话的自动上下文压缩,告别上下文超限错误! * **🧠 思考过程展示**:实时显示模型的推理/思考过程(需模型支持)。 * **📂 工作目录控制**:支持设置受限工作目录,确保文件操作安全。 * **🔍 模型过滤**:支持通过关键词排除特定模型(如 `codex`, `haiku`)。 * **💾 会话持久化**: 改进的会话恢复逻辑,直接关联 OpenWebUI 聊天 ID,连接更稳定。 ## ✨ 核心特性 * **🚀 官方 SDK 集成**:基于官方 SDK,稳定可靠。 * **💬 多轮对话支持**:自动拼接历史上下文,Copilot 能理解你的前文。 * **🌊 流式输出 (Streaming)**:支持打字机效果,响应迅速。 * **🖼️ 多模态支持**:支持上传图片,自动转换为附件发送给 Copilot(需模型支持)。 * **🛠️ 零配置安装**:自动检测并下载 GitHub Copilot CLI,开箱即用。 * **🔑 安全认证**:支持 Fine-grained Personal Access Tokens,权限最小化。 * **🐛 调试模式**:内置详细的日志输出,方便排查连接问题。 ## 📦 安装与使用 ### 1. 导入函数 1. 打开 OpenWebUI。 2. 进入 **Workspace** -> **Functions**。 3. 点击 **+** (创建函数)。 4. 将 `github_copilot_sdk_cn.py` 的内容完整粘贴进去。 5. 保存。 ### 2. 配置 Valves (设置) 在函数列表中找到 "GitHub Copilot",点击 **⚙️ (Valves)** 图标进行配置: | 参数 | 说明 | 默认值 | | :--- | :--- | :--- | | **GH_TOKEN** | **(必填)** 你的 GitHub Token。 | - | | **MODEL_ID** | 使用的模型名称。推荐 `gpt-5-mini` 或 `gpt-5`。 | `gpt-5-mini` | | **CLI_PATH** | Copilot CLI 的路径。如果未找到会自动下载。 | `/usr/local/bin/copilot` | | **DEBUG** | 是否开启调试日志(输出到对话框)。 | `True` | | **SHOW_THINKING** | 是否显示模型推理/思考过程。 | `True` | | **EXCLUDE_KEYWORDS** | 排除包含这些关键词的模型 (逗号分隔)。 | - | | **WORKSPACE_DIR** | 文件操作的受限工作目录。 | - | | **INFINITE_SESSION** | 启用无限会话 (自动上下文压缩)。 | `True` | | **COMPACTION_THRESHOLD** | 后台压缩阈值 (0.0-1.0)。 | `0.8` | | **BUFFER_THRESHOLD** | 缓冲耗尽阈值 (0.0-1.0)。 | `0.95` | ### 3. 获取 GH_TOKEN 为了安全起见,推荐使用 **Fine-grained Personal Access Token**: 1. 访问 [GitHub Token Settings](https://github.com/settings/tokens?type=beta)。 2. 点击 **Generate new token**。 3. **Repository access**: 选择 `All repositories` 或 `Public Repositories`。 4. **Permissions**: * 点击 **Account permissions**。 * 找到 **Copilot Requests**,选择 **Read and write** (或 Access)。 5. 生成并复制 Token。 ## 📋 依赖说明 该 Pipe 会自动尝试安装以下依赖(如果环境中缺失): * `github-copilot-sdk` (Python 包) * `github-copilot-cli` (二进制文件,通过官方脚本安装) ## ⚠️ 常见问题 * **一直显示 "Waiting..."**: * 检查 `GH_TOKEN` 是否正确且拥有 `Copilot Requests` 权限。 * 尝试将 `MODEL_ID` 改为 `gpt-4o` 或 `copilot-chat`。 * **图片无法识别**: * 确保 `MODEL_ID` 是支持多模态的模型。 * **CLI 安装失败**: * 确保 OpenWebUI 容器有外网访问权限。 * 你可以手动下载 CLI 并挂载到容器中,然后在 Valves 中指定 `CLI_PATH`。 ## 📄 许可证 MIT