diff --git a/CHANGELOG.md b/CHANGELOG.md index bee6ed0ba..a42e54e6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## 未发布 +- 面板凭据:选择 Claude Code 官方登录时直接打开槽终端,已有 OAuth 授权链接不再挡住 CC 登录路径。(#622) - Responses WebSocket:入站 `response.interrupt`(Codex steer)本地中止在飞 hop 并回 `response.interrupt.accepted`;取消走既有 handleProtocol 终态记账,不再报 `unsupported Responses WebSocket message type` 或网关 `incomplete_response`。上游 interrupt 转发对齐 CPR 后置。(#616) - Fable `7d_oi`:reset 已过(含秒级时间戳)不再永久判 rejected;`fableWindowResetAt` / weekly split 用 `parseResetMs`;过期清理纳入 `unified['7d_oi']`,且 `elapsedExtraResetMs` 纳入 `7d_oi` 后会在窗口过期时触发 usage probe;无 reset 时仍按 rejected 处理。(#601) - OpenAI 槽:从 OAuth `id_token` 读取 `chatgpt_subscription_active_until`(含 epoch 秒/毫秒归一化为 ISO),刷新时新 token 带 claim 则覆盖到期日、不带则保留旧值;账号页只读展示「订阅到期(以凭证为准)」,缺失显示「—」。`plan_type` 缺失时用 id_token 的 `chatgpt_plan_type` 兜底展示;wham 写入的套餐类型优先。(#609) diff --git a/web/src/features/vm/credential-panel.tsx b/web/src/features/vm/credential-panel.tsx index 9afa07933..ac02de87e 100644 --- a/web/src/features/vm/credential-panel.tsx +++ b/web/src/features/vm/credential-panel.tsx @@ -411,6 +411,37 @@ function ClaudeCredentialPanel({ {importCred.isPending ? '换票中…' : '导入'} + ) : activeMethod === 'cc' ? ( +