github / github/copilot-cli

BYOK statusline shows medium effort in 1.0.41 despite --effort high

未关闭
#3,135 3 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
area:configuration area:models
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

## Description

After upgrading to Copilot CLI 1.0.41, when using `--effort high` with a BYOK/custom provider, the actual request is still sent with `reasoning_effort: "high"`, but the statusline receives `model.display_name` as `gpt-5.5 (medium)`.

The same setup works correctly in Copilot CLI 1.0.40, where the statusline displays `gpt-5.5 (high)`.

This looks like a regression in the statusline/UI display state: the actual request effort and the effort shown through the UI/statusline are out of sync.

## Environment

- Copilot CLI: 1.0.41
- OS: macOS
- Provider: BYOK / custom OpenAI-compatible provider
- Wire API: `responses`
- Model: `gpt-5.5`

Relevant environment variables:

```bash
COPILOT_PROVIDER_BASE_URL=http:///v1
COPILOT_PROVIDER_API_KEY=
COPILOT_PROVIDER_WIRE_API=responses
COPILOT_PROVIDER_TYPE=openai
COPILOT_MODEL=gpt-5.5
COPILOT_PROVIDER_MODEL_ID=gpt-5.5
COPILOT_PROVIDER_WIRE_MODEL=gpt-5.5
```

Launch command:

```bash
copilot --effort high
```

## Expected behavior

The statusline payload should reflect the reasoning effort that is actually being used.

For example, with `--effort high`, the statusline payload should contain:

```json
{
"model": {
"id": "gpt-5.5",
"display_name": "gpt-5.5 (high)"
}
}
```

## Actual behavior

In 1.0.41, the statusline displays:

```text
gpt-5.5 (medium)
```

That means the statusline payload display name is effectively:

```json
{
"model": {
"id": "gpt-5.5",
"display_name": "gpt-5.5 (medium)"
}
}
```

However, the debug log shows that the actual request is using `high`:

```text
Using custom provider: type=openai, baseUrl=http:///v1, wireApi=responses
"model": "gpt-5.5"
"defaultReasoningEffort": "high"
"reasoning_effort": "high"
```

So the issue appears to be limited to the UI/statusline display state, not the actual request.

## Comparison test

Using the same environment, same BYOK provider, same model, and same `--effort high` flag, only changing the Copilot CLI version:

| Version | Actual request `reasoning_effort` | Statusline `model.display_name` |
|---|---|---|
| 1.0.40 | `high` | `gpt-5.5 (high)` |
| 1.0.41 | `high` | `gpt-5.5 (medium)` |

Captured statusline payload from 1.0.40:

```json
{
"model": {
"id": "gpt-5.5",
"display_name": "gpt-5.5 (high)"
}
}
```

Captured request settings from the 1.0.41 debug log:

```text
"defaultReasoningEffort": "high"
"reasoning_effort": "high"
```

But the 1.0.41 statusline shows:

```text
gpt-5.5 (medium)
```

贡献指南

打开贡献指南

调研方向

先从 issue 中描述的 statusline payload 和 debug log 开始,然后比较在使用 responses wire API 的 BYOK 中,1.0.40 和 1.0.41 如何将 --effort high 传递到 model.display_name。完成条件是 statusline 报告 gpt-5.5 (high),同时请求继续使用 reasoning_effort: high。

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

评估

领域
cli
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

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