mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
Fix OpenRouter cost calculation with BYOK (#4543)
Currently, when you use OpenRouter with your own key for the underlying service, the costs shown by Roo Code are way off what it actually costs. With bring your own key, OpenRouter charges 5% of what it normally would (see https://openrouter.ai/docs/use-cases/byok) so we have to multiply the reported cost by 20 to get an estimate of what it actually costs. Co-authored-by: Johan Otten <drakonen@drakonen.com> Co-authored-by: Eamon Nerbonne <eamon@nerbonne.org>
This commit is contained in:
parent
395f55b31f
commit
11668af83d
1 changed files with 6 additions and 1 deletions
|
|
@ -48,8 +48,13 @@ interface CompletionUsage {
|
|||
}
|
||||
total_tokens?: number
|
||||
cost?: number
|
||||
is_byok?: boolean
|
||||
}
|
||||
|
||||
// with bring your own key, OpenRouter charges 5% of what it normally would: https://openrouter.ai/docs/use-cases/byok
|
||||
// so we multiply the cost reported by OpenRouter to get an estimate of what the request actually cost
|
||||
const BYOK_COST_MULTIPLIER = 20
|
||||
|
||||
export class OpenRouterHandler extends BaseProvider implements SingleCompletionHandler {
|
||||
protected options: ApiHandlerOptions
|
||||
private client: OpenAI
|
||||
|
|
@ -164,7 +169,7 @@ export class OpenRouterHandler extends BaseProvider implements SingleCompletionH
|
|||
// and how to best support it.
|
||||
// cacheReadTokens: lastUsage.prompt_tokens_details?.cached_tokens,
|
||||
reasoningTokens: lastUsage.completion_tokens_details?.reasoning_tokens,
|
||||
totalCost: lastUsage.cost || 0,
|
||||
totalCost: (lastUsage.is_byok ? BYOK_COST_MULTIPLIER : 1) * (lastUsage.cost || 0),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue