package model import "time" // AIAnalysisTrace 记录每次 AI 分析看到的上下文、模型输出和审计追踪信息。 // Logan.Li type AIAnalysisTrace struct { ID uint `gorm:"primarykey" json:"id"` TraceID string `gorm:"size:64;index;not null" json:"trace_id"` SpanID string `gorm:"size:64;index;not null" json:"span_id"` ParentSpanID string `gorm:"size:64;index" json:"parent_span_id"` UserID uint `gorm:"index" json:"user_id"` Feature string `gorm:"size:64;index;not null" json:"feature"` Target string `gorm:"size:255;index" json:"target"` AlertID uint `gorm:"index" json:"alert_id"` Provider string `gorm:"size:50" json:"provider"` Model string `gorm:"size:100" json:"model"` Source string `gorm:"size:64" json:"source"` Status string `gorm:"size:32;index" json:"status"` ContextPack string `gorm:"type:text" json:"context_pack"` Result string `gorm:"type:text" json:"result"` EvidenceCount int `json:"evidence_count"` PromptTokens int `json:"prompt_tokens"` CompletionTokens int `json:"completion_tokens"` TotalTokens int `json:"total_tokens"` Duration int64 `json:"duration"` Error string `gorm:"type:text" json:"error,omitempty"` CreatedAt time.Time `gorm:"index" json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // TableName 表名 // Logan.Li func (AIAnalysisTrace) TableName() string { return "ai_analysis_traces" }