From 7c97d5fcd8f855f19b024923f158e5f3a7222826 Mon Sep 17 00:00:00 2001 From: Yanlong Wang Date: Mon, 15 Sep 2025 10:37:12 +0800 Subject: [PATCH 1/2] pricing-change: llm consumptions x3 --- src/tools/read.ts | 2 +- src/utils/token-tracker.ts | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tools/read.ts b/src/tools/read.ts index c950faee..50a733a7 100644 --- a/src/tools/read.ts +++ b/src/tools/read.ts @@ -58,7 +58,7 @@ export async function readUrl( tokenTracker.trackUsage('read', { totalTokens: tokens, promptTokens: url.length, - completionTokens: tokens + completionTokens: 0 }); return { response: data }; diff --git a/src/utils/token-tracker.ts b/src/utils/token-tracker.ts index 1ed2d1f9..de420587 100644 --- a/src/utils/token-tracker.ts +++ b/src/utils/token-tracker.ts @@ -31,9 +31,10 @@ export class TokenTracker extends EventEmitter { getTotalUsage(): LanguageModelUsage { return this.usages.reduce((acc, { usage }) => { - acc.promptTokens += usage.promptTokens; - acc.completionTokens += usage.completionTokens; - acc.totalTokens += usage.totalTokens; + const scaler = usage.completionTokens === 0 ? 1 : 3; + acc.promptTokens += usage.promptTokens * scaler; + acc.completionTokens += usage.completionTokens * scaler; + acc.totalTokens += usage.totalTokens * scaler; return acc; }, { promptTokens: 0, completionTokens: 0, totalTokens: 0 }); } From 2e3c27902108882a0586b6ba5d46281b374df1e8 Mon Sep 17 00:00:00 2001 From: Yanlong Wang Date: Mon, 15 Sep 2025 12:31:56 +0800 Subject: [PATCH 2/2] fix: llm usage condition --- src/utils/token-tracker.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/token-tracker.ts b/src/utils/token-tracker.ts index de420587..892115f3 100644 --- a/src/utils/token-tracker.ts +++ b/src/utils/token-tracker.ts @@ -31,7 +31,8 @@ export class TokenTracker extends EventEmitter { getTotalUsage(): LanguageModelUsage { return this.usages.reduce((acc, { usage }) => { - const scaler = usage.completionTokens === 0 ? 1 : 3; + // CompletionTokens > 0 means LLM usage, apply 3x multiplier + const scaler = usage.completionTokens > 0 ? 3 : 1; acc.promptTokens += usage.promptTokens * scaler; acc.completionTokens += usage.completionTokens * scaler; acc.totalTokens += usage.totalTokens * scaler;