Dify 是否支持 GitHub Copilot OAuth 接入?

0 阅读7分钟

主题:Dify × GitHub Copilot 模型集成 采集来源:GitHub Issues · GitHub Discussions · dify-official-plugins 调研日期:2026-03-16

📖 目录


📋 结论摘要

截至 2026-03-16,Dify 官方不支持 GitHub Copilot 的 OAuth 登录接入。

该功能需求曾在 GitHub Issue #22384 提出,已于 2025-09-15 被 bot 以 "Not planned" 关闭,官方亦无相关 roadmap 计划。


🔍 背景与技术细节

GitHub Copilot 的 API 现状

GitHub Copilot 确实存在公开的 LLM API 端点:

POST https://api.githubcopilot.com/chat/completions

该端点的请求格式与 OpenAI Chat Completions API 兼容,理论上可以对接 Dify 的 OpenAI-compatible 自定义供应商。

核心阻塞点:认证机制不匹配

维度Dify 现有机制GitHub Copilot 需求
认证方式静态 API Key / Bearer TokenGitHub OAuth 流程(需要用户授权登录)
Token 生命周期长期有效短期有效,需要 Token Refresh
商业限制无限制账号必须订阅 Copilot(Individual/Business/Enterprise)

本质矛盾:Dify 的模型供应商系统假设凭据是静态的"密钥",而 Copilot 要求通过 GitHub OAuth 动态获取令牌,并自动刷新。Dify 当前架构不支持供应商级别的 OAuth 流程。


📊 社区讨论现状

Issue #22384 关键讨论时间线

时间事件
2025-07-15用户 constCD 提出需求:Dify 模型供应商中没有 GitHub Copilot
2025-07-15维护者 crazywoola 建议在 dify-official-plugins 提 PR
2025-07-16用户补充:GitHub 已有公开端点,Cherry Studio 已实现 OAuth 登录接入 Copilot
2025-07-16Dosubot 分析:技术上可行,但需要 Dify 新增 OAuth 凭据管理逻辑
2025-09-15因无活动,被 bot 标记 stale 并关闭为 Not Planned

dify-official-plugins 现状

检索 dify-official-plugins 仓库,无任何 GitHub Copilot 相关插件。仅有两条无关 issue 在搜索结果中匹配了"copilot"关键词。


🛠️ 当前可行的变通方案

方案 A:手动 Bearer Token(不稳定)

  1. 通过 GitHub CLI 或 OAuth 手动获取 Copilot Access Token
  2. 在 Dify 中配置 OpenAI-compatible 自定义供应商:
    • Base URL:https://api.githubcopilot.com
    • API Key:填入手动获取的 Bearer Token
  3. 缺陷:Token 会短期过期,需要手动更新;且此用法可能违反 GitHub Copilot ToS

方案 B:接入 GitHub Models(推荐,合规)

GitHub 同时提供 GitHub Models,支持通过 Personal Access Token 直接调用 GPT-4o、Claude 等模型:

  • Base URL:https://models.inference.ai.azure.com
  • 认证:GitHub PAT(静态,与 Dify 机制兼容)
  • Dify 中国内开发者常用此方式接入 GPT-4o / Claude(社区已有多篇教程)

方案 C:贡献 Copilot 插件到官方仓库

维护者明确建议在 langgenius/dify-official-plugins 提 PR,实现一个支持 GitHub OAuth 的 Copilot 模型插件。技术路径如下:

  • 实现 OAuthCredentialForm 类型的 credential schema
  • 添加 Token 获取 / 刷新逻辑
  • 映射 Dify LLM interface ↔ Copilot API 请求格式

💡 结论与建议

场景推荐方案
想快速使用 GitHub 账号的 AI 模型配额接入 GitHub Models(PAT 认证,合规稳定)
想用 Copilot 具体功能(代码补全等)Copilot 本身不是通用 LLM,不适合 Dify 工作流集成
想为社区贡献在 dify-official-plugins 实现 OAuth-based Copilot 插件
等待官方支持当前无 roadmap,短期内不太可能由官方实现

关键:GitHub Copilot 的公开 API 端点在技术层面与 OpenAI 格式兼容,真正的壁垒是 OAuth 认证流程,而不是协议不兼容。还有一点:Copilot是按次数计费的,在Dify的Agent或Workflow环境中如何控制计费次数也是一个值得深入探讨的话题。


📎 参考链接


Dify 接入 GitHub Models

本文中我们采用合规的方式接入Github Models。

GitHub Models 暴露的是 OpenAI 兼容端点:

Base URL: https://models.inference.ai.azure.com
API Key:  GitHub PAT(Personal Access Token)

Dify 里的 openai_api_compatible 插件支持这种配置,直接填进去就能用,无需额外插件。

参考下图:

GitHub PAT(Personal Access Token)获取步骤

路径入口

登录 GitHub 后,按以下路径导航:

GitHub 右上角头像 → Settings
  → 左侧菜单最底部:Developer settings
    → Personal access tokens
      → Tokens (fine-grained)   ← 推荐使用新版
        或
      → Tokens (classic)        ← 旧版,兼容性更好

如下图:


方式一:Fine-grained Token(推荐,权限更精细)

路径Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token

字段填写说明
Token name随意,如 dify-github-models
Expiration按需设置,建议 90 天或 1 年
Resource owner选你自己的账号
Repository access"Public Repositories (read-only)" 或 All repositories
PermissionsRepository 权限里找 Models → 设为 Read-only

点击 Generate token,复制 token(形如 github_pat_xxx...,只显示一次)。


方式二:Classic Token(兼容性更好,推荐用于 API 调用)

路径Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token (classic)

字段填写说明
Note随意,如 dify-models
Expiration按需,最长 1 年,也可选 No expiration
Scopes勾选 read:user 即可(GitHub Models 只需要账号验证,不需要 repo 权限)

点击 Generate token,复制 token(形如 ghp_xxxxxxxxxx,只显示一次)。


在 Dify 中填写相关信息

在 Dify 添加自定义 OpenAI-compatible 供应商时:

Base URL:  https://models.inference.ai.azure.com
API Key:   ghp_xxxxxxxxxx   (粘贴你的 PAT)

模型名需手动输入,例如:gpt-4ogpt-4o-miniMeta-Llama-3.3-70B-Instruct

实测发现 Github Models 方式接入时,模型列表与 Github Copilot 不一样,要少很多,官方的说明可以参见这里。实际可用的模型要比下面这张表里的还要少。

注意事项

  • Token 只在创建时显示一次,务必立即复制保存
  • 如果忘记复制,只能重新生成(旧 token 自动失效)
  • PAT 相当于你的账号密码,不要提交到代码仓库
  • Token 到期后需要重新生成并在 Dify 中更新 API Key

配置完成后,创建1个测试工作流进行对话,看效果:


扩展阅读 -- GitHub Models 的发展趋势

1. 限额太低,不适合生产:免费额度极其有限(如 GPT-4o:每天 50 次请求),Dify 工作流一跑就超,实用价值低

2. GitHub Models 正在并入 Copilot:访问 GitHub Models 的旧文档路径时,会被重定向到 "Configuring access to AI models in GitHub Copilot"(Copilot 产品文档)。GitHub 正把 Models 服务整合进 Copilot 订阅体系,未来的独立免费 API 路径可能进一步受限。

3. 关于企业订阅计费:我使用的Github Copilot企业订阅账号,GPT4.1模型,目前没有发现扣费情况。跟官方确认,Model billing跟Copilot应该不是一条产品线,不共享billing。以下是官方回复,作为参考: