feat: publish sanitized custom.97 source

This commit is contained in:
cneicy committed 2026-10-27 20:43:39 +08:00
1 parent 8e6ed0317b
commit 86c0276156
1022 files changed
+69903 -19207

No files matched your search

+46 -28
View File
@@ -19,31 +19,35 @@ import (
const requestTimeout = 30 * time.Second
type Monitor struct {
Tags []string `json:"tags,omitempty"`
RecentDegraded bool `json:"recent_degraded,omitempty"`
ModelCosts map[string]model.GroupModelCost `json:"model_costs,omitempty"`
GroupRatio float64 `json:"group_ratio"`
ProbeHistory []service.ProbeHistoryPoint `json:"probe_history"`
ID string `json:"id"`
Models []string `json:"models"`
Alias string `json:"alias,omitempty"`
Hidden bool `json:"hidden,omitempty"`
Candy *service.BenchmarkSummary `json:"candy,omitempty"`
Benchmark *service.BenchmarkSummary `json:"benchmark,omitempty"`
StatusSource string `json:"status_source"`
StatusCheckedAt int64 `json:"status_checked_at,omitempty"`
Fingerprint *service.AstraSamplingSummary `json:"fingerprint,omitempty"`
Metrics *perfmetrics.GroupResult `json:"metrics,omitempty"`
Name string `json:"name"`
Uptime float64 `json:"uptime"`
Status int `json:"status"`
Group string `json:"group,omitempty"`
Ping int `json:"ping,omitempty"`
LastChecked string `json:"last_checked,omitempty"`
History []MonitorSample `json:"history,omitempty"`
CacheStats *model.GroupCacheStats `json:"cache_stats,omitempty"`
ProbeStatus int `json:"probe_status"`
ChannelDisabled bool `json:"channel_disabled"`
VisionUnavailable bool `json:"vision_unavailable,omitempty"`
QualityResetAt int64 `json:"quality_reset_at,omitempty"`
Tags []string `json:"tags,omitempty"`
RecentDegraded bool `json:"recent_degraded,omitempty"`
ModelCosts map[string]model.GroupModelCost `json:"model_costs,omitempty"`
ModelPerformance map[string]model.GroupModelPerformance `json:"model_performance,omitempty"`
GroupRatio float64 `json:"group_ratio"`
ProbeHistory []service.ProbeHistoryPoint `json:"probe_history"`
ID string `json:"id"`
Models []string `json:"models"`
Alias string `json:"alias,omitempty"`
Hidden bool `json:"hidden,omitempty"`
Ciallo *service.BenchmarkSummary `json:"ciallo,omitempty"`
Vision *service.BenchmarkSummary `json:"vision,omitempty"`
Benchmark *service.BenchmarkSummary `json:"benchmark,omitempty"`
StatusSource string `json:"status_source"`
StatusCheckedAt int64 `json:"status_checked_at,omitempty"`
Fingerprint *service.AstraSamplingSummary `json:"fingerprint,omitempty"`
Metrics *perfmetrics.GroupResult `json:"metrics,omitempty"`
Name string `json:"name"`
Uptime float64 `json:"uptime"`
Status int `json:"status"`
Group string `json:"group,omitempty"`
Ping int `json:"ping,omitempty"`
LastChecked string `json:"last_checked,omitempty"`
History []MonitorSample `json:"history,omitempty"`
CacheStats *model.GroupCacheStats `json:"cache_stats,omitempty"`
ProbeStatus int `json:"probe_status"`
ChannelDisabled bool `json:"channel_disabled"`
}
type MonitorSample struct {
@@ -132,13 +136,25 @@ func currentGroupMonitors(ctx context.Context, admin bool) ([]UptimeGroupResult,
groupCacheSnapshot.updated = now
groupCacheSnapshot.channels = string(encoded)
}
visionUnavailable, qualityErr := service.VisionUnavailableGroups(ctx)
if qualityErr != nil {
return nil, qualityErr
}
userResults := perfmetrics.LatestUserResults(ctx, order)
monitors := make([]Monitor, 0, len(order))
for _, group := range order {
monitor := Monitor{ID: model.DetectionSecretHash(group)[:16], Name: group, Status: -1, Models: models[group], GroupRatio: ratio_setting.GetGroupRatio(group)}
monitor := Monitor{QualityResetAt: settings[group].ResetBefore, ID: model.DetectionSecretHash(group)[:16], Name: group, Status: -1, Models: models[group], GroupRatio: ratio_setting.GetGroupRatio(group)}
if monitor.Models == nil {
monitor.Models = []string{}
}
monitor.ModelPerformance = make(map[string]model.GroupModelPerformance, len(monitor.Models))
for _, modelName := range monitor.Models {
performance, performanceErr := service.GroupModelPerformance(ctx, group, modelName)
if performanceErr != nil {
return nil, performanceErr
}
monitor.ModelPerformance[modelName] = performance
}
if settings[group].Alias != "" {
monitor.Name = settings[group].Alias
}
@@ -163,8 +179,10 @@ func currentGroupMonitors(ctx context.Context, admin bool) ([]UptimeGroupResult,
if !admin && monitor.Metrics != nil {
monitor.Metrics.Group = monitor.Name
}
monitor.Benchmark = detections[group].Benchmark
monitor.Candy = detections[group].Candy
monitor.Benchmark = nil
monitor.Vision = detections[group].Vision
monitor.VisionUnavailable = visionUnavailable[group]
monitor.Ciallo = detections[group].Ciallo
monitor.ProbeHistory = detections[group].ProbeHistory
applyCurrentStatus(&monitor, userResults[group], now.Unix())
monitors = append(monitors, monitor)