{"record":{"id":"f9382915d57c12e4","repo":"jlcodes99/cockpit-tools","slug":"codexmodelproviders-f93829","errorCode":null,"errorMessage":"[CodexModelProviders] 额度类型探测失败","messagePattern":"\\[CodexModelProviders\\] 额度类型探测失败","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/pages/useCodexAccountsAccessController.tsx","lineNumber":2508,"sourceCode":"            };\n            try {\n              const usageSummary = await queryCodexModelProviderUsage({\n                baseUrl: savedProvider.baseUrl,\n                apiKey: validation.apiKey,\n                integrationType: savedProvider.integrationType ?? null,\n              });\n              if (\n                (usageSummary.mode === \"sub2api\" ||\n                  usageSummary.mode === \"new_api\") &&\n                usageSummary.mode !== savedProvider.integrationType\n              ) {\n                await saveCodexModelProviderDetectedIntegrationType(\n                  savedProvider.id,\n                  usageSummary.mode,\n                );\n              }\n            } catch (usageErr) {\n              console.warn(\"[CodexModelProviders] 额度类型探测失败\", usageErr);\n            }\n            await reloadManagedProviders();\n          } catch (providerErr) {\n            console.warn(\n              \"[CodexModelProviders] 添加账号前写入供应商失败\",\n              providerErr,\n            );\n            throw providerErr;\n          }\n        }\n        const account = await codexService.addCodexAccountWithApiKey(\n          validation.apiKey,\n          validation.apiBaseUrl,\n          finalProviderPayload.apiProviderMode,\n          finalProviderPayload.apiProviderId,\n          finalProviderPayload.apiProviderName,\n          finalProviderPayload.apiModelCatalog,\n          finalProviderPayload.apiSupportsVision,","sourceCodeStart":2490,"sourceCodeEnd":2526,"githubUrl":"https://github.com/jlcodes99/cockpit-tools/blob/1ed8b77992d62ca81fabf744deb0839ad361d5bf/src/pages/useCodexAccountsAccessController.tsx#L2490-L2526","documentation":"Non-fatal warning path in the add-account flow of useCodexAccountsAccessController: after saving a model provider, queryCodexModelProviderUsage was called to probe whether the endpoint is sub2api/new_api so the detected integration type could be persisted; any failure here is caught, logged as '[CodexModelProviders] 额度类型探测失败', and deliberately ignored — the account addition continues with the provider as originally configured.","triggerScenarios":"Thrown at src/pages/useCodexAccountsAccessController.tsx:2508 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check provider baseUrl/apiKey reachability if usage-based features misbehave","Ignore when offline — the probe is best-effort and the saved integrationType still applies","Re-save the provider later to re-trigger detection once the endpoint responds"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1ed8b77992d62ca81fabf744deb0839ad361d5bf","analyzedAt":"2026-09-05T09:51:41.178Z","contentChangedAt":"2026-09-05T09:51:41.178Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}