common

package
v2.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminLogin

type AdminLogin struct {
	AccountLogin  bool `bson:"account_login"  json:"account_login"`  // 账密登录
	EmailLogin    bool `bson:"email_login"    json:"email_login"`    // 邮箱登录
	EmailRetrieve bool `bson:"email_retrieve" json:"email_retrieve"` // 找回密码
	SessionExpire int  `bson:"session_expire" json:"session_expire"` // 会话过期, 单位: 秒
}

type AfterHandler

type AfterHandler struct {
	ChatCompletionReq      smodel.ChatCompletionRequest
	ImageGenerationRequest smodel.ImageGenerationRequest
	ImageEditRequest       smodel.ImageEditRequest
	ImageResponse          smodel.ImageResponse
	AudioInput             string
	AudioMinute            float64
	AudioText              string
	EmbeddingReq           smodel.EmbeddingRequest
	ModerationReq          smodel.ModerationRequest
	ChatCompletionRes      smodel.ChatCompletionResponse
	Completion             string
	ServiceTier            string
	Action                 string
	VideoId                string
	IsFile                 bool
	FileId                 string
	FileRes                smodel.FileResponse
	IsBatch                bool
	BatchId                string
	Prompt                 string
	Seconds                int
	Size                   string
	MidjourneyPath         string
	MidjourneyResponse     smodel.MidjourneyResponse
	MidjourneyReqUrl       string
	MidjourneyTaskId       string
	MidjourneyPrompt       string
	RequestData            map[string]any
	ResponseData           map[string]any
	Usage                  *smodel.Usage
	Error                  error
	RetryInfo              *Retry
	Spend                  Spend
	IsSmartMatch           bool
	ConnTime               int64
	Duration               int64
	TotalTime              int64
	InternalTime           int64
	EnterTime              int64
}

type AudioPricing

type AudioPricing struct {
	InputRatio  float64 `bson:"input_ratio,omitempty"  json:"input_ratio,omitempty"`  // 输入倍率
	OutputRatio float64 `bson:"output_ratio,omitempty" json:"output_ratio,omitempty"` // 输出倍率
}

type AudioSpend

type AudioSpend struct {
	Pricing      *AudioPricing `bson:"pricing,omitempty"       json:"pricing,omitempty"`       // 定价
	InputTokens  int           `bson:"input_tokens,omitempty"  json:"input_tokens,omitempty"`  // 输入Token数
	OutputTokens int           `bson:"output_tokens,omitempty" json:"output_tokens,omitempty"` // 输出Token数
	SpendTokens  int           `bson:"spend_tokens,omitempty"  json:"spend_tokens,omitempty"`  // 花费Token数
}

type AutoDisabledError

type AutoDisabledError struct {
	Open   bool     `bson:"open"   json:"open"`   // 开关
	Errors []string `bson:"errors" json:"errors"` // 错误
}

type AutoEnableError

type AutoEnableError struct {
	Open         bool          `bson:"open"          json:"open"`          // 开关
	EnableErrors []EnableError `bson:"enable_errors" json:"enable_errors"` // 启用错误
}

type Base

type Base struct {
	ErrRetry                int           `bson:"err_retry"                   json:"err_retry"`                   // 错误重试次数
	ModelKeyErrDisable      int64         `bson:"model_key_err_disable"       json:"model_key_err_disable"`       // 模型密钥禁用次数
	ModelAgentErrDisable    int64         `bson:"model_agent_err_disable"     json:"model_agent_err_disable"`     // 模型代理禁用次数
	ModelAgentKeyErrDisable int64         `bson:"model_agent_key_err_disable" json:"model_agent_key_err_disable"` // 模型代理密钥禁用次数
	ShortTimeout            time.Duration `bson:"short_timeout"               json:"short_timeout"`               // 短连接超时时间, 单位: 秒
	LongTimeout             time.Duration `bson:"long_timeout"                json:"long_timeout"`                // 长连接超时时间, 单位: 秒
}

type BeforeHandler

type BeforeHandler struct {
}

type BillingData

type BillingData struct {
	Path                   string
	ChatCompletionRequest  smodel.ChatCompletionRequest
	ImageGenerationRequest smodel.ImageGenerationRequest
	ImageEditRequest       smodel.ImageEditRequest
	Completion             string
	ServiceTier            string
	AudioInput             string
	AudioMinute            float64
	EmbeddingRequest       smodel.EmbeddingRequest
	ModerationRequest      smodel.ModerationRequest
	Seconds                int
	Size                   string
	Usage                  *smodel.Usage
	IsAborted              bool
}

type CachePricing

type CachePricing struct {
	ServiceTier string  `bson:"service_tier,omitempty" json:"service_tier,omitempty"` // 服务层[all:全部, default:默认, priority:优先, flex:弹性]
	ReadRatio   float64 `bson:"read_ratio,omitempty"   json:"read_ratio,omitempty"`   // 读取/命中倍率
	WriteRatio  float64 `bson:"write_ratio,omitempty"  json:"write_ratio,omitempty"`  // 写入倍率
	Mode        string  `bson:"mode,omitempty"         json:"mode,omitempty"`         // 模式[all:全部, thinking:思考, non_thinking:非思考]
	Gt          int     `bson:"gt,omitempty"           json:"gt,omitempty"`           // 大于, 单位: k
	Lte         int     `bson:"lte,omitempty"          json:"lte,omitempty"`          // 小于等于, 单位: k
}

type CacheSpend

type CacheSpend struct {
	Pricing     *CachePricing `bson:"pricing,omitempty"      json:"pricing,omitempty"`      // 定价
	ReadTokens  int           `bson:"read_tokens,omitempty"  json:"read_tokens,omitempty"`  // 读取/命中Token数
	WriteTokens int           `bson:"write_tokens,omitempty" json:"write_tokens,omitempty"` // 写入Token数
	SpendTokens int           `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

type Core

type Core struct {
	SecretKeyPrefix      string   `bson:"secret_key_prefix"      json:"secret_key_prefix"`      // 密钥前缀
	ErrorPrefix          string   `bson:"error_prefix"           json:"error_prefix"`           // 错误码前缀
	ReplaceErrorPrefixes []string `bson:"replace_error_prefixes" json:"replace_error_prefixes"` // 替换错误码前缀
	ChannelPrefix        string   `bson:"channel_prefix"         json:"channel_prefix"`         // 通道前缀
}

type Debug

type Debug struct {
	Open bool `bson:"open" json:"open"` // 开关
}

type Email

type Email struct {
	Open     bool          `bson:"open"      json:"open"`      // 开关
	Host     string        `bson:"host"      json:"host"`      // smtp.xxx.com
	Port     int           `bson:"port"      json:"port"`      // 端口号
	UserName string        `bson:"user_name" json:"user_name"` // 登录账号
	Password string        `bson:"password"  json:"password"`  // 登录密码
	FromName string        `bson:"from_name" json:"from_name"` // 发送人名称
	Interval time.Duration `bson:"interval"  json:"interval"`  // 发信间隔时间, 单位: 毫秒
}

type EnableError

type EnableError struct {
	Cron       string        `bson:"cron"        json:"cron"`        // CRON表达式
	EnableTime time.Duration `bson:"enable_time" json:"enable_time"` // 启用时间, 单位: 秒
	Error      string        `bson:"error"       json:"error"`       // 错误
}

type FallbackConfig

type FallbackConfig struct {
	ModelAgent     string `bson:"model_agent,omitempty"      json:"model_agent,omitempty"`      // 后备模型代理
	ModelAgentName string `bson:"model_agent_name,omitempty" json:"model_agent_name,omitempty"` // 后备模型代理名称
	Model          string `bson:"model,omitempty"            json:"model,omitempty"`            // 后备模型
	ModelName      string `bson:"model_name,omitempty"       json:"model_name,omitempty"`       // 后备模型名称
}

type FileTask

type FileTask struct {
	Open                 bool          `bson:"open"                   json:"open"`                         // 开关
	Cron                 string        `bson:"cron"                   json:"cron"`                         // CRON表达式
	LockMinutes          time.Duration `bson:"lock_minutes"           json:"lock_minutes"`                 // 锁定时长, 单位: 分钟
	IsEnableStorage      bool          `bson:"is_enable_storage"      json:"is_enable_storage"`            // 是否启用存储
	StorageDir           string        `bson:"storage_dir"            json:"storage_dir"`                  // 存储目录
	StorageBaseUrl       string        `bson:"storage_base_url"       json:"storage_base_url"`             // 访问地址
	StorageExpiresAt     time.Duration `bson:"storage_expires_at"     json:"storage_expires_at,omitempty"` // 存储过期时间, 单位: 分钟
	StorageExpiredDelete bool          `bson:"storage_expired_delete" json:"storage_expired_delete"`       // 存储过期删除开关
}

type ForwardConfig

type ForwardConfig struct {
	ForwardRule   int      `bson:"forward_rule,omitempty"   json:"forward_rule,omitempty"`   // 转发规则[1:全部转发, 2:按关键字, 3:内容长度, 4:已用额度]
	MatchRule     []int    `bson:"match_rule,omitempty"     json:"match_rule,omitempty"`     // 转发规则为2时的匹配规则[1:智能匹配, 2:正则匹配]
	TargetModel   string   `bson:"target_model,omitempty"   json:"target_model,omitempty"`   // 转发规则为1和3时的目标模型
	DecisionModel string   `bson:"decision_model,omitempty" json:"decision_model,omitempty"` // 转发规则为2时并且匹配规则为1时的判定模型
	Keywords      []string `bson:"keywords,omitempty"       json:"keywords,omitempty"`       // 转发规则为2时的关键字
	TargetModels  []string `bson:"target_models,omitempty"  json:"target_models,omitempty"`  // 转发规则为2时的目标模型
	ContentLength int      `bson:"content_length,omitempty" json:"content_length,omitempty"` // 转发规则为3时的内容长度
	UsedQuota     int      `bson:"used_quota,omitempty"     json:"used_quota,omitempty"`     // 转发规则为4时的已用额度
}

type GeneralApi

type GeneralApi struct {
	Open        bool     `bson:"open"         json:"open"`         // 开关
	IpWhitelist []string `bson:"ip_whitelist" json:"ip_whitelist"` // IP白名单
}

type Http

type Http struct {
	Timeout  time.Duration `bson:"timeout"   json:"timeout"`   // 超时时间, 单位: 秒
	ProxyUrl string        `bson:"proxy_url" json:"proxy_url"` // 代理地址
}

type ImageData

type ImageData struct {
	Url           string `bson:"url,omitempty"`
	B64Json       string `bson:"b64_json,omitempty"`
	RevisedPrompt string `bson:"revised_prompt,omitempty"`
}

type ImageGenerationPricing

type ImageGenerationPricing struct {
	Quality   string  `bson:"quality,omitempty"    json:"quality,omitempty"`    // 质量[high, medium, low, hd, standard]
	Width     int     `bson:"width,omitempty"      json:"width,omitempty"`      // 宽度
	Height    int     `bson:"height,omitempty"     json:"height,omitempty"`     // 高度
	OnceRatio float64 `bson:"once_ratio,omitempty" json:"once_ratio,omitempty"` // 一次倍率
	IsDefault bool    `bson:"is_default,omitempty" json:"is_default,omitempty"` // 是否默认选项
}

type ImageGenerationSpend

type ImageGenerationSpend struct {
	Pricing     *ImageGenerationPricing `bson:"pricing,omitempty"      json:"pricing,omitempty"`      // 定价
	N           int                     `bson:"n,omitempty"            json:"n,omitempty"`            // 图像数
	SpendTokens int                     `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

type ImagePricing

type ImagePricing struct {
	InputRatio  float64 `bson:"input_ratio,omitempty"  json:"input_ratio,omitempty"`  // 输入倍率
	OutputRatio float64 `bson:"output_ratio,omitempty" json:"output_ratio,omitempty"` // 输出倍率
}

type ImageSpend

type ImageSpend struct {
	Pricing      *ImagePricing `bson:"pricing,omitempty"       json:"pricing,omitempty"`       // 定价
	InputTokens  int           `bson:"input_tokens,omitempty"  json:"input_tokens,omitempty"`  // 输入Token数
	OutputTokens int           `bson:"output_tokens,omitempty" json:"output_tokens,omitempty"` // 输出Token数
	SpendTokens  int           `bson:"spend_tokens,omitempty"  json:"spend_tokens,omitempty"`  // 花费Token数
}

type Log

type Log struct {
	Open         bool          `bson:"open"          json:"open"`          // 开关
	TextRecords  []string      `bson:"text_records"  json:"text_records"`  // 文本日志记录内容
	TextReserve  time.Duration `bson:"text_reserve"  json:"text_reserve"`  // 文本日志保留天数
	ImageReserve time.Duration `bson:"image_reserve" json:"image_reserve"` // 绘图日志保留天数
	AudioReserve time.Duration `bson:"audio_reserve" json:"audio_reserve"` // 音频日志保留天数
	Status       []int         `bson:"status"        json:"status"`        // 删除日志状态
	Cron         string        `bson:"cron"          json:"cron"`          // CRON表达式
}

type Message

type Message struct {
	Role         string               `bson:"role,omitempty"          json:"role,omitempty"`    // 角色
	Content      string               `bson:"content,omitempty"       json:"content,omitempty"` // 内容
	Refusal      *string              `bson:"refusal,omitempty"       json:"refusal,omitempty"`
	Name         string               `bson:"name,omitempty"          json:"name,omitempty"`
	FunctionCall *smodel.FunctionCall `bson:"function_call,omitempty" json:"function_call,omitempty"`
	ToolCalls    any                  `bson:"tool_calls,omitempty"    json:"tool_calls,omitempty"`
	ToolCallId   string               `bson:"tool_call_id,omitempty"  json:"tool_call_id,omitempty"`
	Audio        *smodel.Audio        `bson:"audio,omitempty"         json:"audio,omitempty"`
}

type Midjourney

type Midjourney struct {
	Open            bool   `bson:"open"              json:"open"` // 开关
	CdnUrl          string `bson:"cdn_url"           json:"cdn_url"`
	ApiBaseUrl      string `bson:"api_base_url"      json:"api_base_url"`
	ApiSecret       string `bson:"api_secret"        json:"api_secret"`
	ApiSecretHeader string `bson:"api_secret_header" json:"api_secret_header"`
	CdnOriginalUrl  string `bson:"cdn_original_url"  json:"cdn_original_url"`
}

type MidjourneyPricing

type MidjourneyPricing struct {
	Name      string  `bson:"name,omitempty"       json:"name,omitempty"`       // 名称
	Action    string  `bson:"action,omitempty"     json:"action,omitempty"`     // 动作[IMAGINE, UPSCALE, VARIATION, ZOOM, PAN, DESCRIBE, BLEND, SHORTEN, SWAP_FACE]
	Path      string  `bson:"path,omitempty"       json:"path,omitempty"`       // 路径
	OnceRatio float64 `bson:"once_ratio,omitempty" json:"once_ratio,omitempty"` // 一次倍率
}

type MidjourneySpend

type MidjourneySpend struct {
	Pricing     *MidjourneyPricing `bson:"pricing,omitempty"      json:"pricing,omitempty"`      // 定价
	SpendTokens int                `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

type NotRetryError

type NotRetryError struct {
	Open   bool     `bson:"open"   json:"open"`   // 开关
	Errors []string `bson:"errors" json:"errors"` // 错误
}

type NotShieldError

type NotShieldError struct {
	Open   bool     `bson:"open"   json:"open"`   // 开关
	Errors []string `bson:"errors" json:"errors"` // 错误
}

type OncePricing

type OncePricing struct {
	OnceRatio float64 `bson:"once_ratio,omitempty" json:"once_ratio,omitempty"` // 一次倍率
}

type OnceSpend

type OnceSpend struct {
	Pricing      *OncePricing `bson:"pricing,omitempty"       json:"pricing,omitempty"`       // 定价
	SpendTokens  int          `bson:"spend_tokens,omitempty"  json:"spend_tokens,omitempty"`  // 花费Token数
	InputTokens  int          `bson:"input_tokens,omitempty"  json:"input_tokens,omitempty"`  // 输入Token数
	OutputTokens int          `bson:"output_tokens,omitempty" json:"output_tokens,omitempty"` // 输出Token数
}

type PresetConfig

type PresetConfig struct {
	IsSupportSystemRole bool   `bson:"is_support_system_role,omitempty" json:"is_support_system_role,omitempty"` // 是否支持system角色
	SystemRolePrompt    string `bson:"system_role_prompt,omitempty"     json:"system_role_prompt,omitempty"`     // system角色预设提示词
	MinTokens           int    `bson:"min_tokens,omitempty"             json:"min_tokens,omitempty"`             // max_tokens取值的最小值
	MaxTokens           int    `bson:"max_tokens,omitempty"             json:"max_tokens,omitempty"`             // max_tokens取值的最大值
	IsSupportStream     bool   `bson:"is_support_stream,omitempty"      json:"is_support_stream,omitempty"`      // 是否支持流式
}

type Pricing

type Pricing struct {
	BillingRule     int                       `bson:"billing_rule,omitempty"      json:"billing_rule,omitempty"`      // 计费规则[1:按官方, 2:按系统]
	BillingMethods  []int                     `bson:"billing_methods,omitempty"   json:"billing_methods,omitempty"`   // 计费方式[1:按Tokens, 2:按次]
	BillingItems    []string                  `bson:"billing_items,omitempty"     json:"billing_items,omitempty"`     // 计费项[text:文本, text_cache:文本缓存, tiered_text:阶梯文本, tiered_text_cache:阶梯文本缓存, image:图像, image_generation:图像生成, image_cache:图像缓存, vision:识图, audio:音频, audio_cache:音频缓存, video:视频, video_generation:视频生成, video_cache:视频缓存, search:搜索, midjourney:Midjourney, once:一次]
	Text            []*TextPricing            `bson:"text,omitempty"              json:"text,omitempty"`              // 文本
	TextCache       []*CachePricing           `bson:"text_cache,omitempty"        json:"text_cache,omitempty"`        // 文本缓存
	TieredText      []*TextPricing            `bson:"tiered_text,omitempty"       json:"tiered_text,omitempty"`       // 阶梯文本
	TieredTextCache []*CachePricing           `bson:"tiered_text_cache,omitempty" json:"tiered_text_cache,omitempty"` // 阶梯文本缓存
	Image           *ImagePricing             `bson:"image,omitempty"             json:"image,omitempty"`             // 图像
	ImageGeneration []*ImageGenerationPricing `bson:"image_generation,omitempty"  json:"image_generation,omitempty"`  // 图像生成
	ImageCache      *CachePricing             `bson:"image_cache,omitempty"       json:"image_cache,omitempty"`       // 图像缓存
	Vision          []*VisionPricing          `bson:"vision,omitempty"            json:"vision,omitempty"`            // 识图
	Audio           *AudioPricing             `bson:"audio,omitempty"             json:"audio,omitempty"`             // 音频
	AudioCache      *CachePricing             `bson:"audio_cache,omitempty"       json:"audio_cache,omitempty"`       // 音频缓存
	Video           *VideoPricing             `bson:"video,omitempty"             json:"video,omitempty"`             // 视频
	VideoGeneration []*VideoGenerationPricing `bson:"video_generation,omitempty"  json:"video_generation,omitempty"`  // 视频生成
	VideoCache      *CachePricing             `bson:"video_cache,omitempty"       json:"video_cache,omitempty"`       // 视频缓存
	Search          []*SearchPricing          `bson:"search,omitempty"            json:"search,omitempty"`            // 搜索
	Midjourney      []*MidjourneyPricing      `bson:"midjourney,omitempty"        json:"midjourney,omitempty"`        // Midjourney
	Once            *OncePricing              `bson:"once,omitempty"              json:"once,omitempty"`              // 一次
}

type Quota

type Quota struct {
	Warning           bool          `bson:"warning"             json:"warning"`             // 额度预警开关
	Threshold         int           `bson:"threshold"           json:"threshold"`           // 额度预警阈值, 单位: $
	ExpiredWarning    bool          `bson:"expired_warning"     json:"expired_warning"`     // 额度过期预警开关
	ExpiredThreshold  time.Duration `bson:"expired_threshold"   json:"expired_threshold"`   // 额度过期预警阈值, 单位: 天
	ExhaustedNotice   bool          `bson:"exhausted_notice"    json:"exhausted_notice"`    // 额度耗尽通知开关
	ExpiredNotice     bool          `bson:"expired_notice"      json:"expired_notice"`      // 额度过期通知开关
	ExpiredClear      bool          `bson:"expired_clear"       json:"expired_clear"`       // 额度过期清零开关
	ExpiredClearDefer time.Duration `bson:"expired_clear_defer" json:"expired_clear_defer"` // 额度过期清零延迟, 单位: 分钟
}

type Retry

type Retry struct {
	IsRetry    bool   `bson:"is_retry,omitempty"    json:"is_retry,omitempty"`    // 是否重试
	RetryCount int    `bson:"retry_count,omitempty" json:"retry_count,omitempty"` // 重试次数
	ErrMsg     string `bson:"err_msg,omitempty"     json:"err_msg,omitempty"`     // 错误信息
}

type SearchPricing

type SearchPricing struct {
	ContextSize string  `bson:"context_size,omitempty" json:"context_size,omitempty"` // 上下文大小[high, medium, low]
	OnceRatio   float64 `bson:"once_ratio,omitempty"   json:"once_ratio,omitempty"`   // 一次倍率
	IsDefault   bool    `bson:"is_default,omitempty"   json:"is_default,omitempty"`   // 是否默认选项
}

type SearchSpend

type SearchSpend struct {
	Pricing     *SearchPricing `bson:"pricing,omitempty"      json:"pricing,omitempty"`      // 定价
	SpendTokens int            `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

type ServiceUnavailable

type ServiceUnavailable struct {
	Open        bool     `bson:"open"         json:"open"`         // 开关
	IpWhitelist []string `bson:"ip_whitelist" json:"ip_whitelist"` // IP白名单
}

type Spend

type Spend struct {
	BillingRule      int                   `bson:"billing_rule,omitempty"       json:"billing_rule,omitempty"`       // 计费规则[1:按官方, 2:按系统]
	BillingMethods   []int                 `bson:"billing_methods,omitempty"    json:"billing_methods,omitempty"`    // 计费方式[1:按Tokens, 2:按次]
	BillingItems     []string              `bson:"billing_items,omitempty"      json:"billing_items,omitempty"`      // 计费项[text:文本, text_cache:文本缓存, tiered_text:阶梯文本, tiered_text_cache:阶梯文本缓存, image:图像, image_generation:图像生成, image_cache:图像缓存, vision:识图, audio:音频, audio_cache:音频缓存, video:视频, video_generation:视频生成, video_cache:视频缓存, search:搜索, midjourney:Midjourney, once:一次]
	Text             *TextSpend            `bson:"text,omitempty"               json:"text,omitempty"`               // 文本
	TextCache        *CacheSpend           `bson:"text_cache,omitempty"         json:"text_cache,omitempty"`         // 文本缓存
	TieredText       *TextSpend            `bson:"tiered_text,omitempty"        json:"tiered_text,omitempty"`        // 阶梯文本
	TieredTextCache  *CacheSpend           `bson:"tiered_text_cache,omitempty"  json:"tiered_text_cache,omitempty"`  // 阶梯文本缓存
	Image            *ImageSpend           `bson:"image,omitempty"              json:"image,omitempty"`              // 图像
	ImageGeneration  *ImageGenerationSpend `bson:"image_generation,omitempty"   json:"image_generation,omitempty"`   // 图像生成
	ImageCache       *CacheSpend           `bson:"image_cache,omitempty"        json:"image_cache,omitempty"`        // 图像缓存
	Vision           *VisionSpend          `bson:"vision,omitempty"             json:"vision,omitempty"`             // 识图
	Audio            *AudioSpend           `bson:"audio,omitempty"              json:"audio,omitempty"`              // 音频
	AudioCache       *CacheSpend           `bson:"audio_cache,omitempty"        json:"audio_cache,omitempty"`        // 音频缓存
	Video            *VideoSpend           `bson:"video,omitempty"              json:"video,omitempty"`              // 视频
	VideoGeneration  *VideoGenerationSpend `bson:"video_generation,omitempty"   json:"video_generation,omitempty"`   // 视频生成
	VideoCache       *CacheSpend           `bson:"video_cache,omitempty"        json:"video_cache,omitempty"`        // 视频缓存
	Search           *SearchSpend          `bson:"search,omitempty"             json:"search,omitempty"`             // 搜索
	Midjourney       *MidjourneySpend      `bson:"midjourney,omitempty"         json:"midjourney,omitempty"`         // Midjourney
	Once             *OnceSpend            `bson:"once,omitempty"               json:"once,omitempty"`               // 一次
	GroupId          string                `bson:"group_id,omitempty"           json:"group_id,omitempty"`           // 分组ID
	GroupName        string                `bson:"group_name,omitempty"         json:"group_name,omitempty"`         // 分组名称
	GroupDiscount    float64               `bson:"group_discount,omitempty"     json:"group_discount,omitempty"`     // 分组折扣
	TotalSpendTokens int                   `bson:"total_spend_tokens,omitempty" json:"total_spend_tokens,omitempty"` // 总花费Token数
}

type Statistics

type Statistics struct {
	Open        bool          `bson:"open"         json:"open"`         // 开关
	Cron        string        `bson:"cron"         json:"cron"`         // CRON表达式
	Limit       int64         `bson:"limit"        json:"limit"`        // 查询条数
	LockMinutes time.Duration `bson:"lock_minutes" json:"lock_minutes"` // 锁定时长, 单位: 分钟
}

type TextPricing

type TextPricing struct {
	ServiceTier    string  `bson:"service_tier,omitempty"    json:"service_tier,omitempty"`    // 服务层[all:全部, default:默认, priority:优先, flex:弹性]
	InputRatio     float64 `bson:"input_ratio,omitempty"     json:"input_ratio,omitempty"`     // 输入倍率
	OutputRatio    float64 `bson:"output_ratio,omitempty"    json:"output_ratio,omitempty"`    // 输出倍率
	ReasoningRatio float64 `bson:"reasoning_ratio,omitempty" json:"reasoning_ratio,omitempty"` // 思考倍率
	Mode           string  `bson:"mode,omitempty"            json:"mode,omitempty"`            // 模式[all:全部, thinking:思考, non_thinking:非思考]
	Gt             int     `bson:"gt,omitempty"              json:"gt,omitempty"`              // 大于, 单位: k
	Lte            int     `bson:"lte,omitempty"             json:"lte,omitempty"`             // 小于等于, 单位: k
}

type TextSpend

type TextSpend struct {
	Pricing         *TextPricing `bson:"pricing,omitempty"          json:"pricing,omitempty"`          // 定价
	InputTokens     int          `bson:"input_tokens,omitempty"     json:"input_tokens,omitempty"`     // 输入Token数
	OutputTokens    int          `bson:"output_tokens,omitempty"    json:"output_tokens,omitempty"`    // 输出Token数
	ReasoningTokens int          `bson:"reasoning_tokens,omitempty" json:"reasoning_tokens,omitempty"` // 思考Token数
	SpendTokens     int          `bson:"spend_tokens,omitempty"     json:"spend_tokens,omitempty"`     // 花费Token数
}

type UserLoginRegister

type UserLoginRegister struct {
	AccountLogin  bool `bson:"account_login"  json:"account_login"`  // 账密登录
	EmailLogin    bool `bson:"email_login"    json:"email_login"`    // 邮箱登录
	EmailRegister bool `bson:"email_register" json:"email_register"` // 邮箱注册
	EmailRetrieve bool `bson:"email_retrieve" json:"email_retrieve"` // 找回密码
	SessionExpire int  `bson:"session_expire" json:"session_expire"` // 会话过期, 单位: 秒
}

type UserShieldError

type UserShieldError struct {
	Open   bool     `bson:"open"   json:"open"`   // 开关
	Errors []string `bson:"errors" json:"errors"` // 错误
}

type VideoGenerationPricing

type VideoGenerationPricing struct {
	Width     int     `bson:"width,omitempty"      json:"width,omitempty"`      // 宽度
	Height    int     `bson:"height,omitempty"     json:"height,omitempty"`     // 高度
	OnceRatio float64 `bson:"once_ratio"           json:"once_ratio,omitempty"` // 一次倍率
	IsDefault bool    `bson:"is_default,omitempty" json:"is_default,omitempty"` // 是否默认选项
}

type VideoGenerationSpend

type VideoGenerationSpend struct {
	Pricing     *VideoGenerationPricing `bson:"pricing,omitempty"      json:"pricing,omitempty"`      // 定价
	Seconds     int                     `bson:"seconds,omitempty"      json:"seconds,omitempty"`      // 秒数
	SpendTokens int                     `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

type VideoPricing

type VideoPricing struct {
	InputRatio  float64 `bson:"input_ratio"  json:"input_ratio,omitempty"`  // 输入倍率
	OutputRatio float64 `bson:"output_ratio" json:"output_ratio,omitempty"` // 输出倍率
}

type VideoSpend

type VideoSpend struct {
	Pricing      *VideoPricing `bson:"pricing,omitempty"       json:"pricing,omitempty"`       // 定价
	InputTokens  int           `bson:"input_tokens,omitempty"  json:"input_tokens,omitempty"`  // 输入Token数
	OutputTokens int           `bson:"output_tokens,omitempty" json:"output_tokens,omitempty"` // 输出Token数
	SpendTokens  int           `bson:"spend_tokens,omitempty"  json:"spend_tokens,omitempty"`  // 花费Token数
}

type VideoTask

type VideoTask struct {
	Open                 bool          `bson:"open"                   json:"open"`                         // 开关
	Cron                 string        `bson:"cron"                   json:"cron"`                         // CRON表达式
	LockMinutes          time.Duration `bson:"lock_minutes"           json:"lock_minutes"`                 // 锁定时长, 单位: 分钟
	IsEnableStorage      bool          `bson:"is_enable_storage"      json:"is_enable_storage"`            // 是否启用存储
	StorageDir           string        `bson:"storage_dir"            json:"storage_dir"`                  // 存储目录
	StorageBaseUrl       string        `bson:"storage_base_url"       json:"storage_base_url"`             // 访问地址
	StorageExpiresAt     time.Duration `bson:"storage_expires_at"     json:"storage_expires_at,omitempty"` // 存储过期时间, 单位: 分钟
	StorageExpiredDelete bool          `bson:"storage_expired_delete" json:"storage_expired_delete"`       // 存储过期删除开关
}

type VisionPricing

type VisionPricing struct {
	Mode      string  `bson:"mode,omitempty"       json:"mode,omitempty"`       // 模式[low, high, auto]
	OnceRatio float64 `bson:"once_ratio,omitempty" json:"once_ratio,omitempty"` // 一次倍率
	IsDefault bool    `bson:"is_default,omitempty" json:"is_default,omitempty"` // 是否默认选项
}

type VisionSpend

type VisionSpend struct {
	Pricing     *VisionPricing `bson:"pricing,omitempty"      json:"pricing,omitempty"`      // 定价
	SpendTokens int            `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL