Responses API: AssistantReasoningDeltaEvent and AssistantReasoningEvent triggered with empty content via BYOK providers
- 主要语言
- Java
- 星标
- 10.5k
- 派生
- 1.5k
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 129
描述
When using GitHub Copilot SDK in a BYOK (Bring Your Own Key) setup—whether the provider is OpenAI or vLLM—the Responses API triggers both AssistantReasoningDeltaEvent and AssistantReasoningEvent, but the content (reasoning or explanation) for these events is always empty.
**Steps to reproduce:**
1. Set up Copilot SDK to use BYOK with OpenAI or vLLM as the provider (Windows or WSL). Example .NET code configuration:
```csharp
await using var session = await client.CreateSessionAsync(new SessionConfig
{
Provider = new ProviderConfig
{
Type = "openai",
BaseUrl = "https://api.openai.com/v1",
ApiKey = "your_api_key",
WireApi = "responses",
},
ReasoningEffort = "high",
Model = "gpt-5.4-2026-03-05",
OnPermissionRequest = PermissionHandler.ApproveAll,
Streaming = true
});
```
2. Trigger chat completions or requests that should provide reasoning content through the Responses API.
3. Observe that AssistantReasoningDeltaEvent and AssistantReasoningEvent are triggered, but the content is always empty.
**Expected behavior:**
These events should include the reasoning/explanation content returned by the provider's API. Content should not be empty if the provider returns a reasoning field.
**Context:**
- Environment: Windows, WSL
- Copilot SDK version: 0.3.0
- BYOK provider: OpenAI or vLLM
贡献指南
调研方向
首先跟踪 Responses API 对 AssistantReasoningDeltaEvent 和 AssistantReasoningEvent 的处理,然后使用所示的 BYOK 配置搭配 OpenAI 或 vLLM 重现该问题。将 provider 的 reasoning 字段与 event payload 进行比较;当 provider 返回非空 reasoning 时,该 reasoning 被传递到两个 event 中,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- csharp, java
- 领域
- api
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100