github / github/copilot-sdk

[Question / Potential bug] Inconsistent models listing with Microsoft Agent Framework (.NET) + Copilot SDK

未关闭
#1,075 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
question
主要语言
Java
星标
10.5k
派生
1.5k
平均合并
1 天 14 小时
30 天内合并 PR
129

描述

Hi,

I've added an integration with Microsoft Agent Framework (.NET) inside a WinForms application and I've experienced inconsistent listing of CopilotClient models using the ```ListModelsAsync``` function.

### Context
I'm using a GH user that was invited to a GH organization which got assigned a Copilot seat. I have a suspicion that the models (1 model only: gpt-4.1) returned are from my regular GH user which has no Copilot seat/license assigned to it.

### OS
Windows

### NuGet Packages

- Microsoft.Agents.AI (1.0.0)
- Microsoft.Agents.AI.GitHub.Copilot (1.0.0-preview.260402.1)
- GitHub.Copilot.SDK (0.2.1)

### How I achieve getting wrong list of models

1. Start and complete the Auth Device Flow with GH using the GH Copilot public client ID to obtain a GH token
2. Store the valid GH token
3. Create a ```CopilotClient``` with ```CopilotClientOptions``` (GithubToken, ```UseLoggedInUser = false```) and start it.
4. Obtain the list of models by calling ```await client.ListModelsAsync()```
5. Only ```gpt-4.1``` is returned, expected the same models available through VS Code.

### Questions
- Am I using the correct auth flow to get the proper GH token which has access to the Copilot seat assigned from my organization?
- Is there ways to call an HTTP endpoint in order to get the list of models instead of instanciating a CopilotClient. I have seen that VS Code codebase calls ```https://api.github.com/copilot_internal/*``` endpoints which I've read would be against ToS to call.

### Maybe a bug maybe not...
A colleague found an interesting route that could maybe explain the 1 model returned. When the CLI gets launched with ```--no-auto-update``` it picks up an old version in his ```C:/users/[username]/.copilot\pkg\win32-x64\0.0.403```. When the parameter ```--no-auto-update``` isn't there it picks up this version ```C:\Users\[username]\.copilot\pkg\universal\1.0.14```. He tested it manually by launching the CLI from the bundled ```copilot.exe``` inside our WinForm app with PowerShell and he was able to reproduce the same error which resulted in only getting 1 model (gpt-4.1) returned.

贡献指南

打开贡献指南

调研方向

从 issue 中描述的 CopilotClientOptions 设置、Auth Device Flow 和 ListModelsAsync 调用开始。使用列出的 NuGet 包复现结果,并比较 CLI 构建版本 0.0.403 和 1.0.14。完成的标准是确定 token 或 CLI 版本是否解释了模型列表的差异,并记录预期行为。

由索引模型根据 Issue 内容生成。

评估

技术栈
csharp
领域
api, authentication, developer-experience
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。