bug(providers): 一个无法刷新的 Pi 凭证会导致其他所有提供程序的会话和目录刷新失败
□ 问题
在 Pi 认证存储中过期的 Anthropic OAuth 证书停止了与 Anthropic 无关的 Pi 工作. 2026年9月9日,在此安装上两次被观察,Pi 0.84.4:
**1. 关于不同供应商的Pi会话失败。 **archon工作流程运行e2e-pi-smoke-config.archon/config.ZGemini.yaml'。 会议开始于OpenAI Codex — pi. session started' 已登录的"piProvider":"OpenAI-codex",模型Id:"GPT-56-sol"——随后失败:
模型错误: Anthropic的 OAuth 刷新失败: Anthropic 令牌刷新请求失败 。
url=https://platform.ZClaude.com/v1/oauth/token;状态=400;
body"error":"无效 grant","error description":"新鲜的代币已过期" )
(pi-ai/dist/auth/resolve.js:77) (中文(简体) ).
(pi-coding-agent/dist/core/auth-surverage.js:383) (中文(简体) ).
在ModelsImpl.resolve 证书节点失败了,其下游节点被跳过,运行失败. 运行中没有配置Anthropic模型.
**2. Catalog 完全刷新中止。 ** `pi 更新 -- -- models' 与 Anthropic 相同的错误失败, 对任何提供商来说都没有任何刷新。
实际效果是安装上的每一个Pi-professor配置都同时被从一个不相干过期的证书上——Gemini,Gemini-glm,迷你马克斯,glm-flash——杀死,唯一的恢复是交互式的Anthropic重登.
□为什么这是错误的,不只是不方便
pi-ai的解析器通过建筑提供. `解析 ProviderAuth(提供方、证书、认证格式、超文本)' 取取一个提供方,只解决那个提供方,文件本身的文档注释则表示意图:
" 模型 " 和 " 图像模型 " 集合共享的认证分辨率。 存储的证书拥有提供者:只有在没有存储的情况下才查阅环境/env。 刷新失败后, 没有静静的回落 。
所以设计中已经说,一个过期的Anthropic符号应该使Anthropic变得无法使用,而别无其他. 该功能的上游部分是解决运行不使用的供应商的资质问题,一个硬故障中止了批次,而不是标出无法使用的供应商。
这也打破了操作员对故障隔离的期望。 失去一个您没有使用的供应商, 您不应该花费您的供应商 。
∮为什么现在∮
目前它正在屏蔽维护者狗食:无论配置如何,Pi工作流程都无法在这个安装上运行,这是它是如何找到的. 对于Anthropic OAuth赠款在为另一供应商工作期间到期,而OAuth赠款在不事先通知的情况下按自己的时间表到期的用户,将再次出现这种情况。
尚未建立的东西
这是作为调查而不是固定而写成的,因为主人是真正的不确定的. 两名候选人,也不排除:
- ** Pi.** “ModelRuntime.create()”或“模型集”中的一些内容列出存储的证书并解决每个证书,因此,一个无关的提供者的刷新故障被传播出去。 如果是这样的话,修补是上游的 Archon的工作是报告并决定是否 . . . . . . .
内容来源: coleam00/Archon