Files
Fu-Jie_openwebui-extensions/docs/plugins/pipes/github-copilot-sdk.zh.md
fujie e992b8a3bd fix(github-copilot-sdk): improve HTML embed type default to richui
- Changed default HTML embed type from 'artifacts' to 'richui' for direct OpenWebUI chat display
- Updated system prompt guidance to recommend RichUI mode by default, with artifacts only on explicit user request
- Maintains backward compatibility with existing configurations
2026-03-16 06:44:07 +08:00

12 KiB
Raw Blame History

GitHub Copilot Official SDK Pipe

作者:Fu-Jie · v0.10.1 点个 Star 支持项目
followers points top contributions downloads saves views

这是一个将 GitHub Copilot SDK 深度集成到 OpenWebUI 中的强大 Agent SDK 管道。它不仅实现了 SDK 的核心功能,还支持 智能意图识别自主网页搜索自动上下文压缩,并能够无缝读取 OpenWebUI 已有的配置进行智能注入,让 Agent 能够具备以下能力:

  • 🧠 智能意图识别Agent 能自主分析用户任务的深层意图,决定最有效的处理路径。
  • 🌐 自主网页搜索:具备独立的网页搜索触发判断力,无需用户手动干预。
  • ♾️ 自动压缩上下文:支持 Infinite Session自动对长对话进行上下文压缩与摘要确保长期任务跟进。
  • 🛠️ 全功能 Skill 体系:完美支持本地自定义 Skill 目录,通过脚本与资源的结合实现真正的功能增强。
  • 🧩 深度生态复用:直接复用您在 OpenWebUI 中配置的各种 工具 (Tools)MCPOpenAPI Server技能 (Skills)

为您带来更强、更完整的交互体验。

Important

核心伴侣组件 如需启用文件处理与数据分析能力,请务必安装 GitHub Copilot SDK Files Filter。 [!TIP] BYOK 模式无需订阅 如果您使用自带的 API Key (BYOK 模式对接 OpenAI/Anthropic)您不需要 GitHub Copilot 官方订阅。只有在访问 GitHub 官方模型时才需要订阅。



v0.10.1RichUI 默认展示与 HTML 渲染改进

  • 🎨 RichUI 默认 HTML 显示:将默认 HTML 嵌入类型从 'artifacts' 改为 'richui',在 OpenWebUI 聊天界面中实现直观无缝的渲染效果
  • 📝 增强系统提示词:更新系统提示词指导,默认推荐 RichUI 模式展示 HTML 内容,仅当用户显式请求时使用 artifacts 模式
  • 更顺畅的工作流:消除不必要的弹窗交互,让 Agent 能直接在对话中展示交互式组件

v0.10.0 最新更新原生提示词恢复、Live TODO 小组件与 SDK v0.1.30 完善

  • ⌨️ 原生提示词恢复:恢复了原生 Copilot CLI 原生计划模式 (Native Plan Mode) 复杂任务编排能力,并集成了基于 SQLite 的原生会话与持久化管理,提升 Agent 的状态把控能力。
  • 📋 Live TODO 小组件:新增基于 session.db 实时任务状态的紧凑型嵌入式 TODO 小组件,任务进度常驻可见,无需在正文中重复显示全部待办列表。
  • 🧩 OpenWebUI 工具调用修复:修复自定义工具调用时上下文注入不完整的问题,完全对齐 OpenWebUI 0.8.x 所需的系统级上下文(__request__body__metadata__ 等)。
  • 🔒 SDK v0.1.30 与自适应工作流:升级到 github-copilot-sdk==0.1.30,将规划与执行逻辑移至系统提示词,让 Agent 根据任务复杂度自主决策工作流。
  • 🐛 意图与体验优化:修复 report_intent 国际化问题,优化 TODO 小组件的视觉布局,减少冗余空白。
  • 🧾 嵌入结果与文档更新:改进 HTML/嵌入式工具结果处理,同步中英 README 与 docs 镜像页,确保发布状态一致。

核心能力 (Key Capabilities)

  • 🔑 统一智能体验 (官方 + BYOK): 自由切换官方模型与自定义服务商OpenAI, Anthropic, DeepSeek, xAI支持 BYOK (自带 Key) 模式。
  • 🛡️ 物理级工作区隔离: 每个会话在独立的沙箱目录中运行。确保绝对的数据隐私,防止不同聊天间的文件污染,同时给予 Agent 完整的文件系统操作权限。
  • 🔌 通用工具协议:
    • 原生 MCP: 高性能直连 Model Context Protocol 服务器。
    • OpenAPI 桥接: 将任何外部 REST API 一键转换为 Agent 可调用的工具。
    • OpenWebUI 原生桥接: 零配置接入现有的 OpenWebUI 工具及内置功能(网页搜索、记忆等)。
  • 🧩 OpenWebUI Skills 桥接: 将简单的 OpenWebUI Markdown 指令转化为包含脚本、模板 and 数据的强大 SDK 技能文件夹。
  • 🧭 自适应规划与执行: Agent 会根据任务复杂度、歧义程度和用户意图,自主决定先输出结构化方案,还是直接分析、实现并验证。
  • ♾️ 无限会话管理: 先进的上下文窗口管理,支持自动“压缩”(摘要提取 + TODO 列表持久化)。支持长达数周的项目跟踪而不会丢失核心上下文。
  • 📊 交互式产物与发布:
    • 实时 HTML/JS: 瞬间渲染并交互 Agent 生成的应用程序、可视化看板或报告。
    • 持久化发布: Agent 可将生成的产物Excel, CSV, 文档)发布至 OpenWebUI 文件存储,并在聊天中提供永久下载链接。
  • 🌊 极致交互体验: 完整支持深度思考过程 (Thinking Process) 流式渲染、状态指示器以及长任务实时进度条。
  • 🧠 深度数据库集成: TODO 列表与会话元数据的实时持久化,确保任务执行状态在 UI 上清晰可见。

Tip

💡 增强渲染建议 为了获得最精美的 HTML ArtifactsRichUI 效果,建议在对话中通过提供的 GitHub 链接直接命令 Agent 安装: “请安装此技能:https://github.com/nicobailon/visual-explainer”。 该技能专为生成高质量可视化组件而设计,能够与本 Pipe 完美协作。


🧩 配套 Files Filter原始文件必备

GitHub Copilot SDK Files Filter 是本 Pipe 的配套插件,用于阻止 OpenWebUI 默认 RAG 在 Pipe 接手前抢先处理上传文件。

  • 作用: 将上传文件移动到 copilot_files,让 Pipe 能直接读取原始二进制。
  • 必要性: 若未安装,文件可能被提前解析/向量化Agent 拿到原始文件。
  • v0.1.3 重点:
    • 修复 BYOK 模型 ID 识别(支持 github_copilot_official_sdk_pipe.xxx 前缀匹配)。
    • 新增双通道调试日志(show_debug_log):后端 logger + 浏览器控制台。

⚙️ 核心配置 (Valves)

1. 管理员设置(全局默认)

管理员可在函数设置中为所有用户定义默认行为。

Valve 默认值 描述
GH_TOKEN "" 全局 GitHub Fine-grained Token需要 Copilot Requests 权限。
COPILOTSDK_CONFIG_DIR /app/backend/data/.copilot SDK 配置与会话状态的持久化目录。
ENABLE_OPENWEBUI_TOOLS True 启用 OpenWebUI Tools 与 Built-in Tools。
ENABLE_OPENAPI_SERVER True 启用 OpenAPI Tool Server 连接。
ENABLE_MCP_SERVER True 启用 MCP Server 连接。
ENABLE_OPENWEBUI_SKILLS True 启用 OpenWebUI Skills 到 SDK 技能目录的同步。
OPENWEBUI_SKILLS_SHARED_DIR /app/backend/data/cache/copilot-openwebui-skills Skills 共享缓存目录。
DISABLED_SKILLS "" 逗号分隔的禁用技能名列表。
REASONING_EFFORT medium 推理强度:lowmediumhighxhigh
SHOW_THINKING True 是否显示思考过程。
INFINITE_SESSION True 是否启用无限会话与上下文压缩。
MAX_MULTIPLIER 1.0 允许的最大账单倍率。0 表示仅允许免费模型。
EXCLUDE_KEYWORDS "" 排除包含这些关键词的模型。
TIMEOUT 300 每个流式分片的超时时间(秒)。
BYOK_TYPE openai BYOK 提供商类型:openaianthropic
BYOK_BASE_URL "" BYOK Base URL。
BYOK_MODELS "" BYOK 模型列表,留空则尝试从 API 获取。
CUSTOM_ENV_VARS "" 自定义环境变量JSON 格式)。
DEBUG False 启用浏览器控制台/技术调试日志。

2. 用户设置(个人覆盖)

普通用户可在个人资料或函数设置中覆盖以下选项。

Valve 描述
GH_TOKEN 使用个人 GitHub Token。
REASONING_EFFORT 个人推理强度偏好。
SHOW_THINKING 是否显示思考过程。
MAX_MULTIPLIER 个人最大账单倍率限制。
EXCLUDE_KEYWORDS 个人模型排除关键词。
ENABLE_OPENWEBUI_TOOLS 是否启用 OpenWebUI Tools 与 Built-in Tools。
ENABLE_OPENAPI_SERVER 是否启用 OpenAPI Tool Server。
ENABLE_MCP_SERVER 是否启用 MCP Server。
ENABLE_OPENWEBUI_SKILLS 是否加载你可读的 OpenWebUI Skills 到 SDK 技能目录。
DISABLED_SKILLS 逗号分隔的个人禁用技能列表。
BYOK_API_KEY 个人 BYOK API Key。
BYOK_TYPE 个人 BYOK 提供商类型覆盖。
BYOK_BASE_URL 个人 BYOK Base URL 覆盖。
BYOK_BEARER_TOKEN 个人 BYOK Bearer Token 覆盖。
BYOK_MODELS 个人 BYOK 模型列表覆盖。
BYOK_WIRE_API 个人 BYOK Wire API 覆盖。

🚀 安装与配置

1. 导入函数

  1. 打开 OpenWebUI进入 Workspace -> Functions
  2. 点击 +Create Function粘贴 github_copilot_sdk.py 内容。
  3. 保存并确保已启用。

2. 获取 Token

  1. 访问 GitHub Token Settings
  2. 创建 Fine-grained token,授予 Account permissions -> Copilot Requests 权限。
  3. 将生成的 Token 填入 GH_TOKEN

3. 认证要求(必填其一)

必须至少配置一种凭据来源:

  • GH_TOKENGitHub Copilot 官方订阅路线),或
  • BYOK_API_KEYOpenAI / Anthropic 自带 Key 路线)。

如果两者都未配置,模型列表将不会显示。


🤝 支持 (Support)

如果这个插件对你有帮助,欢迎到 OpenWebUI Extensions 点个 Star这将是我持续改进的动力感谢支持。


⚠️ 故障排除 (Troubleshooting)

  • 工具无法使用? 请先确认 OpenWebUI Tools / MCP / OpenAPI Server 已在对应设置中启用。
  • 文件找不到? 确保已启用配套的 Files Filter 插件,否则 RAG 可能会提前消费原始文件。
  • BYOK 报错? 确认 BYOK_BASE_URL 包含正确协议前缀(如 https://),且模型 ID 准确无误。
  • 卡在 "Thinking..."? 检查后端网络连接,或打开 DEBUG 查看更详细的 SDK 日志。

Changelog

完整历史请查看 GitHub 项目主页:OpenWebUI Extensions