feat(计费): 支持账号计费倍率快照与统计展示
- 新增 accounts.rate_multiplier(默认 1.0,允许 0) - 使用 usage_logs.account_rate_multiplier 记录倍率快照,避免历史回算 - 统计/导出/管理端展示账号口径费用(total_cost * account_rate_multiplier)
This commit is contained in:
@@ -428,6 +428,7 @@ export interface Account {
|
||||
concurrency: number
|
||||
current_concurrency?: number // Real-time concurrency count from Redis
|
||||
priority: number
|
||||
rate_multiplier?: number // Account billing multiplier (>=0, 0 means free)
|
||||
status: 'active' | 'inactive' | 'error'
|
||||
error_message: string | null
|
||||
last_used_at: string | null
|
||||
@@ -457,7 +458,9 @@ export interface Account {
|
||||
export interface WindowStats {
|
||||
requests: number
|
||||
tokens: number
|
||||
cost: number
|
||||
cost: number // Account cost (account multiplier)
|
||||
standard_cost?: number
|
||||
user_cost?: number
|
||||
}
|
||||
|
||||
export interface UsageProgress {
|
||||
@@ -522,6 +525,7 @@ export interface CreateAccountRequest {
|
||||
proxy_id?: number | null
|
||||
concurrency?: number
|
||||
priority?: number
|
||||
rate_multiplier?: number // Account billing multiplier (>=0, 0 means free)
|
||||
group_ids?: number[]
|
||||
expires_at?: number | null
|
||||
auto_pause_on_expired?: boolean
|
||||
@@ -537,6 +541,7 @@ export interface UpdateAccountRequest {
|
||||
proxy_id?: number | null
|
||||
concurrency?: number
|
||||
priority?: number
|
||||
rate_multiplier?: number // Account billing multiplier (>=0, 0 means free)
|
||||
schedulable?: boolean
|
||||
status?: 'active' | 'inactive'
|
||||
group_ids?: number[]
|
||||
@@ -593,6 +598,7 @@ export interface UsageLog {
|
||||
total_cost: number
|
||||
actual_cost: number
|
||||
rate_multiplier: number
|
||||
account_rate_multiplier?: number | null
|
||||
|
||||
stream: boolean
|
||||
duration_ms: number
|
||||
@@ -852,23 +858,27 @@ export interface AccountUsageHistory {
|
||||
requests: number
|
||||
tokens: number
|
||||
cost: number
|
||||
actual_cost: number
|
||||
actual_cost: number // Account cost (account multiplier)
|
||||
user_cost: number // User/API key billed cost (group multiplier)
|
||||
}
|
||||
|
||||
export interface AccountUsageSummary {
|
||||
days: number
|
||||
actual_days_used: number
|
||||
total_cost: number
|
||||
total_cost: number // Account cost (account multiplier)
|
||||
total_user_cost: number
|
||||
total_standard_cost: number
|
||||
total_requests: number
|
||||
total_tokens: number
|
||||
avg_daily_cost: number
|
||||
avg_daily_cost: number // Account cost
|
||||
avg_daily_user_cost: number
|
||||
avg_daily_requests: number
|
||||
avg_daily_tokens: number
|
||||
avg_duration_ms: number
|
||||
today: {
|
||||
date: string
|
||||
cost: number
|
||||
user_cost: number
|
||||
requests: number
|
||||
tokens: number
|
||||
} | null
|
||||
@@ -876,6 +886,7 @@ export interface AccountUsageSummary {
|
||||
date: string
|
||||
label: string
|
||||
cost: number
|
||||
user_cost: number
|
||||
requests: number
|
||||
} | null
|
||||
highest_request_day: {
|
||||
@@ -883,6 +894,7 @@ export interface AccountUsageSummary {
|
||||
label: string
|
||||
requests: number
|
||||
cost: number
|
||||
user_cost: number
|
||||
} | null
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user