common

package
v2.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 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"` // 会话过期, 单位: 秒
	Path          string `bson:"path"           json:"path"`           // 登录路径
}

type Announcement

type Announcement struct {
	Content string `bson:"content,omitempty"  json:"content,omitempty"`  // 公告内容
	JumpUrl string `bson:"jump_url,omitempty" json:"jump_url,omitempty"` // 跳转URL
}

type AudioPricing

type AudioPricing struct {
	InputRatio  float64 `bson:"input_ratio"  json:"input_ratio,omitempty"`  // 输入倍率
	OutputRatio float64 `bson:"output_ratio" 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  float64       `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 BatchTask

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

type CachePricing

type CachePricing struct {
	ServiceTier string  `bson:"service_tier,omitempty" json:"service_tier,omitempty"` // 服务层[all:全部, default:默认, priority:优先, flex:弹性]
	ReadRatio   float64 `bson:"read_ratio"             json:"read_ratio,omitempty"`   // 读取/命中倍率
	WriteRatio  float64 `bson:"write_ratio"            json:"write_ratio,omitempty"`  // 写入倍率
	Mode        string  `bson:"mode,omitempty"         json:"mode,omitempty"`         // 模式[all:全部, thinking:思考, non_thinking:非思考]
	Gt          int     `bson:"gt"                     json:"gt"`                     // 大于, 单位: k
	Lte         int     `bson:"lte"                    json:"lte"`                    // 小于等于, 单位: 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 float64       `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}
type Carousel struct {
	ImageUrl string `bson:"image_url,omitempty" json:"image_url,omitempty"` // 图像URL
	JumpUrl  string `bson:"jump_url,omitempty"  json:"jump_url,omitempty"`  // 跳转URL
}

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 Document

type Document struct {
	Title   string `bson:"title,omitempty"    json:"title,omitempty"`    // 文档标题
	JumpUrl string `bson:"jump_url,omitempty" json:"jump_url,omitempty"` // 跳转URL
}

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:已用额度]
	ForwardMode       int      `bson:"forward_mode,omitempty"   json:"forward_mode,omitempty"`        // 转发模式[1:固定, 2:轮询]
	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,4]时的目标模型
	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"`       // 转发规则为[1,2]时的目标模型
	ContentLength     int      `bson:"content_length,omitempty" json:"content_length,omitempty"`      // 转发规则为3时的内容长度
	UsedQuota         float64  `bson:"used_quota,omitempty"     json:"used_quota,omitempty"`          // 转发规则为4时的已用额度
	TargetModelName   string   `bson:"-"                        json:"target_model_name,omitempty"`   // 转发规则为[1,3,4]时的目标模型名称
	DecisionModelName string   `bson:"-"                        json:"decision_model_name,omitempty"` // 转发规则为2时并且匹配规则为1时的判定模型名称
	TargetModelNames  []string `bson:"-"                        json:"target_model_names,omitempty"`  // 转发规则为[1,2]时的目标模型名称
}

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"           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 float64                 `bson:"spend_tokens,omitempty" json:"spend_tokens,omitempty"` // 花费Token数
}

type ImagePricing

type ImagePricing struct {
	InputRatio  float64 `bson:"input_ratio"  json:"input_ratio,omitempty"`  // 输入倍率
	OutputRatio float64 `bson:"output_ratio" 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  float64       `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"`   // 音频日志保留天数
	VideoReserve   time.Duration `bson:"video_reserve"   json:"video_reserve"`   // 视频日志保留天数
	FileReserve    time.Duration `bson:"file_reserve"    json:"file_reserve"`    // 文件日志保留天数
	BatchReserve   time.Duration `bson:"batch_reserve"   json:"batch_reserve"`   // 批处理日志保留天数
	GeneralReserve time.Duration `bson:"general_reserve" json:"general_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    []smodel.ToolCall    `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"       json:"once_ratio,omitempty"` // 一次倍率
}

type MidjourneySpend

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

type ModelStat

type ModelStat struct {
	ModelId        string  `bson:"model_id,omitempty"        json:"model_id,omitempty"`        // 模型ID
	Model          string  `bson:"model,omitempty"           json:"model,omitempty"`           // 模型
	Total          int     `bson:"total,omitempty"           json:"total,omitempty"`           // 总数
	Tokens         float64 `bson:"tokens,omitempty"          json:"tokens,omitempty"`          // 令牌数
	Abnormal       int     `bson:"abnormal,omitempty"        json:"abnormal,omitempty"`        // 异常数
	AbnormalTokens float64 `bson:"abnormal_tokens,omitempty" json:"abnormal_tokens,omitempty"` // 异常令牌数
}

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 Notice

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

type OncePricing

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

type OnceSpend

type OnceSpend struct {
	Pricing      *OncePricing `bson:"pricing,omitempty"       json:"pricing,omitempty"`       // 定价
	SpendTokens  float64      `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" json:"is_support_system_role,omitempty"` // 是否支持system角色
	SystemRolePrompt    string `bson:"system_role_prompt"     json:"system_role_prompt,omitempty"`     // system角色预设提示词
	MinTokens           int    `bson:"min_tokens"             json:"min_tokens,omitempty"`             // max_tokens取值的最小值
	MaxTokens           int    `bson:"max_tokens"             json:"max_tokens,omitempty"`             // max_tokens取值的最大值
	IsSupportStream     bool   `bson:"is_support_stream"      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 QuotaTask

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

type ResellerLoginRegister

type ResellerLoginRegister 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 ResellerShieldError

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

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"             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 float64        `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 float64               `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 Test

type Test struct {
	Tests []TestItem `bson:"tests" json:"tests"` // 测试
}

type TestItem

type TestItem struct {
	Provider    string `bson:"provider"     json:"provider"`     // 提供商
	Model       string `bson:"model"        json:"model"`        // 模型
	ModelType   int    `bson:"model_type"   json:"model_type"`   // 模型类型
	RequestData string `bson:"request_data" json:"request_data"` // 请求数据
}

type TextPricing

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