diff --git a/src/components/UsageFooter.tsx b/src/components/UsageFooter.tsx index ca5b3d112..fc4b0ac2e 100644 --- a/src/components/UsageFooter.tsx +++ b/src/components/UsageFooter.tsx @@ -11,6 +11,7 @@ interface UsageFooterProps { appId: AppId; usageEnabled: boolean; // 是否启用了用量查询 isCurrent: boolean; // 是否为当前激活的供应商 + isInConfig?: boolean; // OpenCode: 是否已添加到配置 inline?: boolean; // 是否内联显示(在按钮左侧) } @@ -20,12 +21,15 @@ const UsageFooter: React.FC = ({ appId, usageEnabled, isCurrent, + isInConfig = false, inline = false, }) => { const { t } = useTranslation(); // 统一的用量查询(自动查询仅对当前激活的供应商启用) - const autoQueryInterval = isCurrent + // OpenCode(累加模式):使用 isInConfig 代替 isCurrent + const shouldAutoQuery = appId === "opencode" ? isInConfig : isCurrent; + const autoQueryInterval = shouldAutoQuery ? provider.meta?.usage_script?.autoQueryInterval || 0 : 0; diff --git a/src/components/providers/ProviderCard.tsx b/src/components/providers/ProviderCard.tsx index 409bdec5c..248d5842f 100644 --- a/src/components/providers/ProviderCard.tsx +++ b/src/components/providers/ProviderCard.tsx @@ -136,7 +136,9 @@ export function ProviderCard({ const usageEnabled = provider.meta?.usage_script?.enabled ?? false; // 获取用量数据以判断是否有多套餐 - const autoQueryInterval = isCurrent + // OpenCode(累加模式):使用 isInConfig 代替 isCurrent + const shouldAutoQuery = appId === "opencode" ? isInConfig : isCurrent; + const autoQueryInterval = shouldAutoQuery ? provider.meta?.usage_script?.autoQueryInterval || 0 : 0; @@ -333,6 +335,7 @@ export function ProviderCard({ appId={appId} usageEnabled={usageEnabled} isCurrent={isCurrent} + isInConfig={isInConfig} inline={true} /> )} @@ -398,6 +401,7 @@ export function ProviderCard({ appId={appId} usageEnabled={usageEnabled} isCurrent={isCurrent} + isInConfig={isInConfig} inline={false} />