From 882c73234f44a0681ec8a99e9ed88c1b33a278a3 Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 17 Jan 2026 15:48:44 +0800 Subject: [PATCH] fix(opencode): enable usage auto-query for providers in config For OpenCode (additive mode), use isInConfig instead of isCurrent to determine whether to enable usage auto-query. This allows providers that have been added to the config to have their usage queried automatically. --- src/components/UsageFooter.tsx | 6 +++++- src/components/providers/ProviderCard.tsx | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/UsageFooter.tsx b/src/components/UsageFooter.tsx index ca5b3d11..fc4b0ac2 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 409bdec5..248d5842 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} />