[Bug]: Antigravity existing sessions reject newly discovered models due to stale cached configOptions
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 42/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- typescript
调研方向
Start in apps/server/src/provider/acp/AntigravityAcpSupport.ts with applyAntigravityAcpModelSelection, which validates the model against runtime.getConfigOptions and fails with AcpRequestError.invalidParams. Then trace how AntigravityDriver.refreshModels and makeDisposableRuntime publish newly discovered models, since existing sessions never see them. Done means a model discovered after a session started can be selected on that existing thread and the turn starts, either by refreshing the cached options or by restarting the ACP session.
由索引模型根据 Issue 内容生成。
描述
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- Start a thread with the Antigravity provider (
agy acp), which keeps a long-livedAcpSessionRuntimeopen and caches theconfigOptionsreturned by the initialsession/new. - Wait for
AntigravityDriver.refreshModels(or a backend/CLI rollout such asgemini-pro-orchestratorbecoming available) to spawn a freshmakeDisposableRuntime(session/new) that discovers a newly available model and updates the UI model catalog. - Return to the existing thread whose ACP session is still alive from before the new model appeared, switch its model selector to the newly discovered model (e.g.
gemini-pro-orchestrator), and send a message.
Expected behavior
Either session/set_config_option / setModel applies the newly available model on the agent (or T3 Code restarts/refreshes the ACP session if the live session's cached configOptions are stale), allowing the turn to start normally.
Actual behavior
T3 Code rejects the model locally in applyAntigravityAcpModelSelection (~0.07–0.22 ms, without sending session/set_config_option to agy) because it validates solely against the existing session's cached runtime.getConfigOptions:
Provider error
The agent did not accept the model "gemini-pro-orchestrator". Choose another model for this provider, then retry.
Even though agy models and a fresh agy acp session/new both list gemini-pro-orchestrator (Orchestrator) as available for the same Google account.
As soon as session/close happened on that thread and a new agy acp runtime was started (session/new), applyAntigravityAcpModelSelection and session/set_config_option immediately succeeded with gemini-pro-orchestrator.
Impact
Minor bug or occasional failure
Version or commit
0.1.10-nightly.20261112.4580 (also present in origin/main @ 637507056 in apps/server/src/provider/acp/AntigravityAcpSupport.ts)
Environment
Linux (T3-Code.AppImage 0.1.10-nightly.20261112.4580), Antigravity CLI 1.5.6 / 1.5.7 (oauth-personal), model gemini-pro-orchestrator
Logs or stack traces
ProviderAdapterTurnStartError: Failed to start run ... on antigravity provider thread ...
[cause]: AcpModelSelectionError: The agent did not accept the model "gemini-pro-orchestrator". Choose another model for this provider, then retry.
at rejectedModel (...)
[cause]: AcpRequestError: Antigravity model 'gemini-pro-orchestrator' is unavailable for this Google account. Select an available model.
at AcpRequestError.invalidParams (...)
at applyAntigravityAcpModelSelection (...)
at AntigravityAdapterV2.applyModelSelection (...)
at AcpAdapterV2.startTurn (...)
In apps/server/src/provider/acp/AntigravityAcpSupport.ts, applyAntigravityAcpModelSelection checks antigravityModelOptions(yield* input.runtime.getConfigOptions) and immediately fails with AcpRequestError.invalidParams if the model isn't in that session's cached configOptions. Because AntigravityDriver.refreshModels updates the provider catalog via a separate disposable runtime without refreshing existing active sessions' configOptions, any pre-existing thread rejects newly added models until its ACP process is closed and recreated.
Workaround
Close/restart the provider session (or restart T3 Code / open a new thread) so agy acp starts a fresh session/new and picks up the updated configOptions.
- 主要语言
- TypeScript
- 星标
- 24.8k
- 派生
- 6.4k
- 平均合并
- 59 分钟
- 30 天内合并 PR
- 418
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
pingdotgg/t3code 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
via-triage
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 半天 新手友好度 68/100
维护者通常 1 天内回复
-
Question card options show LaTeX as raw source, though the question text renders it可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
[Bug]: Settings inheritance popover shows raw slugs for branch naming, default permissions and response streaming可能已有人在做 @juliusmarminge 于 1 天前认领。 未关闭vouch:denounced
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
nikoheikkila/nikoheikkila.fi#1131 ·
维护者通常 1 天内回复
-
Resources: Update work of urumqi可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 65/100
railmapgen/rmp-gallery#4176 ·
维护者通常 2 天内回复
-
GraphQL custom headers duplicate differently cased default headers可能已有人在做 @yxr-2025 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
github/forgoodfirstissue#574 ·