feat: add Claude Sonnet 4.6 and Opus 4.6 to model list and mapping (#18)
- Add claude-sonnet-4.6 (dot and dash variants) to modelMap in translator.go - Add claude-sonnet-4.6 and claude-opus-4.6 (plus -thinking variants) to the static fallback model list in handler.go - Realign existing opus-4.6 entries for consistency
This commit is contained in:
102
proxy/handler.go
102
proxy/handler.go
@@ -259,6 +259,10 @@ func (h *Handler) handleModels(w http.ResponseWriter, r *http.Request) {
|
||||
} else {
|
||||
// fallback 静态列表
|
||||
models = []map[string]interface{}{
|
||||
{"id": "claude-sonnet-4.6", "object": "model", "owned_by": "anthropic"},
|
||||
{"id": "claude-sonnet-4.6" + thinkingSuffix, "object": "model", "owned_by": "anthropic"},
|
||||
{"id": "claude-opus-4.6", "object": "model", "owned_by": "anthropic"},
|
||||
{"id": "claude-opus-4.6" + thinkingSuffix, "object": "model", "owned_by": "anthropic"},
|
||||
{"id": "claude-sonnet-4.5", "object": "model", "owned_by": "anthropic"},
|
||||
{"id": "claude-sonnet-4.5" + thinkingSuffix, "object": "model", "owned_by": "anthropic"},
|
||||
{"id": "claude-sonnet-4", "object": "model", "owned_by": "anthropic"},
|
||||
@@ -1410,20 +1414,20 @@ func (h *Handler) apiGetAccounts(w http.ResponseWriter, r *http.Request) {
|
||||
"expiresAt": a.ExpiresAt,
|
||||
"hasToken": a.AccessToken != "",
|
||||
"machineId": a.MachineId,
|
||||
"subscriptionType": a.SubscriptionType,
|
||||
"subscriptionTitle": a.SubscriptionTitle,
|
||||
"daysRemaining": a.DaysRemaining,
|
||||
"usageCurrent": a.UsageCurrent,
|
||||
"usageLimit": a.UsageLimit,
|
||||
"usagePercent": a.UsagePercent,
|
||||
"nextResetDate": a.NextResetDate,
|
||||
"lastRefresh": a.LastRefresh,
|
||||
"trialUsageCurrent": a.TrialUsageCurrent,
|
||||
"trialUsageLimit": a.TrialUsageLimit,
|
||||
"trialUsagePercent": a.TrialUsagePercent,
|
||||
"trialStatus": a.TrialStatus,
|
||||
"trialExpiresAt": a.TrialExpiresAt,
|
||||
"requestCount": stats.RequestCount,
|
||||
"subscriptionType": a.SubscriptionType,
|
||||
"subscriptionTitle": a.SubscriptionTitle,
|
||||
"daysRemaining": a.DaysRemaining,
|
||||
"usageCurrent": a.UsageCurrent,
|
||||
"usageLimit": a.UsageLimit,
|
||||
"usagePercent": a.UsagePercent,
|
||||
"nextResetDate": a.NextResetDate,
|
||||
"lastRefresh": a.LastRefresh,
|
||||
"trialUsageCurrent": a.TrialUsageCurrent,
|
||||
"trialUsageLimit": a.TrialUsageLimit,
|
||||
"trialUsagePercent": a.TrialUsagePercent,
|
||||
"trialStatus": a.TrialStatus,
|
||||
"trialExpiresAt": a.TrialExpiresAt,
|
||||
"requestCount": stats.RequestCount,
|
||||
"errorCount": stats.ErrorCount,
|
||||
"totalTokens": stats.TotalTokens,
|
||||
"totalCredits": stats.TotalCredits,
|
||||
@@ -2080,41 +2084,41 @@ func (h *Handler) apiGetAccountFull(w http.ResponseWriter, r *http.Request, id s
|
||||
|
||||
// 返回完整账号信息(包含敏感字段)
|
||||
result := map[string]interface{}{
|
||||
"id": account.ID,
|
||||
"email": account.Email,
|
||||
"userId": account.UserId,
|
||||
"nickname": account.Nickname,
|
||||
"accessToken": account.AccessToken,
|
||||
"refreshToken": account.RefreshToken,
|
||||
"clientId": account.ClientID,
|
||||
"clientSecret": account.ClientSecret,
|
||||
"authMethod": account.AuthMethod,
|
||||
"provider": account.Provider,
|
||||
"region": account.Region,
|
||||
"expiresAt": account.ExpiresAt,
|
||||
"machineId": account.MachineId,
|
||||
"enabled": account.Enabled,
|
||||
"banStatus": account.BanStatus,
|
||||
"banReason": account.BanReason,
|
||||
"banTime": account.BanTime,
|
||||
"subscriptionType": account.SubscriptionType,
|
||||
"subscriptionTitle": account.SubscriptionTitle,
|
||||
"daysRemaining": account.DaysRemaining,
|
||||
"usageCurrent": account.UsageCurrent,
|
||||
"usageLimit": account.UsageLimit,
|
||||
"usagePercent": account.UsagePercent,
|
||||
"nextResetDate": account.NextResetDate,
|
||||
"lastRefresh": account.LastRefresh,
|
||||
"trialUsageCurrent": account.TrialUsageCurrent,
|
||||
"trialUsageLimit": account.TrialUsageLimit,
|
||||
"trialUsagePercent": account.TrialUsagePercent,
|
||||
"trialStatus": account.TrialStatus,
|
||||
"trialExpiresAt": account.TrialExpiresAt,
|
||||
"requestCount": stats.RequestCount,
|
||||
"errorCount": stats.ErrorCount,
|
||||
"totalTokens": stats.TotalTokens,
|
||||
"totalCredits": stats.TotalCredits,
|
||||
"lastUsed": stats.LastUsed,
|
||||
"id": account.ID,
|
||||
"email": account.Email,
|
||||
"userId": account.UserId,
|
||||
"nickname": account.Nickname,
|
||||
"accessToken": account.AccessToken,
|
||||
"refreshToken": account.RefreshToken,
|
||||
"clientId": account.ClientID,
|
||||
"clientSecret": account.ClientSecret,
|
||||
"authMethod": account.AuthMethod,
|
||||
"provider": account.Provider,
|
||||
"region": account.Region,
|
||||
"expiresAt": account.ExpiresAt,
|
||||
"machineId": account.MachineId,
|
||||
"enabled": account.Enabled,
|
||||
"banStatus": account.BanStatus,
|
||||
"banReason": account.BanReason,
|
||||
"banTime": account.BanTime,
|
||||
"subscriptionType": account.SubscriptionType,
|
||||
"subscriptionTitle": account.SubscriptionTitle,
|
||||
"daysRemaining": account.DaysRemaining,
|
||||
"usageCurrent": account.UsageCurrent,
|
||||
"usageLimit": account.UsageLimit,
|
||||
"usagePercent": account.UsagePercent,
|
||||
"nextResetDate": account.NextResetDate,
|
||||
"lastRefresh": account.LastRefresh,
|
||||
"trialUsageCurrent": account.TrialUsageCurrent,
|
||||
"trialUsageLimit": account.TrialUsageLimit,
|
||||
"trialUsagePercent": account.TrialUsagePercent,
|
||||
"trialStatus": account.TrialStatus,
|
||||
"trialExpiresAt": account.TrialExpiresAt,
|
||||
"requestCount": stats.RequestCount,
|
||||
"errorCount": stats.ErrorCount,
|
||||
"totalTokens": stats.TotalTokens,
|
||||
"totalCredits": stats.TotalCredits,
|
||||
"lastUsed": stats.LastUsed,
|
||||
}
|
||||
|
||||
json.NewEncoder(w).Encode(result)
|
||||
|
||||
Reference in New Issue
Block a user