SYMBOL INDEX (2665 symbols across 398 files) FILE: adapter/adapter.go function createChatRequest (line 49) | func createChatRequest(conf globals.ChannelConfig, props *adaptercommon.... function createVideoRequest (line 61) | func createVideoRequest(conf globals.ChannelConfig, props *adaptercommon... FILE: adapter/azure/chat.go method GetChatEndpoint (line 12) | func (c *ChatInstance) GetChatEndpoint(props *adaptercommon.ChatProps) s... method GetCompletionPrompt (line 20) | func (c *ChatInstance) GetCompletionPrompt(messages []globals.Message) s... method GetLatestPrompt (line 28) | func (c *ChatInstance) GetLatestPrompt(props *adaptercommon.ChatProps) s... method GetChatBody (line 36) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, strea... method CreateChatRequest (line 60) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProps)... method CreateStreamChatRequest (line 86) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/azure/image.go type ImageProps (line 11) | type ImageProps struct method GetImageEndpoint (line 18) | func (c *ChatInstance) GetImageEndpoint(model string) string { method CreateImageRequest (line 24) | func (c *ChatInstance) CreateImageRequest(props ImageProps) (string, str... method CreateImage (line 56) | func (c *ChatInstance) CreateImage(props *adaptercommon.ChatProps) (stri... FILE: adapter/azure/processor.go function formatMessages (line 12) | func formatMessages(props *adaptercommon.ChatProps) interface{} { function processChatResponse (line 66) | func processChatResponse(data string) *ChatStreamResponse { function processCompletionResponse (line 70) | func processCompletionResponse(data string) *CompletionResponse { function processChatErrorResponse (line 74) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function getChoices (line 78) | func getChoices(form *ChatStreamResponse) *globals.Chunk { function getCompletionChoices (line 92) | func getCompletionChoices(form *CompletionResponse) string { function getRobustnessResult (line 100) | func getRobustnessResult(chunk string) string { method ProcessLine (line 115) | func (c *ChatInstance) ProcessLine(data string, isCompletionType bool) (... FILE: adapter/azure/struct.go type ChatInstance (line 8) | type ChatInstance struct method GetEndpoint (line 14) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 18) | func (c *ChatInstance) GetApiKey() string { method GetResource (line 22) | func (c *ChatInstance) GetResource() string { method GetHeader (line 26) | func (c *ChatInstance) GetHeader() map[string]string { function NewChatInstance (line 33) | func NewChatInstance(endpoint, apiKey string, resource string) *ChatInst... function NewChatInstanceFromConfig (line 41) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/azure/types.go type ImageUrl (line 5) | type ImageUrl struct type MessageContent (line 10) | type MessageContent struct type MessageContents (line 16) | type MessageContents type Message (line 18) | type Message struct type ChatRequest (line 28) | type ChatRequest struct type CompletionRequest (line 43) | type CompletionRequest struct type ChatResponse (line 51) | type ChatResponse struct type ChatStreamResponse (line 67) | type ChatStreamResponse struct type CompletionResponse (line 80) | type CompletionResponse struct type ChatStreamErrorResponse (line 91) | type ChatStreamErrorResponse struct type ImageSize (line 98) | type ImageSize type ImageRequest (line 101) | type ImageRequest struct type ImageResponse (line 108) | type ImageResponse struct FILE: adapter/baichuan/chat.go method GetChatEndpoint (line 11) | func (c *ChatInstance) GetChatEndpoint() string { method GetModel (line 15) | func (c *ChatInstance) GetModel(model string) string { method GetMessages (line 24) | func (c *ChatInstance) GetMessages(messages []globals.Message) []globals... method GetChatBody (line 34) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, strea... method CreateChatRequest (line 46) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProps)... method CreateStreamChatRequest (line 68) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/baichuan/processor.go function processChatResponse (line 10) | func processChatResponse(data string) *ChatStreamResponse { function processChatErrorResponse (line 14) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function getChoices (line 18) | func getChoices(form *ChatStreamResponse) *globals.Chunk { method ProcessLine (line 30) | func (c *ChatInstance) ProcessLine(data string) (*globals.Chunk, error) { FILE: adapter/baichuan/struct.go type ChatInstance (line 9) | type ChatInstance struct method GetEndpoint (line 14) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 18) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 22) | func (c *ChatInstance) GetHeader() map[string]string { function NewChatInstance (line 29) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 36) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/baichuan/types.go type ChatRequest (line 7) | type ChatRequest struct type ChatResponse (line 18) | type ChatResponse struct type ChatStreamResponse (line 34) | type ChatStreamResponse struct type ChatStreamErrorResponse (line 47) | type ChatStreamErrorResponse struct FILE: adapter/bing/chat.go method CreateStreamChatRequest (line 11) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/bing/struct.go type ChatInstance (line 9) | type ChatInstance struct method GetEndpoint (line 14) | func (c *ChatInstance) GetEndpoint() string { function NewChatInstance (line 18) | func NewChatInstance(endpoint, secret string) *ChatInstance { function NewChatInstanceFromConfig (line 25) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/bing/types.go type ChatRequest (line 5) | type ChatRequest struct type ChatResponse (line 11) | type ChatResponse struct FILE: adapter/claude/chat.go constant defaultTokens (line 11) | defaultTokens = 2500 method GetChatEndpoint (line 13) | func (c *ChatInstance) GetChatEndpoint() string { method GetChatHeaders (line 17) | func (c *ChatInstance) GetChatHeaders() map[string]string { method ConvertCompletionMessage (line 26) | func (c *ChatInstance) ConvertCompletionMessage(message []globals.Messag... method GetTokens (line 48) | func (c *ChatInstance) GetTokens(props *adaptercommon.ChatProps) int { method ConvertMessages (line 56) | func (c *ChatInstance) ConvertMessages(props *adaptercommon.ChatProps) [... method GetMessages (line 89) | func (c *ChatInstance) GetMessages(props *adaptercommon.ChatProps) []Mes... method GetSystemPrompt (line 128) | func (c *ChatInstance) GetSystemPrompt(props *adaptercommon.ChatProps) (... method GetChatBody (line 137) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, strea... method ProcessLine (line 151) | func (c *ChatInstance) ProcessLine(data string) (*globals.Chunk, error) { function processChatErrorResponse (line 165) | func processChatErrorResponse(data string) *ChatErrorResponse { function processChatResponse (line 172) | func processChatResponse(data string) *ChatStreamResponse { method CreateStreamChatRequest (line 180) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/claude/struct.go type ChatInstance (line 8) | type ChatInstance struct method GetEndpoint (line 27) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 31) | func (c *ChatInstance) GetApiKey() string { function NewChatInstance (line 13) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 20) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/claude/types.go type Message (line 5) | type Message struct type MessageImage (line 10) | type MessageImage struct type MessageContent (line 16) | type MessageContent struct type ChatBody (line 22) | type ChatBody struct type ChatStreamResponse (line 33) | type ChatStreamResponse struct type ChatErrorResponse (line 42) | type ChatErrorResponse struct FILE: adapter/common/interface.go type Factory (line 7) | type Factory interface type VideoFactory (line 11) | type VideoFactory interface type FactoryCreator (line 15) | type FactoryCreator FILE: adapter/common/types.go type RequestProps (line 8) | type RequestProps struct type VideoProps (line 15) | type VideoProps struct type ChatProps (line 29) | type ChatProps struct method SetupBuffer (line 48) | func (c *ChatProps) SetupBuffer(buf *utils.Buffer) { function CreateChatProps (line 53) | func CreateChatProps(props *ChatProps, buffer *utils.Buffer) *ChatProps { function CreateVideoProps (line 58) | func CreateVideoProps(props *VideoProps) *VideoProps { FILE: adapter/coze/chat.go type ChatInstance (line 15) | type ChatInstance struct method GetEndpoint (line 22) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 26) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 30) | func (c *ChatInstance) GetHeader() map[string]string { method GetChatEndpoint (line 52) | func (c *ChatInstance) GetChatEndpoint() string { method GetChatBody (line 56) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, str... method ProcessLine (line 88) | func (c *ChatInstance) ProcessLine(data string) (string, error) { method CreateChatRequest (line 109) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProp... method CreateStreamChatRequest (line 155) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Ch... function NewChatInstance (line 37) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 45) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) adaptercommon... FILE: adapter/coze/processor.go function processChatResponse (line 12) | func processChatResponse(data string) *ChatResponse { function processChatStreamResponse (line 19) | func processChatStreamResponse(data string) *ChatStreamResponse { function processChatStreamData (line 26) | func processChatStreamData(data string) *ChatStreamData { function processChatErrorResponse (line 33) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function processSSEData (line 40) | func processSSEData(data string) (event string, eventData string, err er... function processEventContent (line 69) | func processEventContent(event string, eventData string) (content string... function parseEventContent (line 116) | func parseEventContent(eventType string, eventData string) (string, erro... function processStreamResponse (line 129) | func processStreamResponse(data string) (*globals.Chunk, bool, error) { FILE: adapter/coze/struct.go type ChatRequest (line 3) | type ChatRequest struct type EnterMessage (line 15) | type EnterMessage struct type ShortcutCommand (line 23) | type ShortcutCommand struct type ObjectString (line 27) | type ObjectString struct type ChatResponse (line 34) | type ChatResponse struct type Usage (line 50) | type Usage struct type ChatStreamResponse (line 56) | type ChatStreamResponse struct type ChatStreamData (line 61) | type ChatStreamData struct type ChatStreamErrorResponse (line 92) | type ChatStreamErrorResponse struct FILE: adapter/dashscope/chat.go constant defaultMaxTokens (line 11) | defaultMaxTokens = 1500 method GetHeader (line 13) | func (c *ChatInstance) GetHeader() map[string]string { method FormatMessages (line 21) | func (c *ChatInstance) FormatMessages(message []globals.Message) []Messa... method GetMaxTokens (line 47) | func (c *ChatInstance) GetMaxTokens(props *adaptercommon.ChatProps) int { method GetTopP (line 56) | func (c *ChatInstance) GetTopP(props *adaptercommon.ChatProps) *float32 { method GetRepeatPenalty (line 71) | func (c *ChatInstance) GetRepeatPenalty(props *adaptercommon.ChatProps) ... method GetChatBody (line 84) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps) ChatR... method GetChatEndpoint (line 102) | func (c *ChatInstance) GetChatEndpoint() string { method CreateStreamChatRequest (line 106) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/dashscope/struct.go type ChatInstance (line 8) | type ChatInstance struct method GetApiKey (line 13) | func (c *ChatInstance) GetApiKey() string { method GetEndpoint (line 17) | func (c *ChatInstance) GetEndpoint() string { function NewChatInstance (line 21) | func NewChatInstance(endpoint string, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 28) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/dashscope/types.go type ChatRequest (line 4) | type ChatRequest struct type Message (line 10) | type Message struct type ChatInput (line 15) | type ChatInput struct type ChatParam (line 19) | type ChatParam struct type ChatResponse (line 30) | type ChatResponse struct FILE: adapter/deepseek/chat.go type ChatInstance (line 11) | type ChatInstance struct method GetEndpoint (line 18) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 22) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 26) | func (c *ChatInstance) GetHeader() map[string]string { method GetChatEndpoint (line 48) | func (c *ChatInstance) GetChatEndpoint() string { method GetChatBody (line 52) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, str... method ProcessLine (line 95) | func (c *ChatInstance) ProcessLine(data string) (string, error) { method CreateChatRequest (line 132) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProp... method CreateStreamChatRequest (line 162) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Ch... function NewChatInstance (line 33) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 41) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) adaptercommon... function processChatResponse (line 74) | func processChatResponse(data string) *ChatResponse { function processChatStreamResponse (line 81) | func processChatStreamResponse(data string) *ChatStreamResponse { function processChatErrorResponse (line 88) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { FILE: adapter/deepseek/struct.go type ChatRequest (line 9) | type ChatRequest struct type ChatResponse (line 21) | type ChatResponse struct type ChatStreamResponse (line 39) | type ChatStreamResponse struct type ChatStreamErrorResponse (line 51) | type ChatStreamErrorResponse struct FILE: adapter/dify/chat.go type ChatInstance (line 14) | type ChatInstance struct method GetEndpoint (line 20) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 24) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 28) | func (c *ChatInstance) GetHeader() map[string]string { method GetChatEndpoint (line 49) | func (c *ChatInstance) GetChatEndpoint() string { method GetChatBody (line 53) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, str... method ProcessLine (line 74) | func (c *ChatInstance) ProcessLine(data string) (string, error) { method CreateChatRequest (line 95) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProp... method CreateStreamChatRequest (line 116) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Ch... function NewChatInstance (line 35) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 42) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) adaptercommon... FILE: adapter/dify/processor.go function processChatResponse (line 10) | func processChatResponse(data string) *ChatResponse { function processChatStreamResponse (line 17) | func processChatStreamResponse(data string) *ChatStreamResponse { function processChatErrorResponse (line 24) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function processStreamResponse (line 31) | func processStreamResponse(data string) (*globals.Chunk, bool, error) { FILE: adapter/dify/struct.go type ChatRequest (line 3) | type ChatRequest struct type File (line 13) | type File struct type ChatResponse (line 20) | type ChatResponse struct type Usage (line 31) | type Usage struct type RetrieverResource (line 37) | type RetrieverResource struct type ChatStreamResponse (line 43) | type ChatStreamResponse struct type ChatStreamErrorResponse (line 59) | type ChatStreamErrorResponse struct FILE: adapter/hunyuan/chat.go method FormatMessages (line 10) | func (c *ChatInstance) FormatMessages(messages []globals.Message) []glob... method CreateStreamChatRequest (line 33) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/hunyuan/sdk.go constant defaultProtocol (line 39) | defaultProtocol = "https" constant defaultHost (line 40) | defaultHost = "hunyuan.cloud.tencent.com" constant path (line 41) | path = "/hyllm/v1/chat/completions?" constant Synchronize (line 45) | Synchronize = iota constant Stream (line 46) | Stream function getUrl (line 49) | func getUrl(endpoint string) string { function getProtocol (line 53) | func getProtocol(endpoint string) string { function getHost (line 62) | func getHost(endpoint string) string { function getFullPath (line 71) | func getFullPath(endpoint string) string { type ResponseChoices (line 75) | type ResponseChoices struct type ResponseUsage (line 81) | type ResponseUsage struct type ResponseError (line 87) | type ResponseError struct type StreamDelta (line 92) | type StreamDelta struct type ChatRequest (line 96) | type ChatRequest struct type ChatResponse (line 108) | type ChatResponse struct type Credential (line 118) | type Credential struct function NewCredential (line 123) | func NewCredential(secretID, secretKey string) *Credential { type Client (line 127) | type Client struct method getHttpReq (line 154) | func (t *Client) getHttpReq(ctx context.Context, req ChatRequest) (*ht... method Chat (line 180) | func (t *Client) Chat(ctx context.Context, req ChatRequest) (<-chan Ch... method synchronize (line 203) | func (t *Client) synchronize(httpResp *http.Response, res chan ChatRes... method stream (line 221) | func (t *Client) stream(httpResp *http.Response, res chan ChatResponse) { method genSignature (line 255) | func (t *Client) genSignature(url string) string { method getMessages (line 263) | func (t *Client) getMessages(messages []globals.Message) string { method buildURL (line 273) | func (t *Client) buildURL(req ChatRequest) string { function NewInstance (line 133) | func NewInstance(appId int64, endpoint string, credential *Credential) *... function NewRequest (line 141) | func NewRequest(mod int, messages []globals.Message, temperature *float3... FILE: adapter/hunyuan/struct.go type ChatInstance (line 9) | type ChatInstance struct method GetAppId (line 16) | func (c *ChatInstance) GetAppId() int64 { method GetEndpoint (line 20) | func (c *ChatInstance) GetEndpoint() string { method GetSecretId (line 24) | func (c *ChatInstance) GetSecretId() string { method GetSecretKey (line 28) | func (c *ChatInstance) GetSecretKey() string { function NewChatInstance (line 32) | func NewChatInstance(endpoint, appId, secretId, secretKey string) *ChatI... function NewChatInstanceFromConfig (line 41) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/midjourney/api.go method GetImagineEndpoint (line 9) | func (c *ChatInstance) GetImagineEndpoint() string { method GetChangeEndpoint (line 13) | func (c *ChatInstance) GetChangeEndpoint() string { method GetImagineRequest (line 17) | func (c *ChatInstance) GetImagineRequest(prompt string) *ImagineRequest { method GetChangeRequest (line 24) | func (c *ChatInstance) GetChangeRequest(action string, task string, inde... method CreateImagineRequest (line 33) | func (c *ChatInstance) CreateImagineRequest(proxy globals.ProxyConfig, p... method CreateChangeRequest (line 52) | func (c *ChatInstance) CreateChangeRequest(proxy globals.ProxyConfig, ac... FILE: adapter/midjourney/chat.go constant maxActions (line 11) | maxActions = 4 constant ImagineAction (line 13) | ImagineAction = "IMAGINE" constant UpscaleAction (line 14) | UpscaleAction = "UPSCALE" constant VariationAction (line 15) | VariationAction = "VARIATION" constant RerollAction (line 16) | RerollAction = "REROLL" constant ImagineCommand (line 20) | ImagineCommand = "/IMAGINE" constant UpscaleCommand (line 21) | UpscaleCommand = "/UPSCALE" constant VariationCommand (line 22) | VariationCommand = "/VARIATION" constant RerollCommand (line 23) | RerollCommand = "/REROLL" type ChatProps (line 26) | type ChatProps struct function getMode (line 31) | func getMode(model string) string { method IsIgnoreMode (line 44) | func (c *ChatInstance) IsIgnoreMode() bool { method GetCleanPrompt (line 50) | func (c *ChatInstance) GetCleanPrompt(model string, prompt string) string { method GetPrompt (line 70) | func (c *ChatInstance) GetPrompt(props *adaptercommon.ChatProps) string { method CreateStreamChatRequest (line 79) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... function toVirtualMessage (line 139) | func toVirtualMessage(message string, model string) string { method CallbackActions (line 144) | func (c *ChatInstance) CallbackActions(props *adaptercommon.ChatProps, f... FILE: adapter/midjourney/expose.go function SaveWhiteList (line 14) | func SaveWhiteList(raw string) { function InWhiteList (line 26) | func InWhiteList(ip string) bool { function NotifyAPI (line 33) | func NotifyAPI(c *gin.Context) { FILE: adapter/midjourney/handler.go constant maxTimeout (line 12) | maxTimeout = 30 * time.Minute function getStatusCode (line 14) | func getStatusCode(action string, response *CommonResponse) error { function getProgress (line 33) | func getProgress(value string) int { method GetAction (line 38) | func (c *ChatInstance) GetAction(command string) string { method ExtractPrompt (line 42) | func (c *ChatInstance) ExtractPrompt(input string) (action string, promp... method ExtractCommand (line 56) | func (c *ChatInstance) ExtractCommand(input string) (task string, index ... method CreateRequest (line 74) | func (c *ChatInstance) CreateRequest(proxy globals.ProxyConfig, action s... method CreateStreamTask (line 87) | func (c *ChatInstance) CreateStreamTask(props *adaptercommon.ChatProps, ... FILE: adapter/midjourney/storage.go function getTaskName (line 9) | func getTaskName(task string) string { function setStorage (line 13) | func setStorage(task string, form StorageForm) error { function getNotifyStorage (line 17) | func getNotifyStorage(task string) *StorageForm { FILE: adapter/midjourney/struct.go type ChatInstance (line 11) | type ChatInstance struct method GetApiSecret (line 16) | func (c *ChatInstance) GetApiSecret() string { method GetEndpoint (line 20) | func (c *ChatInstance) GetEndpoint() string { method GetMidjourneyHeaders (line 24) | func (c *ChatInstance) GetMidjourneyHeaders() map[string]string { method GetNotifyEndpoint (line 38) | func (c *ChatInstance) GetNotifyEndpoint() string { function NewChatInstance (line 42) | func NewChatInstance(endpoint, apiSecret, whiteList string) *ChatInstance { function NewChatInstanceFromConfig (line 51) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/midjourney/types.go constant SuccessCode (line 4) | SuccessCode = 1 constant ExistedCode (line 5) | ExistedCode = 21 constant QueueCode (line 6) | QueueCode = 22 constant MaxQueueCode (line 7) | MaxQueueCode = 23 constant NudeCode (line 8) | NudeCode = 24 constant NotStartStatus (line 12) | NotStartStatus = "NOT_START" constant Submitted (line 13) | Submitted = "SUBMITTED" constant InProgress (line 14) | InProgress = "IN_PROGRESS" constant Failure (line 15) | Failure = "FAILURE" constant Success (line 16) | Success = "SUCCESS" constant TurboMode (line 20) | TurboMode = "--turbo" constant FastMode (line 21) | FastMode = "--fast" constant RelaxMode (line 22) | RelaxMode = "--relax" type CommonHeader (line 27) | type CommonHeader struct type CommonResponse (line 32) | type CommonResponse struct type ImagineRequest (line 38) | type ImagineRequest struct type ChangeRequest (line 43) | type ChangeRequest struct type NotifyForm (line 50) | type NotifyForm struct type StorageForm (line 65) | type StorageForm struct FILE: adapter/openai/chat.go method GetChatEndpoint (line 13) | func (c *ChatInstance) GetChatEndpoint(props *adaptercommon.ChatProps) s... method GetCompletionPrompt (line 20) | func (c *ChatInstance) GetCompletionPrompt(messages []globals.Message) s... method GetLatestPrompt (line 28) | func (c *ChatInstance) GetLatestPrompt(props *adaptercommon.ChatProps) s... method GetChatBody (line 36) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, strea... method CreateChatRequest (line 81) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProps)... function hideRequestId (line 106) | func hideRequestId(message string) string { method CreateStreamChatRequest (line 114) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/openai/image.go type ImageProps (line 11) | type ImageProps struct method GetImageEndpoint (line 18) | func (c *ChatInstance) GetImageEndpoint() string { method CreateImageRequest (line 23) | func (c *ChatInstance) CreateImageRequest(props ImageProps) (string, str... method CreateImage (line 56) | func (c *ChatInstance) CreateImage(props *adaptercommon.ChatProps) (stri... FILE: adapter/openai/processor.go function formatMessages (line 12) | func formatMessages(props *adaptercommon.ChatProps) interface{} { function processChatResponse (line 64) | func processChatResponse(data string) *ChatStreamResponse { function processCompletionResponse (line 68) | func processCompletionResponse(data string) *CompletionResponse { function processChatErrorResponse (line 72) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function getChoices (line 76) | func getChoices(form *ChatStreamResponse) *globals.Chunk { function getCompletionChoices (line 90) | func getCompletionChoices(form *CompletionResponse) string { function getRobustnessResult (line 98) | func getRobustnessResult(chunk string) string { method ProcessLine (line 113) | func (c *ChatInstance) ProcessLine(data string, isCompletionType bool) (... FILE: adapter/openai/struct.go type ChatInstance (line 9) | type ChatInstance struct method GetEndpoint (line 14) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 18) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 22) | func (c *ChatInstance) GetHeader() map[string]string { function NewChatInstance (line 29) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 36) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/openai/types.go type ImageUrl (line 5) | type ImageUrl struct type MessageContent (line 10) | type MessageContent struct type MessageContents (line 16) | type MessageContents type Message (line 18) | type Message struct type ChatRequest (line 29) | type ChatRequest struct type CompletionRequest (line 44) | type CompletionRequest struct type ChatResponse (line 52) | type ChatResponse struct type ChatStreamResponse (line 68) | type ChatStreamResponse struct type CompletionResponse (line 81) | type CompletionResponse struct type ChatStreamErrorResponse (line 92) | type ChatStreamErrorResponse struct type ImageSize (line 99) | type ImageSize type ImageRequest (line 102) | type ImageRequest struct type ImageResponse (line 109) | type ImageResponse struct FILE: adapter/openai/videos.go type VideoRequest (line 11) | type VideoRequest struct type VideoJob (line 19) | type VideoJob struct method getVideoCreateEndpoint (line 38) | func (c *ChatInstance) getVideoCreateEndpoint() string { method getVideoQueryEndpoint (line 42) | func (c *ChatInstance) getVideoQueryEndpoint(id string) string { method CreateVideoRequest (line 46) | func (c *ChatInstance) CreateVideoRequest(props *adaptercommon.VideoProp... FILE: adapter/palm2/chat.go method GetChatEndpoint (line 14) | func (c *ChatInstance) GetChatEndpoint(model string, stream bool) string { method ConvertMessage (line 26) | func (c *ChatInstance) ConvertMessage(message []globals.Message) []PalmM... method GetPalm2ChatBody (line 52) | func (c *ChatInstance) GetPalm2ChatBody(props *adaptercommon.ChatProps) ... method GetGeminiChatBody (line 60) | func (c *ChatInstance) GetGeminiChatBody(props *adaptercommon.ChatProps)... method GetPalm2ChatResponse (line 72) | func (c *ChatInstance) GetPalm2ChatResponse(data interface{}) (string, e... method GetGeminiChatResponse (line 82) | func (c *ChatInstance) GetGeminiChatResponse(data interface{}) (string, ... method CreateChatRequest (line 96) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProps)... method CreateStreamChatRequest (line 122) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... method GetLatestPrompt (line 201) | func (c *ChatInstance) GetLatestPrompt(props *adaptercommon.ChatProps) s... FILE: adapter/palm2/formatter.go function getGeminiRole (line 9) | func getGeminiRole(role string) string { function getMimeType (line 20) | func getMimeType(content string) string { function getGeminiContent (line 46) | func getGeminiContent(parts []GeminiChatPart, content string, model stri... method GetGeminiContents (line 79) | func (c *ChatInstance) GetGeminiContents(model string, message []globals... FILE: adapter/palm2/image.go type ImageProps (line 11) | type ImageProps struct method GetImageEndpoint (line 17) | func (c *ChatInstance) GetImageEndpoint(model string) string { method CreateImageRequest (line 22) | func (c *ChatInstance) CreateImageRequest(props ImageProps) (string, err... method CreateImage (line 60) | func (c *ChatInstance) CreateImage(props *adaptercommon.ChatProps) (stri... FILE: adapter/palm2/struct.go type ChatInstance (line 8) | type ChatInstance struct method GetApiKey (line 13) | func (c *ChatInstance) GetApiKey() string { method GetEndpoint (line 17) | func (c *ChatInstance) GetEndpoint() string { function NewChatInstance (line 21) | func NewChatInstance(endpoint string, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 28) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/palm2/types.go constant GeminiUserType (line 4) | GeminiUserType = "user" constant GeminiModelType (line 5) | GeminiModelType = "model" type PalmMessage (line 8) | type PalmMessage struct type PalmChatBody (line 14) | type PalmChatBody struct type PalmPrompt (line 18) | type PalmPrompt struct type PalmChatResponse (line 23) | type PalmChatResponse struct type GeminiChatBody (line 28) | type GeminiChatBody struct type GeminiConfig (line 33) | type GeminiConfig struct type GeminiContent (line 40) | type GeminiContent struct type GeminiChatPart (line 45) | type GeminiChatPart struct type GeminiInlineData (line 50) | type GeminiInlineData struct type GeminiChatResponse (line 55) | type GeminiChatResponse struct type GeminiChatErrorResponse (line 66) | type GeminiChatErrorResponse struct type GeminiStreamResponse (line 74) | type GeminiStreamResponse struct type ImageRequest (line 86) | type ImageRequest struct type ImageInstance (line 91) | type ImageInstance struct type ImageParameters (line 95) | type ImageParameters struct type ImageResponse (line 102) | type ImageResponse struct type ImagePrediction (line 106) | type ImagePrediction struct FILE: adapter/request.go function IsAvailableError (line 12) | func IsAvailableError(err error) bool { function IsSkipError (line 16) | func IsSkipError(err error) bool { function isQPSOverLimit (line 20) | func isQPSOverLimit(model string, err error) bool { function NewChatRequest (line 27) | func NewChatRequest(conf globals.ChannelConfig, props *adaptercommon.Cha... function NewVideoRequest (line 52) | func NewVideoRequest(conf globals.ChannelConfig, props *adaptercommon.Vi... function ClearMessages (line 77) | func ClearMessages(model string, messages []globals.Message) []globals.M... FILE: adapter/router.go function Register (line 8) | func Register(app *gin.RouterGroup) { FILE: adapter/skylark/chat.go constant defaultMaxTokens (line 15) | defaultMaxTokens int = 4096 function getMessages (line 17) | func getMessages(messages []globals.Message) []*model.ChatCompletionMess... method GetMaxTokens (line 56) | func (c *ChatInstance) GetMaxTokens(token *int) int { method CreateRequest (line 64) | func (c *ChatInstance) CreateRequest(props *adaptercommon.ChatProps) *mo... function getToolCalls (line 79) | func getToolCalls(id string, choiceDelta model.ChatCompletionStreamChoic... function getChoice (line 97) | func getChoice(choice model.ChatCompletionStreamResponse) *globals.Chunk { method CreateStreamChatRequest (line 109) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/skylark/formatter.go function getFunctionCall (line 12) | func getFunctionCall(calls *globals.ToolCalls) *model.FunctionCall { function getType (line 24) | func getType(p globals.ToolProperty) string { function getDescription (line 33) | func getDescription(p globals.ToolProperty) string { function getValue (line 42) | func getValue(p globals.ToolProperty) *structpb.Value { function getFunctions (line 59) | func getFunctions(tools *globals.FunctionTools) []*api.Function { FILE: adapter/skylark/struct.go type ChatInstance (line 10) | type ChatInstance struct function NewChatInstance (line 16) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 26) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/slack/chat.go method CreateStreamChatRequest (line 9) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/slack/struct.go type ChatInstance (line 13) | type ChatInstance struct method GetBotId (line 20) | func (c *ChatInstance) GetBotId() string { method GetToken (line 24) | func (c *ChatInstance) GetToken() string { method GetChannel (line 28) | func (c *ChatInstance) GetChannel() string { method GetInstance (line 32) | func (c *ChatInstance) GetInstance() types.Chat { method FormatMessage (line 58) | func (c *ChatInstance) FormatMessage(message []globals.Message) string { method ProcessPartialResponse (line 70) | func (c *ChatInstance) ProcessPartialResponse(res chan types.PartialRe... function NewChatInstance (line 36) | func NewChatInstance(botId, token, channel string) *ChatInstance { function NewChatInstanceFromConfig (line 50) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/sparkdesk/chat.go function GetToken (line 16) | func GetToken(props *adaptercommon.ChatProps) *int { function GetTopK (line 35) | func GetTopK(props *adaptercommon.ChatProps) *int { method GetMessages (line 47) | func (c *ChatInstance) GetMessages(props *adaptercommon.ChatProps) []Mes... method GetFunctionCalling (line 65) | func (c *ChatInstance) GetFunctionCalling(props *adaptercommon.ChatProps... function getFunctionCall (line 82) | func getFunctionCall(call *FunctionCall) *globals.ToolCalls { function getChoice (line 99) | func getChoice(form *ChatResponse) *globals.Chunk { method CreateStreamChatRequest (line 117) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/sparkdesk/struct.go type ChatInstance (line 15) | type ChatInstance struct method CreateUrl (line 67) | func (c *ChatInstance) CreateUrl(endpoint, host, date, auth string) st... method Sign (line 75) | func (c *ChatInstance) Sign(data, key string) string { method GenerateUrl (line 82) | func (c *ChatInstance) GenerateUrl(endpoint string) string { function TransformAddr (line 22) | func TransformAddr(model string) string { function TransformModel (line 37) | func TransformModel(model string) string { function NewChatInstanceFromConfig (line 56) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/sparkdesk/types.go type ChatRequest (line 6) | type ChatRequest struct type RequestHeader (line 12) | type RequestHeader struct type RequestPayload (line 16) | type RequestPayload struct type FunctionsPayload (line 21) | type FunctionsPayload struct type Message (line 25) | type Message struct type FunctionCall (line 31) | type FunctionCall struct type MessagePayload (line 36) | type MessagePayload struct type RequestParameter (line 40) | type RequestParameter struct type ChatParameter (line 44) | type ChatParameter struct type ChatResponse (line 52) | type ChatResponse struct FILE: adapter/zhinao/chat.go method GetChatEndpoint (line 11) | func (c *ChatInstance) GetChatEndpoint() string { method GetModel (line 15) | func (c *ChatInstance) GetModel(model string) string { method GetChatBody (line 24) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, strea... method CreateChatRequest (line 49) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProps)... method CreateStreamChatRequest (line 71) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/zhinao/processor.go function processFormat (line 11) | func processFormat(data string) string { function processChatResponse (line 27) | func processChatResponse(data string) *ChatStreamResponse { function processChatErrorResponse (line 46) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function isDone (line 60) | func isDone(data string) bool { function getChoices (line 67) | func getChoices(form *ChatStreamResponse) string { method ProcessLine (line 75) | func (c *ChatInstance) ProcessLine(buf, data string) (string, error) { FILE: adapter/zhinao/struct.go type ChatInstance (line 9) | type ChatInstance struct method GetEndpoint (line 14) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 18) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 22) | func (c *ChatInstance) GetHeader() map[string]string { function NewChatInstance (line 29) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 36) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/zhinao/types.go type ChatRequest (line 8) | type ChatRequest struct type ChatResponse (line 20) | type ChatResponse struct type ChatStreamResponse (line 36) | type ChatStreamResponse struct type ChatStreamErrorResponse (line 51) | type ChatStreamErrorResponse struct FILE: adapter/zhipuai/chat.go method GetChatEndpoint (line 12) | func (c *ChatInstance) GetChatEndpoint() string { method GetCompletionPrompt (line 16) | func (c *ChatInstance) GetCompletionPrompt(messages []globals.Message) s... method GetLatestPrompt (line 24) | func (c *ChatInstance) GetLatestPrompt(props *adaptercommon.ChatProps) s... method ConvertModel (line 32) | func (c *ChatInstance) ConvertModel(model string) string { method GetChatBody (line 48) | func (c *ChatInstance) GetChatBody(props *adaptercommon.ChatProps, strea... method CreateChatRequest (line 83) | func (c *ChatInstance) CreateChatRequest(props *adaptercommon.ChatProps)... function hideRequestId (line 104) | func hideRequestId(message string) string { method CreateStreamChatRequest (line 112) | func (c *ChatInstance) CreateStreamChatRequest(props *adaptercommon.Chat... FILE: adapter/zhipuai/processor.go function formatMessages (line 13) | func formatMessages(props *adaptercommon.ChatProps) interface{} { function processChatResponse (line 67) | func processChatResponse(data string) *ChatStreamResponse { function processCompletionResponse (line 71) | func processCompletionResponse(data string) *CompletionResponse { function processChatErrorResponse (line 75) | func processChatErrorResponse(data string) *ChatStreamErrorResponse { function getChoices (line 79) | func getChoices(form *ChatStreamResponse) *globals.Chunk { function getCompletionChoices (line 93) | func getCompletionChoices(form *CompletionResponse) string { function getRobustnessResult (line 101) | func getRobustnessResult(chunk string) string { method ProcessLine (line 116) | func (c *ChatInstance) ProcessLine(data string, isCompletionType bool) (... FILE: adapter/zhipuai/struct.go type ChatInstance (line 14) | type ChatInstance struct method GetEndpoint (line 25) | func (c *ChatInstance) GetEndpoint() string { method GetApiKey (line 29) | func (c *ChatInstance) GetApiKey() string { method GetHeader (line 33) | func (c *ChatInstance) GetHeader() map[string]string { method GetToken (line 40) | func (c *ChatInstance) GetToken() string { type Payload (line 19) | type Payload struct function NewChatInstance (line 63) | func NewChatInstance(endpoint, apiKey string) *ChatInstance { function NewChatInstanceFromConfig (line 70) | func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Facto... FILE: adapter/zhipuai/types.go constant GLM4 (line 6) | GLM4 = "glm-4" constant GLM4Vision (line 7) | GLM4Vision = "glm-4v" constant GLMTurbo (line 8) | GLMTurbo = "glm-3-turbo" constant GLMPro (line 9) | GLMPro = "chatglm_pro" constant GLMStd (line 10) | GLMStd = "chatglm_std" constant GLMLite (line 11) | GLMLite = "chatglm_lite" type ImageUrl (line 14) | type ImageUrl struct type MessageContent (line 19) | type MessageContent struct type MessageContents (line 25) | type MessageContents type Message (line 27) | type Message struct type ChatRequest (line 37) | type ChatRequest struct type CompletionRequest (line 51) | type CompletionRequest struct type ChatResponse (line 59) | type ChatResponse struct type ChatStreamResponse (line 75) | type ChatStreamResponse struct type CompletionResponse (line 88) | type CompletionResponse struct type ChatStreamErrorResponse (line 99) | type ChatStreamErrorResponse struct type ImageSize (line 107) | type ImageSize type ImageRequest (line 110) | type ImageRequest struct type ImageResponse (line 117) | type ImageResponse struct FILE: addition/article/api.go type WebsocketArticleForm (line 12) | type WebsocketArticleForm struct type WebsocketArticleResponse (line 20) | type WebsocketArticleResponse struct function ProjectTarDownloadAPI (line 25) | func ProjectTarDownloadAPI(c *gin.Context) { function ProjectZipDownloadAPI (line 31) | func ProjectZipDownloadAPI(c *gin.Context) { function GenerateAPI (line 37) | func GenerateAPI(c *gin.Context) { FILE: addition/article/generate.go type StreamProgressResponse (line 13) | type StreamProgressResponse struct type Response (line 19) | type Response struct function GenerateArticle (line 24) | func GenerateArticle(c *gin.Context, user *auth.User, model string, hash... function ParseTitle (line 36) | func ParseTitle(titles string) []string { function CreateGenerationWorker (line 47) | func CreateGenerationWorker(c *gin.Context, user *auth.User, model strin... function CreateWorker (line 60) | func CreateWorker(c *gin.Context, user *auth.User, model string, prompt ... FILE: addition/article/utils.go function GenerateDocxFile (line 10) | func GenerateDocxFile(target, title, content string) error { function CreateArticleFile (line 32) | func CreateArticleFile(hash, title, content string) string { FILE: addition/card/card.go type RequestForm (line 12) | type RequestForm struct constant maxColumnPerLine (line 17) | maxColumnPerLine = 50 function ProcessMarkdownLine (line 19) | func ProcessMarkdownLine(source []byte) string { function MarkdownConvert (line 43) | func MarkdownConvert(text string) string { function HandlerAPI (line 52) | func HandlerAPI(c *gin.Context) { FILE: addition/card/utils.php function compress (line 5) | function compress($buffer): array|string|null function fetch (line 12) | function fetch($message, $web): array|string|null function get (line 28) | function get($param, $default = null) FILE: addition/generation/api.go type WebsocketGenerationForm (line 13) | type WebsocketGenerationForm struct function ProjectTarDownloadAPI (line 19) | func ProjectTarDownloadAPI(c *gin.Context) { function ProjectZipDownloadAPI (line 25) | func ProjectZipDownloadAPI(c *gin.Context) { function GenerateAPI (line 31) | func GenerateAPI(c *gin.Context) { FILE: addition/generation/build.go function GetFolder (line 9) | func GetFolder(hash string) string { function GetFolderByHash (line 13) | func GetFolderByHash(model string, prompt string) (string, string) { function GenerateProject (line 18) | func GenerateProject(path string, instance ProjectResult) bool { FILE: addition/generation/generate.go function CreateGenerationWithCache (line 9) | func CreateGenerationWithCache(group, model, prompt string, hook func(bu... FILE: addition/generation/prompt.go type ProjectResult (line 12) | type ProjectResult struct function CreateGeneration (line 16) | func CreateGeneration(group, model, prompt, path string, hook func(buffe... function GenerateMessage (line 45) | func GenerateMessage(prompt string) []globals.Message { FILE: addition/router.go function Register (line 10) | func Register(app *gin.RouterGroup) { FILE: addition/web/call.go type Hook (line 11) | type Hook function toWebSearchingMessage (line 13) | func toWebSearchingMessage(message []globals.Message) []globals.Message { function ToChatSearched (line 25) | func ToChatSearched(instance *conversation.Conversation, restart bool) [... function ToSearched (line 35) | func ToSearched(enable bool, message []globals.Message) []globals.Message { FILE: addition/web/search.go type SearXNGResponse (line 16) | type SearXNGResponse struct function formatResponse (line 41) | func formatResponse(data *SearXNGResponse) string { function createURLParams (line 54) | func createURLParams(query string) string { function createSearXNGRequest (line 70) | func createSearXNGRequest(query string) (*SearXNGResponse, error) { function GenerateSearchResult (line 80) | func GenerateSearchResult(q string) (string, error) { function TestSearch (line 99) | func TestSearch(c *gin.Context) { FILE: admin/analysis/analysis.go type UserTypeForm (line 13) | type UserTypeForm struct function getDates (line 22) | func getDates(t []time.Time) []string { function getFormat (line 28) | func getFormat(t time.Time) string { function getMinuteFormat (line 32) | func getMinuteFormat(t time.Time) string { function GetSubscriptionUsers (line 36) | func GetSubscriptionUsers(db *sql.DB) int64 { function GetBillingToday (line 48) | func GetBillingToday(cache *redis.Client) float32 { function GetBillingYesterday (line 52) | func GetBillingYesterday(cache *redis.Client) float32 { function GetBillingMonth (line 56) | func GetBillingMonth(cache *redis.Client) float32 { function GetBillingLastMonth (line 60) | func GetBillingLastMonth(cache *redis.Client) float32 { function GetTpmToday (line 64) | func GetTpmToday(cache *redis.Client, user string) int64 { function GetRpmToday (line 70) | func GetRpmToday(cache *redis.Client, user string) int64 { function GetModelData (line 76) | func GetModelData(cache *redis.Client) ModelChartForm { function GetSortedModelData (line 97) | func GetSortedModelData(cache *redis.Client) ModelChartForm { function GetRequestData (line 108) | func GetRequestData(cache *redis.Client) RequestChartForm { function GetBillingData (line 119) | func GetBillingData(cache *redis.Client) BillingChartForm { function GetErrorData (line 130) | func GetErrorData(cache *redis.Client) ErrorChartForm { function GetUserTypeData (line 141) | func GetUserTypeData(db *sql.DB) (UserTypeForm, error) { FILE: admin/analysis/format.go function getMonth (line 8) | func getMonth() string { function getLastMonth (line 13) | func getLastMonth() string { function getDay (line 18) | func getDay() string { function getLastDay (line 23) | func getLastDay() string { function getDays (line 28) | func getDays(n int) []time.Time { function getErrorFormat (line 38) | func getErrorFormat(t string) string { function getBillingFormat (line 42) | func getBillingFormat(t string) string { function getMonthBillingFormat (line 46) | func getMonthBillingFormat(t string) string { function getRequestFormat (line 50) | func getRequestFormat(t string) string { function getModelFormat (line 54) | func getModelFormat(t string, model string) string { function getTpmFormat (line 58) | func getTpmFormat(t string, user string) string { function getRpmFormat (line 62) | func getRpmFormat(t string, user string) string { FILE: admin/analysis/statistic.go function IncrErrorRequest (line 12) | func IncrErrorRequest(cache *redis.Client) { function IncrBillingRequest (line 16) | func IncrBillingRequest(cache *redis.Client, amount int64, isAdmin bool) { function IncrRequest (line 26) | func IncrRequest(cache *redis.Client) { function IncrModelRequest (line 30) | func IncrModelRequest(cache *redis.Client, model string, tokens int64) { function AnalyseRequest (line 34) | func AnalyseRequest(model string, user string, buffer *utils.Buffer, err... function IncrTpm (line 57) | func IncrTpm(cache *redis.Client, user string, n int64) { function IncrRpm (line 61) | func IncrRpm(cache *redis.Client, user string, n int64) { FILE: admin/analysis/types.go type ModelData (line 3) | type ModelData struct type ModelChartForm (line 8) | type ModelChartForm struct type RequestChartForm (line 13) | type RequestChartForm struct type BillingChartForm (line 18) | type BillingChartForm struct type ErrorChartForm (line 23) | type ErrorChartForm struct FILE: admin/controller.go type GenerateInvitationForm (line 14) | type GenerateInvitationForm struct type DeleteInvitationForm (line 20) | type DeleteInvitationForm struct type GenerateRedeemForm (line 24) | type GenerateRedeemForm struct type PasswordMigrationForm (line 29) | type PasswordMigrationForm struct type EmailMigrationForm (line 34) | type EmailMigrationForm struct type SetAdminForm (line 39) | type SetAdminForm struct type BanForm (line 44) | type BanForm struct type QuotaOperationForm (line 49) | type QuotaOperationForm struct type SubscriptionOperationForm (line 55) | type SubscriptionOperationForm struct type SubscriptionLevelForm (line 60) | type SubscriptionLevelForm struct type ReleaseUsageForm (line 65) | type ReleaseUsageForm struct type UpdateRootPasswordForm (line 69) | type UpdateRootPasswordForm struct function UpdateMarketAPI (line 73) | func UpdateMarketAPI(c *gin.Context) { function InfoAPI (line 97) | func InfoAPI(c *gin.Context) { function ModelAnalysisAPI (line 111) | func ModelAnalysisAPI(c *gin.Context) { function RequestAnalysisAPI (line 116) | func RequestAnalysisAPI(c *gin.Context) { function BillingAnalysisAPI (line 121) | func BillingAnalysisAPI(c *gin.Context) { function ErrorAnalysisAPI (line 126) | func ErrorAnalysisAPI(c *gin.Context) { function UserTypeAnalysisAPI (line 131) | func UserTypeAnalysisAPI(c *gin.Context) { function RedeemListAPI (line 140) | func RedeemListAPI(c *gin.Context) { function DeleteRedeemAPI (line 147) | func DeleteRedeemAPI(c *gin.Context) { function InvitationPaginationAPI (line 166) | func InvitationPaginationAPI(c *gin.Context) { function DeleteInvitationAPI (line 173) | func DeleteInvitationAPI(c *gin.Context) { function GenerateInvitationAPI (line 191) | func GenerateInvitationAPI(c *gin.Context) { function GenerateRedeemAPI (line 206) | func GenerateRedeemAPI(c *gin.Context) { function UserPaginationAPI (line 221) | func UserPaginationAPI(c *gin.Context) { function UpdatePasswordAPI (line 229) | func UpdatePasswordAPI(c *gin.Context) { function UpdateEmailAPI (line 256) | func UpdateEmailAPI(c *gin.Context) { function SetAdminAPI (line 282) | func SetAdminAPI(c *gin.Context) { function BanAPI (line 308) | func BanAPI(c *gin.Context) { function UserQuotaAPI (line 334) | func UserQuotaAPI(c *gin.Context) { function UserSubscriptionAPI (line 360) | func UserSubscriptionAPI(c *gin.Context) { function SubscriptionLevelAPI (line 394) | func SubscriptionLevelAPI(c *gin.Context) { function ReleaseUsageAPI (line 420) | func ReleaseUsageAPI(c *gin.Context) { function UpdateRootPasswordAPI (line 447) | func UpdateRootPasswordAPI(c *gin.Context) { function ListLoggerAPI (line 473) | func ListLoggerAPI(c *gin.Context) { function DownloadLoggerAPI (line 477) | func DownloadLoggerAPI(c *gin.Context) { function DeleteLoggerAPI (line 482) | func DeleteLoggerAPI(c *gin.Context) { function ConsoleLoggerAPI (line 497) | func ConsoleLoggerAPI(c *gin.Context) { FILE: admin/format.go function getMonth (line 8) | func getMonth() string { function getDay (line 13) | func getDay() string { function getDays (line 18) | func getDays(n int) []time.Time { function getErrorFormat (line 28) | func getErrorFormat(t string) string { function getBillingFormat (line 32) | func getBillingFormat(t string) string { function getMonthBillingFormat (line 36) | func getMonthBillingFormat(t string) string { function getRequestFormat (line 40) | func getRequestFormat(t string) string { function getModelFormat (line 44) | func getModelFormat(t string, model string) string { FILE: admin/instance.go function InitInstance (line 5) | func InitInstance() { FILE: admin/invitation.go function GetInvitationPagination (line 13) | func GetInvitationPagination(db *sql.DB, page int64) PaginationForm { function DeleteInvitationCode (line 63) | func DeleteInvitationCode(db *sql.DB, code string) error { function NewInvitationCode (line 70) | func NewInvitationCode(db *sql.DB, code string, quota float32, t string)... function GenerateInvitations (line 78) | func GenerateInvitations(db *sql.DB, num int, quota float32, t string) I... FILE: admin/logger.go type LogFile (line 11) | type LogFile struct function ListLogs (line 16) | func ListLogs() []LogFile { function getLogPath (line 25) | func getLogPath(path string) string { function getBlobFile (line 29) | func getBlobFile(c *gin.Context, path string) { function deleteLogFile (line 33) | func deleteLogFile(path string) error { function getLatestLogs (line 37) | func getLatestLogs(n int) string { FILE: admin/market.go type ModelTag (line 11) | type ModelTag type MarketModel (line 12) | type MarketModel struct type MarketModelList (line 21) | type MarketModelList type Market (line 23) | type Market struct method GetModels (line 39) | func (m *Market) GetModels() MarketModelList { method GetModel (line 43) | func (m *Market) GetModel(id string) *MarketModel { method SaveConfig (line 52) | func (m *Market) SaveConfig() error { method SetModels (line 56) | func (m *Market) SetModels(models MarketModelList) error { function NewMarket (line 27) | func NewMarket() *Market { FILE: admin/redeem.go function GetRedeemData (line 12) | func GetRedeemData(db *sql.DB, page int64) PaginationForm { function DeleteRedeemCode (line 60) | func DeleteRedeemCode(db *sql.DB, code string) error { function GenerateRedeemCodes (line 68) | func GenerateRedeemCodes(db *sql.DB, num int, quota float32) RedeemGener... function CreateRedeemCode (line 90) | func CreateRedeemCode(db *sql.DB, quota float32) (string, error) { FILE: admin/router.go function Register (line 10) | func Register(app *gin.RouterGroup) { FILE: admin/statistic.go function IncrErrorRequest (line 12) | func IncrErrorRequest(cache *redis.Client) { function IncrBillingRequest (line 16) | func IncrBillingRequest(cache *redis.Client, amount int64) { function IncrRequest (line 21) | func IncrRequest(cache *redis.Client) { function IncrModelRequest (line 25) | func IncrModelRequest(cache *redis.Client, model string, tokens int64) { function AnalyseRequest (line 29) | func AnalyseRequest(model string, buffer *utils.Buffer, err error) { FILE: admin/types.go type InfoForm (line 5) | type InfoForm struct type ModelData (line 14) | type ModelData struct type ModelChartForm (line 19) | type ModelChartForm struct type RequestChartForm (line 24) | type RequestChartForm struct type BillingChartForm (line 29) | type BillingChartForm struct type ErrorChartForm (line 34) | type ErrorChartForm struct type PaginationForm (line 39) | type PaginationForm struct type InvitationData (line 46) | type InvitationData struct type RedeemData (line 56) | type RedeemData struct type InvitationGenerateResponse (line 64) | type InvitationGenerateResponse struct type RedeemGenerateResponse (line 70) | type RedeemGenerateResponse struct type UserData (line 76) | type UserData struct FILE: admin/user.go type AuthLike (line 18) | type AuthLike struct method GetID (line 22) | func (a *AuthLike) GetID(_ *sql.DB) int64 { method HitID (line 26) | func (a *AuthLike) HitID() int64 { function getUsersForm (line 30) | func getUsersForm(db *sql.DB, page int64, search string) PaginationForm { function clearUserCache (line 117) | func clearUserCache(cache *redis.Client) error { function passwordMigration (line 128) | func passwordMigration(db *sql.DB, cache *redis.Client, id int64, passwo... function emailMigration (line 152) | func emailMigration(db *sql.DB, id int64, email string) error { function setAdmin (line 160) | func setAdmin(db *sql.DB, id int64, isAdmin bool) error { function banUser (line 168) | func banUser(db *sql.DB, id int64, isBanned bool) error { function quotaMigration (line 176) | func quotaMigration(db *sql.DB, id int64, quota float32, override bool) ... function subscriptionMigration (line 197) | func subscriptionMigration(db *sql.DB, id int64, expired string) error { function subscriptionLevelMigration (line 205) | func subscriptionLevelMigration(db *sql.DB, id int64, level int64) error { function releaseUsage (line 218) | func releaseUsage(db *sql.DB, cache *redis.Client, id int64) error { function UpdateRootPassword (line 240) | func UpdateRootPassword(db *sql.DB, cache *redis.Client, password string... FILE: app/public/service.js constant SERVICE_NAME (line 2) | const SERVICE_NAME = "coai"; FILE: app/src-tauri/build.rs function main (line 1) | fn main() { FILE: app/src-tauri/src/main.rs function main (line 4) | fn main() { FILE: app/src/App.tsx function App (line 9) | function App() { FILE: app/src/admin/api/channel.ts type ChannelListResponse (line 6) | type ChannelListResponse = CommonResponse & { type GetChannelResponse (line 10) | type GetChannelResponse = CommonResponse & { function listChannel (line 14) | async function listChannel(): Promise { function getChannel (line 23) | async function getChannel(id: number): Promise { function createChannel (line 32) | async function createChannel(channel: Channel): Promise { function updateChannel (line 41) | async function updateChannel( function deleteChannel (line 53) | async function deleteChannel(id: number): Promise { function activateChannel (line 62) | async function activateChannel(id: number): Promise { function deactivateChannel (line 71) | async function deactivateChannel(id: number): Promise { FILE: app/src/admin/api/charge.ts type ChargeListResponse (line 6) | type ChargeListResponse = CommonResponse & { type ChargeSyncRequest (line 10) | type ChargeSyncRequest = { type ChargeFetchRequest (line 15) | type ChargeFetchRequest = { type ChargeFetchResponse (line 20) | type ChargeFetchResponse = CommonResponse & { function listCharge (line 24) | async function listCharge(): Promise { function setCharge (line 33) | async function setCharge(charge: ChargeProps): Promise { function deleteCharge (line 42) | async function deleteCharge(id: number): Promise { function syncCharge (line 51) | async function syncCharge( function fetchUpstreamCharge (line 62) | async function fetchUpstreamCharge( FILE: app/src/admin/api/chart.ts type UserFilterProps (line 26) | type UserFilterProps = { function getAdminInfo (line 44) | async function getAdminInfo(): Promise { function getModelChart (line 56) | async function getModelChart(): Promise { function getRequestChart (line 71) | async function getRequestChart(): Promise { function getBillingChart (line 81) | async function getBillingChart(): Promise { function getErrorChart (line 91) | async function getErrorChart(): Promise { function getUserTypeChart (line 101) | async function getUserTypeChart(): Promise { function getInvitationList (line 118) | async function getInvitationList( function deleteInvitation (line 134) | async function deleteInvitation(code: string): Promise { function generateInvitation (line 143) | async function generateInvitation( function getRedeemList (line 160) | async function getRedeemList(page: number): Promise { function deleteRedeem (line 170) | async function deleteRedeem(code: string): Promise { function generateRedeem (line 179) | async function generateRedeem( function getUserList (line 194) | async function getUserList( function updatePassword (line 218) | async function updatePassword( function updateEmail (line 233) | async function updateEmail( function quotaOperation (line 248) | async function quotaOperation( function subscriptionOperation (line 265) | async function subscriptionOperation( function banUserOperation (line 280) | async function banUserOperation( function setAdminOperation (line 295) | async function setAdminOperation( function subscriptionLevelOperation (line 310) | async function subscriptionLevelOperation( function releaseUsageOperation (line 322) | async function releaseUsageOperation( FILE: app/src/admin/api/info.ts type SiteInfo (line 13) | type SiteInfo = { function getSiteInfo (line 36) | async function getSiteInfo(): Promise { function syncSiteInfo (line 70) | function syncSiteInfo() { FILE: app/src/admin/api/logger.ts type Logger (line 5) | type Logger = { function listLoggers (line 10) | async function listLoggers(): Promise { function getLoggerConsole (line 20) | async function getLoggerConsole(n?: number): Promise { function downloadLogger (line 30) | async function downloadLogger(path: string): Promise { function deleteLogger (line 47) | async function deleteLogger(path: string): Promise { FILE: app/src/admin/api/market.ts function updateMarket (line 6) | async function updateMarket(data: Model[]): Promise { FILE: app/src/admin/api/plan.ts type PlanConfig (line 7) | type PlanConfig = { function getPlanConfig (line 12) | async function getPlanConfig(): Promise { function getExternalPlanConfig (line 28) | async function getExternalPlanConfig( function setPlanConfig (line 35) | async function setPlanConfig( FILE: app/src/admin/api/system.ts type TestWebSearchResponse (line 6) | type TestWebSearchResponse = CommonResponse & { type whiteList (line 10) | type whiteList = { type GeneralState (line 16) | type GeneralState = { type MailState (line 35) | type MailState = { type SearchState (line 45) | type SearchState = { type SecurityState (line 56) | type SecurityState = { type PaymentState (line 73) | type PaymentState = { type SiteState (line 113) | type SiteState = { type CustomState (line 128) | type CustomState = { type AutoTitleState (line 135) | type AutoTitleState = { type CommonState (line 144) | type CommonState = { type SystemProps (line 156) | type SystemProps = { type SystemResponse (line 168) | type SystemResponse = CommonResponse & { function getConfig (line 287) | async function getConfig(): Promise { function setConfig (line 370) | async function setConfig(config: SystemProps): Promise { type UploadResponse (line 379) | type UploadResponse = CommonResponse & { function uploadFavicon (line 383) | async function uploadFavicon(file: File): Promise { function uploadResource (line 399) | async function uploadResource(file: File): Promise { function updateRootPassword (line 421) | async function updateRootPassword( function testWebSearching (line 432) | async function testWebSearching( type AuditTypes (line 445) | enum AuditTypes { FILE: app/src/admin/channel.ts type Channel (line 10) | type Channel = { type proxyType (line 33) | enum proxyType { type ChannelInfo (line 47) | type ChannelInfo = { function getChannelInfo (line 331) | function getChannelInfo(type?: string): ChannelInfo { function getChannelType (line 336) | function getChannelType(type?: string): string { function getShortChannelType (line 341) | function getShortChannelType(type?: string): string { FILE: app/src/admin/charge.ts type ChargeType (line 7) | type ChargeType = (typeof chargeTypes)[number]; type ChargeBaseProps (line 9) | type ChargeBaseProps = { type ChargeProps (line 16) | type ChargeProps = ChargeBaseProps & { FILE: app/src/admin/colors.ts function getUnknownModelColor (line 106) | function getUnknownModelColor(model: string): string { function getModelColor (line 113) | function getModelColor(model: string): string { FILE: app/src/admin/datasets/charge.ts type Currency (line 8) | enum Currency { type PricingItem (line 13) | type PricingItem = { type PricingDataset (line 21) | type PricingDataset = PricingItem[]; FILE: app/src/admin/hook.tsx type onStateChange (line 8) | type onStateChange = (state: boolean, data?: T) => void; FILE: app/src/admin/types.ts type CommonResponse (line 1) | type CommonResponse = { type InfoResponse (line 7) | type InfoResponse = { type ModelChartResponse (line 16) | type ModelChartResponse = { type RequestChartResponse (line 24) | type RequestChartResponse = { type BillingChartResponse (line 29) | type BillingChartResponse = { type ErrorChartResponse (line 34) | type ErrorChartResponse = { type UserTypeChartResponse (line 39) | type UserTypeChartResponse = { type InvitationData (line 48) | type InvitationData = { type InvitationForm (line 58) | type InvitationForm = { type InvitationResponse (line 63) | type InvitationResponse = { type Redeem (line 70) | type Redeem = { type RedeemForm (line 78) | type RedeemForm = { type RedeemResponse (line 83) | type RedeemResponse = CommonResponse & { type InvitationGenerateResponse (line 88) | type InvitationGenerateResponse = { type RedeemGenerateResponse (line 94) | type RedeemGenerateResponse = { type UserData (line 100) | type UserData = { type UserForm (line 115) | type UserForm = { type UserResponse (line 120) | type UserResponse = { FILE: app/src/api/addition.ts type QuotaResponse (line 4) | type QuotaResponse = { type PackageResponse (line 9) | type PackageResponse = { type SubscriptionResponse (line 15) | type SubscriptionResponse = { type BuySubscriptionResponse (line 27) | type BuySubscriptionResponse = { type ApiKeyResponse (line 32) | type ApiKeyResponse = { type ResetApiKeyResponse (line 37) | type ResetApiKeyResponse = { function buyQuota (line 43) | async function buyQuota(quota: number): Promise { function getPackage (line 53) | async function getPackage(): Promise { function getSubscription (line 70) | async function getSubscription(): Promise { function buySubscription (line 95) | async function buySubscription( function getKey (line 108) | async function getKey(): Promise { function regenerateKey (line 124) | async function regenerateKey(): Promise { FILE: app/src/api/auth.ts type LoginForm (line 6) | type LoginForm = { type DeepLoginForm (line 11) | type DeepLoginForm = { type LoginResponse (line 15) | type LoginResponse = { type StateResponse (line 21) | type StateResponse = { type RegisterForm (line 27) | type RegisterForm = { type RegisterResponse (line 35) | type RegisterResponse = { type VerifyForm (line 41) | type VerifyForm = { type VerifyResponse (line 45) | type VerifyResponse = { type ResetForm (line 50) | type ResetForm = { type ResetResponse (line 57) | type ResetResponse = { type UserInfo (line 62) | type UserInfo = { type UserInfoResponse (line 70) | type UserInfoResponse = { function doLogin (line 76) | async function doLogin( function doState (line 83) | async function doState(): Promise { function doRegister (line 88) | async function doRegister( function doVerify (line 103) | async function doVerify( function doReset (line 121) | async function doReset(data: ResetForm): Promise { function sendCode (line 133) | async function sendCode( function getUserInfo (line 161) | async function getUserInfo(): Promise { FILE: app/src/api/broadcast.ts type Broadcast (line 4) | type Broadcast = { type BroadcastInfo (line 9) | type BroadcastInfo = Broadcast & { type BroadcastListResponse (line 14) | type BroadcastListResponse = { type CommonBroadcastResponse (line 18) | type CommonBroadcastResponse = { function getRawBroadcast (line 23) | async function getRawBroadcast(): Promise { type BroadcastEvent (line 37) | type BroadcastEvent = { function getBroadcast (line 42) | async function getBroadcast(): Promise { function getBroadcastList (line 66) | async function getBroadcastList(): Promise { function createBroadcast (line 77) | async function createBroadcast( function removeBroadcast (line 96) | async function removeBroadcast( function updateBroadcast (line 111) | async function updateBroadcast( FILE: app/src/api/common.ts type CommonResponse (line 3) | type CommonResponse = { function withNotify (line 11) | function withNotify( FILE: app/src/api/connection.ts type StreamMessage (line 10) | type StreamMessage = { type ChatProps (line 50) | type ChatProps = { type StreamCallback (line 74) | type StreamCallback = (id: number, message: StreamMessage) => void; class Connection (line 76) | class Connection { method constructor (line 83) | public constructor(id: number, callback?: StreamCallback) { method init (line 90) | public init(): void { method reconnect (line 121) | public reconnect(): void { method send (line 125) | public send(data: Record): boolean { method sendWithRetry (line 135) | public sendWithRetry(t: any, data: ChatProps, times?: number): void { method sendEvent (line 169) | public sendEvent(t: any, event: string, data?: string, props?: ChatPro... method sendStopEvent (line 178) | public sendStopEvent(t: any) { method sendRestartEvent (line 182) | public sendRestartEvent(t: any, data?: ChatProps) { method sendMaskEvent (line 186) | public sendMaskEvent(t: any, mask: Mask) { method sendEditEvent (line 190) | public sendEditEvent(t: any, id: number, message: string) { method sendRemoveEvent (line 194) | public sendRemoveEvent(t: any, id: number) { method sendShareEvent (line 198) | public sendShareEvent(t: any, refer: string) { method close (line 202) | public close(): void { method setCallback (line 207) | public setCallback(callback?: StreamCallback): void { method triggerCallback (line 211) | protected triggerCallback(message: StreamMessage): void { method setId (line 215) | public setId(id: number): void { method isReady (line 219) | public isReady(): boolean { method isRunning (line 223) | public isRunning(): boolean { class ConnectionStack (line 230) | class ConnectionStack { method constructor (line 234) | public constructor(callback?: StreamCallback) { method getConnection (line 239) | public getConnection(id: number): Connection | undefined { method createConnection (line 243) | public createConnection(id: number): Connection { method send (line 255) | public send(id: number, t: any, props: ChatProps) { method hasConnection (line 263) | public hasConnection(id: number): boolean { method setCallback (line 267) | public setCallback(callback?: StreamCallback): void { method sendEvent (line 271) | public sendEvent(id: number, t: any, event: string, data?: string) { method sendStopEvent (line 276) | public sendStopEvent(id: number, t: any) { method sendRestartEvent (line 281) | public sendRestartEvent(id: number, t: any, data?: ChatProps) { method sendMaskEvent (line 286) | public sendMaskEvent(id: number, t: any, mask: Mask) { method sendEditEvent (line 291) | public sendEditEvent(id: number, t: any, messageId: number, message: s... method sendRemoveEvent (line 296) | public sendRemoveEvent(id: number, t: any, messageId: number) { method sendShareEvent (line 301) | public sendShareEvent(id: number, t: any, refer: string) { method close (line 306) | public close(id: number): void { method closeAll (line 311) | public closeAll(): void { method reconnect (line 315) | public reconnect(id: number): void { method reconnectAll (line 320) | public reconnectAll(): void { method raiseConnection (line 324) | public raiseConnection(id: number): void { method triggerCallback (line 331) | public triggerCallback(id: number, message: StreamMessage): void { FILE: app/src/api/file.ts type BlobParserResponse (line 4) | type BlobParserResponse = { type FileObject (line 10) | type FileObject = { type Model (line 16) | type Model = { type FileArray (line 23) | type FileArray = FileObject[]; function fileToBase64 (line 25) | async function fileToBase64(file: File): Promise { function checkFileSuffix (line 34) | function checkFileSuffix( function quickBlobParser (line 47) | async function quickBlobParser( function blobParser (line 103) | async function blobParser( FILE: app/src/api/generation.ts type GenerationForm (line 6) | type GenerationForm = { type GenerationSegmentResponse (line 12) | type GenerationSegmentResponse = { type MessageEvent (line 21) | type MessageEvent = { class GenerationManager (line 26) | class GenerationManager { method constructor (line 35) | constructor() { method setProcessingChangeHandler (line 41) | public setProcessingChangeHandler( method setMessageHandler (line 47) | public setMessageHandler(handler: (message: MessageEvent) => void): vo... method setErrorHandler (line 51) | public setErrorHandler(handler: (error: string) => void): void { method setFinishedHandler (line 55) | public setFinishedHandler(handler: (hash: string) => void): void { method isProcessing (line 59) | public isProcessing(): boolean { method setProcessing (line 63) | protected setProcessing(processing: boolean): boolean { method getConnection (line 73) | public getConnection(): WebSocket | null { method handleMessage (line 77) | protected handleMessage(message: GenerationSegmentResponse): void { method generate (line 96) | public generate(prompt: string, model: string) { method generateWithBlock (line 115) | public generateWithBlock(prompt: string, model: string): boolean { FILE: app/src/api/history.ts function getConversationList (line 10) | async function getConversationList(): Promise { function updateConversationList (line 22) | async function updateConversationList( function loadConversation (line 29) | async function loadConversation( function deleteConversation (line 114) | async function deleteConversation(id: number): Promise { function renameConversation (line 124) | async function renameConversation( function deleteAllConversations (line 137) | async function deleteAllConversations(): Promise { FILE: app/src/api/mask.ts type ListMaskResponse (line 6) | type ListMaskResponse = CommonResponse & { function listMasks (line 10) | async function listMasks(): Promise { function saveMask (line 28) | async function saveMask(mask: CustomMask): Promise { function deleteMask (line 40) | async function deleteMask(id: number): Promise { FILE: app/src/api/plugin.ts type ListPluginResponse (line 5) | type ListPluginResponse = CommonResponse & { type TestPluginResponse (line 9) | type TestPluginResponse = CommonResponse & { function listPlugins (line 19) | async function listPlugins(): Promise { function savePlugin (line 37) | async function savePlugin(plugin: Partial): Promise { function testPlugin (line 61) | async function testPlugin(serverUrl: string): Promise { function formatToolCallResult (line 75) | function formatToolCallResult(result: string): string { function parseMCPInput (line 105) | function parseMCPInput(input: string): { FILE: app/src/api/quota.ts function getQuota (line 3) | async function getQuota(): Promise { FILE: app/src/api/record.ts type Record (line 4) | type Record = { type RecordData (line 20) | type RecordData = { type RecordStats (line 25) | type RecordStats = { type RecordQuery (line 34) | type RecordQuery = { type ListRecordsResponse (line 44) | type ListRecordsResponse = CommonResponse & { type RecordStatsResponse (line 48) | type RecordStatsResponse = CommonResponse & { type RecordType (line 52) | enum RecordType { function listRecords (line 66) | async function listRecords( function getRecordStats (line 85) | async function getRecordStats(): Promise { FILE: app/src/api/redeem.ts type RedeemResponse (line 4) | type RedeemResponse = { function useRedeem (line 10) | async function useRedeem(code: string): Promise { FILE: app/src/api/sharing.ts type SharingForm (line 4) | type SharingForm = { type SharingPreviewForm (line 10) | type SharingPreviewForm = { type ViewData (line 17) | type ViewData = { type ViewForm (line 25) | type ViewForm = { type ListSharingResponse (line 31) | type ListSharingResponse = { type DeleteSharingResponse (line 37) | type DeleteSharingResponse = { function shareConversation (line 42) | async function shareConversation( function viewConversation (line 54) | async function viewConversation(hash: string): Promise { function listSharing (line 67) | async function listSharing(): Promise { function deleteSharing (line 79) | async function deleteSharing( function getSharedLink (line 93) | function getSharedLink(hash: string): string { FILE: app/src/api/types.tsx type Role (line 10) | type Role = typeof UserRole | typeof AssistantRole | typeof SystemRole; type Message (line 28) | type Message = { type Model (line 74) | type Model = { type Id (line 93) | type Id = number; type ConversationInstance (line 95) | type ConversationInstance = { type PlanItem (line 103) | type PlanItem = { type Plan (line 111) | type Plan = { type Plans (line 118) | type Plans = Plan[]; function newModel (line 120) | function newModel(id: string, name?: string, avatar?: string): Model { FILE: app/src/api/v1.ts type v1Options (line 6) | type v1Options = { type v1Models (line 10) | type v1Models = { type v1ModelItem (line 15) | type v1ModelItem = type v1Resp (line 24) | type v1Resp = { type v1ApiKey (line 30) | type v1ApiKey = { function getModelName (line 60) | function getModelName(id: string): string { function getV1Path (line 81) | function getV1Path(path: string, options?: v1Options): string { function getApiModels (line 88) | async function getApiModels( function getApiPlans (line 121) | async function getApiPlans(options?: v1Options): Promise { function getApiMarket (line 132) | async function getApiMarket(options?: v1Options): Promise { function getFilledApiMarket (line 142) | async function getFilledApiMarket( function bindMarket (line 172) | async function bindMarket(options?: v1Options): Promise { function getApiCharge (line 190) | async function getApiCharge( function listApiKey (line 202) | async function listApiKey( function updateApiKey (line 214) | async function updateApiKey( function deleteApiKey (line 227) | async function deleteApiKey( type ManifestJson (line 240) | type ManifestJson = { function getManifestJson (line 252) | async function getManifestJson(): Promise { FILE: app/src/components/Avatar.tsx type AvatarProps (line 10) | interface AvatarProps extends ImgHTMLAttributes { function checkGravatar (line 14) | async function checkGravatar( function Avatar (line 39) | function Avatar({ username, ...props }: AvatarProps) { FILE: app/src/components/EditorProvider.tsx type RichEditorProps (line 21) | type RichEditorProps = { function RichEditor (line 39) | function RichEditor({ function EditorProvider (line 199) | function EditorProvider(props: RichEditorProps) { function JSONEditorProvider (line 229) | function JSONEditorProvider({ ...props }: RichEditorProps) { FILE: app/src/components/Emoji.tsx function getEmojiSource (line 3) | function getEmojiSource(emoji: string): string { type EmojiProps (line 7) | type EmojiProps = { function Emoji (line 12) | function Emoji({ emoji, className }: EmojiProps) { FILE: app/src/components/ErrorBoundary.tsx type ErrorBoundaryProps (line 9) | type ErrorBoundaryProps = { children: React.ReactNode } & WithTranslation; class ErrorBoundary (line 11) | class ErrorBoundary extends React.Component< method constructor (line 15) | constructor(props: ErrorBoundaryProps) { method getDerivedStateFromError (line 20) | static getDerivedStateFromError(error: Error) { method render (line 24) | render() { FILE: app/src/components/FileProvider.tsx type FileTask (line 47) | type FileTask = { type FileTaskState (line 53) | type FileTaskState = { function fileTaskReducer (line 57) | function fileTaskReducer(state: FileTaskState, action: any): FileTaskSta... type FileProviderProps (line 80) | type FileProviderProps = { function FileProvider (line 85) | function FileProvider({ files, dispatch }: FileProviderProps) { type FileTaskItemProps (line 244) | type FileTaskItemProps = { function FileTaskItem (line 248) | function FileTaskItem({ task }: FileTaskItemProps) { type FileBadgeProps (line 259) | type FileBadgeProps = { function getFileExtension (line 263) | function getFileExtension(name: string) { function getFileIcon (line 267) | function getFileIcon(name: string) { function FileIconObject (line 341) | function FileIconObject({ name }: FileBadgeProps) { function FileBadge (line 351) | function FileBadge({ name }: FileBadgeProps) { type FileListProps (line 416) | type FileListProps = { function FileList (line 421) | function FileList({ value, removeFile }: FileListProps) { type FileInputProps (line 486) | type FileInputProps = { function FileInput (line 493) | function FileInput({ id, loading, className, handleEvent }: FileInputPro... FILE: app/src/components/FileViewer.tsx type FileViewerProps (line 15) | type FileViewerProps = { type viewerType (line 22) | enum viewerType { function FileViewer (line 27) | function FileViewer({ filename, content, children, asChild }: FileViewer... FILE: app/src/components/I18nProvider.tsx function I18nProvider (line 12) | function I18nProvider() { FILE: app/src/components/Loader.tsx type LoaderProps (line 3) | type LoaderProps = { function Loader (line 8) | function Loader({ className, prompt }: LoaderProps) { FILE: app/src/components/MCPResultDebug.tsx type MCPResultDebugProps (line 6) | interface MCPResultDebugProps { function MCPResultDebug (line 16) | function MCPResultDebug({ toolCall }: MCPResultDebugProps): JSX.Element { FILE: app/src/components/MCPResultPanel.tsx type ToolArgumentEditorProps (line 16) | interface ToolArgumentEditorProps { function ToolArgumentEditor (line 22) | function ToolArgumentEditor({ type SingleToolCallPanelProps (line 104) | interface SingleToolCallPanelProps { function SingleToolCallPanel (line 120) | function SingleToolCallPanel({ FILE: app/src/components/Markdown.tsx type MarkdownProps (line 16) | type MarkdownProps = { function MarkdownContent (line 24) | function MarkdownContent({ function Markdown (line 78) | function Markdown({ type CodeMarkdownProps (line 100) | type CodeMarkdownProps = MarkdownProps & { function CodeMarkdown (line 105) | function CodeMarkdown({ FILE: app/src/components/Message.tsx type MessageProps (line 40) | type MessageProps = { function MessageSegment (line 54) | function MessageSegment(props: MessageProps) { type MessageQuotaProps (line 80) | type MessageQuotaProps = { function MessageQuota (line 84) | function MessageQuota({ message }: MessageQuotaProps) { type MessageMenuProps (line 127) | type MessageMenuProps = { function MessageMenu (line 139) | function MessageMenu({ function MessageContent (line 245) | function MessageContent({ FILE: app/src/components/ModelAvatar.tsx type ModelAvatarProps (line 43) | type ModelAvatarProps = { function getAvatarType (line 133) | function getAvatarType(id: string): string | undefined { function ModelAvatar (line 138) | function ModelAvatar({ model, className, size }: ModelAvatarProps) { type ChannelTypeAvatarProps (line 186) | type ChannelTypeAvatarProps = { function ChannelTypeAvatar (line 192) | function ChannelTypeAvatar({ FILE: app/src/components/OperationAction.tsx type ActionProps (line 16) | type ActionProps = ButtonProps & { function OperationAction (line 31) | function OperationAction({ FILE: app/src/components/Paragraph.tsx type ParagraphProps (line 13) | type ParagraphProps = { function Paragraph (line 22) | function Paragraph({ function ParagraphItem (line 58) | function ParagraphItem({ type ParagraphDescriptionProps (line 74) | type ParagraphDescriptionProps = { function ParagraphDescription (line 82) | function ParagraphDescription({ function ParagraphSpace (line 106) | function ParagraphSpace() { function ParagraphFooter (line 110) | function ParagraphFooter({ children }: { children: React.ReactNode }) { FILE: app/src/components/PopupDialog.tsx type popupTypes (line 31) | enum popupTypes { type ParamProps (line 41) | type ParamProps = { type PopupDialogProps (line 46) | type PopupDialogProps = { type PopupFieldProps (line 70) | type PopupFieldProps = PopupDialogProps & { function PopupField (line 75) | function PopupField({ function fixedZero (line 153) | function fixedZero(val: number) { function CalendarComp (line 157) | function CalendarComp(props: { function PopupDialog (line 298) | function PopupDialog(props: PopupDialogProps) { type PopupAlertDialogProps (line 370) | type PopupAlertDialogProps = { function PopupAlertDialog (line 382) | function PopupAlertDialog({ FILE: app/src/components/ProjectLink.tsx function ProjectLink (line 7) | function ProjectLink() { FILE: app/src/components/ReloadService.tsx function ReloadPrompt (line 7) | function ReloadPrompt() { FILE: app/src/components/Require.tsx function Required (line 6) | function Required() { type LengthRangeRequiredProps (line 10) | type LengthRangeRequiredProps = { function LengthRangeRequired (line 17) | function LengthRangeRequired({ type SameRequiredProps (line 41) | type SameRequiredProps = { function SameRequired (line 47) | function SameRequired({ type EmailRequireProps (line 70) | type EmailRequireProps = { function EmailRequire (line 75) | function EmailRequire({ content, hideOnEmpty }: EmailRequireProps) { FILE: app/src/components/SelectGroup.tsx type SingleSelectItemBadgeProps (line 14) | type SingleSelectItemBadgeProps = { type SelectItemBadgeProps (line 22) | type SelectItemBadgeProps = type SelectItemProps (line 26) | type SelectItemProps = { type SelectGroupProps (line 34) | type SelectGroupProps = { function SingleGroupSelectItemBadge (line 48) | function SingleGroupSelectItemBadge(props: SingleSelectItemBadgeProps) { function GroupSelectItemBadge (line 90) | function GroupSelectItemBadge(props: { data: SelectItemBadgeProps }) { function GroupSelectItem (line 98) | function GroupSelectItem(props: SelectItemProps) { function SelectGroupDesktop (line 110) | function SelectGroupDesktop(props: SelectGroupProps) { function SelectGroupMobile (line 184) | function SelectGroupMobile(props: SelectGroupProps) { function SelectGroup (line 232) | function SelectGroup(props: SelectGroupProps) { FILE: app/src/components/ThemeProvider.tsx type Theme (line 10) | type Theme = "dark" | "light" | "system"; type ThemeProviderProps (line 12) | type ThemeProviderProps = { type ThemeProviderState (line 17) | type ThemeProviderState = { function activeTheme (line 23) | function activeTheme(theme: Theme) { function getTheme (line 39) | function getTheme() { function getNextTheme (line 44) | function getNextTheme(current: Theme): Theme { function ThemeProvider (line 63) | function ThemeProvider({ function ThemeToggle (line 114) | function ThemeToggle({ className, size = "icon" }: { className?: string;... FILE: app/src/components/ThinkContent.tsx type ThinkContentProps (line 9) | interface ThinkContentProps { function ThinkContent (line 14) | function ThinkContent({ content, isComplete = true }: ThinkContentProps) { FILE: app/src/components/TickButton.tsx type TickButtonProps (line 5) | interface TickButtonProps extends ButtonProps { function TickButton (line 13) | function TickButton({ function useTicker (line 53) | function useTicker( FILE: app/src/components/Tips.tsx type TipsProps (line 17) | type TipsProps = { function Tips (line 35) | function Tips({ FILE: app/src/components/TrendBadge.tsx type TrendBadgeProps (line 4) | type TrendBadgeProps = { FILE: app/src/components/VoiceProvider.tsx function VoiceAction (line 6) | function VoiceAction() { FILE: app/src/components/WarningButton.tsx type WarningButtonProps (line 18) | type WarningButtonProps = ButtonProps & { function WarningButton (line 26) | function WarningButton({ FILE: app/src/components/admin/ChannelSettings.tsx function reducer (line 30) | function reducer(state: Channel, action: any): Channel { function ChannelSettings (line 142) | function ChannelSettings() { FILE: app/src/components/admin/ChargeWidget.tsx function reducer (line 96) | function reducer(state: ChargeProps, action: any): ChargeProps { function preflight (line 136) | function preflight(state: ChargeProps): ChargeProps { type SyncDialogProps (line 160) | type SyncDialogProps = { function SyncDialog (line 169) | function SyncDialog({ type ChargeActionProps (line 300) | type ChargeActionProps = { function ChargeAction (line 306) | function ChargeAction({ type ChargeAlertProps (line 369) | type ChargeAlertProps = { function ChargeAlert (line 374) | function ChargeAlert({ models, onClick }: ChargeAlertProps) { type ChargeEditorProps (line 403) | type ChargeEditorProps = { function ChargeEditor (line 411) | function ChargeEditor({ type ChargeTableProps (line 671) | type ChargeTableProps = { function ChargeTable (line 677) | function ChargeTable({ data, dispatch, onRefresh }: ChargeTableProps) { function ChargeWidget (line 762) | function ChargeWidget() { FILE: app/src/components/admin/ChartBox.tsx function ChartBox (line 24) | function ChartBox() { FILE: app/src/components/admin/InfoBox.tsx function InfoBox (line 16) | function InfoBox() { FILE: app/src/components/admin/InvitationTable.tsx function GenerateDialog (line 39) | function GenerateDialog({ update }: { update: () => void }) { function InvitationTable (line 143) | function InvitationTable() { FILE: app/src/components/admin/MenuBar.tsx type MenuItemProps (line 26) | type MenuItemProps = { function MenuItem (line 34) | function MenuItem({ title, icon, path, exit, pro }: MenuItemProps) { function MenuBar (line 66) | function MenuBar() { FILE: app/src/components/admin/RedeemTable.tsx function GenerateDialog (line 39) | function GenerateDialog({ update }: { update: () => void }) { function RedeemTable (line 147) | function RedeemTable() { FILE: app/src/components/admin/UserTable.tsx type OperationMenuProps (line 80) | type OperationMenuProps = { type UserType (line 85) | enum UserType { function doToast (line 99) | function doToast(t: any, resp: CommonResponse) { function OperationMenu (line 112) | function OperationMenu({ user, onRefresh }: OperationMenuProps) { function UserTable (line 368) | function UserTable() { FILE: app/src/components/admin/assemblies/BillingChart.tsx type BillingChartProps (line 7) | type BillingChartProps = { function BillingChart (line 11) | function BillingChart({ labels, datasets }: BillingChartProps) { FILE: app/src/components/admin/assemblies/BroadcastTable.tsx type CreateBroadcastDialogProps (line 66) | type CreateBroadcastDialogProps = { function CreateBroadcastDialog (line 70) | function CreateBroadcastDialog(props: CreateBroadcastDialogProps) { type BroadcastItemProps (line 156) | type BroadcastItemProps = { function BroadcastItem (line 161) | function BroadcastItem({ item, onRefresh }: BroadcastItemProps) { function BroadcastTable (line 242) | function BroadcastTable() { FILE: app/src/components/admin/assemblies/ChannelEditor.tsx type CustomActionProps (line 66) | type CustomActionProps = { function CustomAction (line 69) | function CustomAction({ onPost }: CustomActionProps) { function validator (line 98) | function validator(state: Channel): boolean { function handler (line 107) | function handler(data: Channel): Channel { type ChannelEditorProps (line 145) | type ChannelEditorProps = { function ChannelEditor (line 154) | function ChannelEditor({ FILE: app/src/components/admin/assemblies/ChannelTable.tsx type ChannelTableProps (line 56) | type ChannelTableProps = { type TypeBadgeProps (line 65) | type TypeBadgeProps = { function TypeBadge (line 78) | function TypeBadge({ type, className, variant }: TypeBadgeProps) { type SyncDialogProps (line 91) | type SyncDialogProps = { function SyncDialog (line 97) | function SyncDialog({ dispatch, open, setOpen }: SyncDialogProps) { function ChannelTable (line 182) | function ChannelTable({ FILE: app/src/components/admin/assemblies/ErrorChart.tsx type ErrorChartProps (line 7) | type ErrorChartProps = { function ErrorChart (line 11) | function ErrorChart({ labels, datasets }: ErrorChartProps) { FILE: app/src/components/admin/assemblies/ModelChart.tsx type ModelChartProps (line 10) | type ModelChartProps = { function ModelChart (line 18) | function ModelChart({ labels, datasets }: ModelChartProps) { FILE: app/src/components/admin/assemblies/ModelUsageChart.tsx type ModelChartProps (line 10) | type ModelChartProps = { type DataUsage (line 18) | type DataUsage = { function ModelUsageChart (line 23) | function ModelUsageChart({ labels, datasets }: ModelChartProps) { FILE: app/src/components/admin/assemblies/RequestChart.tsx type RequestChartProps (line 7) | type RequestChartProps = { function RequestChart (line 12) | function RequestChart({ labels, datasets }: RequestChartProps) { FILE: app/src/components/admin/assemblies/UserTypeChart.tsx type UserTypeChartProps (line 10) | type UserTypeChartProps = { type UserType (line 14) | enum UserType { type UserStatus (line 22) | type UserStatus = { function UserTypeChart (line 27) | function UserTypeChart({ data }: UserTypeChartProps) { FILE: app/src/components/admin/common/StateBadge.tsx type StateBadgeProps (line 4) | type StateBadgeProps = { function StateBadge (line 8) | function StateBadge({ state }: StateBadgeProps) { FILE: app/src/components/app/Announcement.tsx type AnnouncementProps (line 25) | type AnnouncementProps = { function Announcement (line 32) | function Announcement({ type BroadcastListProps (line 138) | type BroadcastListProps = { function BroadcastList (line 142) | function BroadcastList({ open, setOpen }: BroadcastListProps) { FILE: app/src/components/app/AppProvider.tsx function AppProvider (line 18) | function AppProvider({ children }: { children?: React.ReactNode }) { FILE: app/src/components/app/Contact.tsx function Contact (line 15) | function Contact() { FILE: app/src/components/app/MenuBar.tsx type MenuBarProps (line 29) | type MenuBarProps = { type MenuBarItemProps (line 34) | type MenuBarItemProps = { function MenuBar (line 52) | function MenuBar({ children, className }: MenuBarProps) { FILE: app/src/components/app/NavBar.tsx function NavMenu (line 28) | function NavMenu() { function NavBar (line 47) | function NavBar() { FILE: app/src/components/home/ChatInterface.tsx type ChatInterfaceProps (line 13) | type ChatInterfaceProps = { function ChatInterface (line 30) | function ChatInterface({ scrollable, setTarget }: ChatInterfaceProps) { FILE: app/src/components/home/ChatSpace.tsx function Footer (line 12) | function Footer() { function ChatSpace (line 34) | function ChatSpace() { FILE: app/src/components/home/ChatWrapper.tsx type InterfaceProps (line 39) | type InterfaceProps = { function Interface (line 44) | function Interface(props: InterfaceProps) { function fileReducer (line 49) | function fileReducer(state: FileArray, action: Record): Fil... function ChatWrapper (line 62) | function ChatWrapper() { FILE: app/src/components/home/ConversationItem.tsx type ConversationItemProps (line 31) | type ConversationItemProps = { function ConversationItem (line 39) | function ConversationItem({ FILE: app/src/components/home/MaskEditor.tsx function maskEditorReducer (line 31) | function maskEditorReducer(state: CustomMask, action: any): CustomMask { type RoleActionProps (line 102) | type RoleActionProps = { function RoleAction (line 107) | function RoleAction({ role, onClick }: RoleActionProps) { type MaskActionProps (line 129) | type MaskActionProps = { function MaskAction (line 135) | function MaskAction({ children, disabled, onClick }: MaskActionProps) { type CustomMaskDialogProps (line 146) | type CustomMaskDialogProps = { function MaskEditor (line 153) | function MaskEditor({ FILE: app/src/components/home/ModelArea.tsx function GetModel (line 69) | function GetModel(models: Model[], name: string): Model { type ModelSelectorProps (line 73) | type ModelSelectorProps = { function formatModel (line 77) | function formatModel( function ModelFinder (line 117) | function ModelFinder(props: ModelSelectorProps) { function ModelArea (line 193) | function ModelArea() { FILE: app/src/components/home/SideBar.tsx type Operation (line 47) | type Operation = { type SidebarActionProps (line 52) | type SidebarActionProps = { type ConversationListProps (line 58) | type ConversationListProps = { function SidebarAction (line 64) | function SidebarAction({ function SidebarConversationList (line 195) | function SidebarConversationList({ function SideBar (line 398) | function SideBar() { FILE: app/src/components/home/assemblies/ActionButton.tsx type SendButtonProps (line 16) | type SendButtonProps = { function ActionButton (line 21) | function ActionButton({ onClick, working }: SendButtonProps) { type ActionCommandProps (line 64) | type ActionCommandProps = { function ActionCommand (line 68) | function ActionCommand({ input }: ActionCommandProps) { FILE: app/src/components/home/assemblies/ChatAction.tsx type ChatActionProps (line 31) | type ChatActionProps = { function WebAction (line 87) | function WebAction() { function NewConversationAction (line 159) | function NewConversationAction() { FILE: app/src/components/home/assemblies/ChatInput.tsx type ChatInputProps (line 12) | type ChatInputProps = { function ChatInput (line 20) | function ChatInput({ FILE: app/src/components/home/assemblies/ScrollAction.tsx type ScrollActionProps (line 9) | type ScrollActionProps = { function ScrollAction (line 15) | function ScrollAction( FILE: app/src/components/home/subscription/SubscriptionUsage.tsx type UsageProps (line 3) | type UsageProps = { function SubscriptionUsage (line 11) | function SubscriptionUsage({ name, usage }: UsageProps) { FILE: app/src/components/home/subscription/UpgradePlan.tsx function countPrice (line 36) | function countPrice(data: Plans, base: number, month: number): number { function countUpgradePrice (line 58) | function countUpgradePrice( function getDiscountPercent (line 69) | function getDiscountPercent(data: Plans, base: number, month: number): n... type UpgradeProps (line 89) | type UpgradeProps = { function callBuyAction (line 95) | async function callBuyAction( function callMigrateAction (line 134) | async function callMigrateAction(t: any, level: number): Promise { function Upgrade (line 148) | function Upgrade({ level, current, isYearly }: UpgradeProps) { FILE: app/src/components/markdown/Code.tsx type CodeProps (line 21) | type CodeProps = { function Code (line 29) | function Code({ FILE: app/src/components/markdown/Image.tsx type ImageState (line 18) | enum ImageState { type ImageStateType (line 23) | type ImageStateType = (typeof ImageState)[keyof typeof ImageState]; function Image (line 25) | function Image({ FILE: app/src/components/markdown/Label.tsx type QuotaExceededFormProps (line 20) | type QuotaExceededFormProps = { function QuotaExceededForm (line 27) | function QuotaExceededForm({ type LabelProps (line 120) | type LabelProps = { FILE: app/src/components/markdown/Link.tsx function getSocialIcon (line 5) | function getSocialIcon(url: string) { type LinkProps (line 24) | type LinkProps = { FILE: app/src/components/markdown/Reference.tsx type ReferenceProps (line 5) | interface ReferenceProps { function Reference (line 10) | function Reference({ url, children }: ReferenceProps): JSX.Element { FILE: app/src/components/markdown/Video.tsx type VideoState (line 20) | enum VideoState { type VideoStateType (line 25) | type VideoStateType = (typeof VideoState)[keyof typeof VideoState]; type VideoProps (line 27) | type VideoProps = React.VideoHTMLAttributes & { function Video (line 31) | function Video({ FILE: app/src/components/markdown/VirtualMessage.tsx function getVirtualIcon (line 28) | function getVirtualIcon(command: string) { function getVirualPrompt (line 46) | function getVirualPrompt(command: string) { function GetI18nPrompt (line 80) | function GetI18nPrompt({ command }: { command: string }) { type VirtualPromptProps (line 89) | type VirtualPromptProps = { function VirtualPrompt (line 94) | function VirtualPrompt({ message, children }: VirtualPromptProps) { type VirtualMessageProps (line 130) | type VirtualMessageProps = { function parseMessage (line 135) | function parseMessage(message: string): { prompt: string; model: string } { function VirtualMessage (line 145) | function VirtualMessage({ message, children }: VirtualMessageProps) { FILE: app/src/components/plugins/file.tsx type MarkdownFileProps (line 15) | type MarkdownFileProps = { function MarkdownFile (line 20) | function MarkdownFile({ children, acceptDownload }: MarkdownFileProps) { FILE: app/src/components/plugins/mermaid.tsx type MermaidProps (line 19) | type MermaidProps = { function Mermaid (line 23) | function Mermaid({ children }: MermaidProps) { function MarkdownMermaid (line 86) | function MarkdownMermaid({ children }: { children: React.ReactNode }) { FILE: app/src/components/plugins/progress.tsx type MarkdownProgressbarProps (line 5) | type MarkdownProgressbarProps = { function MarkdownProgressbar (line 9) | function MarkdownProgressbar({ children }: MarkdownProgressbarProps) { FILE: app/src/components/ui/alert-dialog.tsx type AlertDialogEmojiProps (line 82) | type AlertDialogEmojiProps = React.HTMLAttributes & { FILE: app/src/components/ui/badge.tsx type BadgeProps (line 29) | interface BadgeProps type BadgeVariants (line 33) | type BadgeVariants = keyof ReturnType; function Badge (line 35) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: app/src/components/ui/button.tsx type ButtonProps (line 52) | interface ButtonProps type TemporaryButtonProps (line 168) | type TemporaryButtonProps = ButtonProps & { type UploadFileButtonProps (line 190) | type UploadFileButtonProps = ButtonProps & { FILE: app/src/components/ui/calendar.tsx type CalendarProps (line 8) | type CalendarProps = React.ComponentProps; function Calendar (line 10) | function Calendar({ FILE: app/src/components/ui/clickable.tsx type ClickableProps (line 5) | interface ClickableProps FILE: app/src/components/ui/combo-box.tsx type ComboBoxProps (line 20) | type ComboBoxProps = { function Combobox (line 35) | function Combobox({ FILE: app/src/components/ui/command.tsx type CommandDialogProps (line 25) | interface CommandDialogProps extends DialogProps {} FILE: app/src/components/ui/date-picker.tsx type DatePickerProps (line 15) | type DatePickerProps = CalendarProps & { function parseDate (line 21) | function parseDate(value?: string, init?: boolean): Date | undefined { FILE: app/src/components/ui/dialog.tsx type DialogContentProps (line 32) | type DialogContentProps = { FILE: app/src/components/ui/icons/Github.tsx function Github (line 3) | function Github(props: React.SVGProps) { FILE: app/src/components/ui/icons/Send.tsx function Send (line 3) | function Send(props: React.SVGProps) { FILE: app/src/components/ui/input.tsx type InputProps (line 7) | interface InputProps FILE: app/src/components/ui/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: app/src/components/ui/multi-combobox.tsx type MultiComboBoxProps (line 20) | type MultiComboBoxProps = { function MultiCombobox (line 39) | function MultiCombobox({ FILE: app/src/components/ui/number-input.tsx type NumberInputProps (line 7) | interface NumberInputProps extends InputProps { FILE: app/src/components/ui/pagination.tsx type PaginationLinkProps (line 36) | type PaginationLinkProps = { type PaginationActionProps (line 105) | type PaginationActionProps = React.ComponentProps<"div"> & { FILE: app/src/components/ui/radio-box.tsx type RadioBoxItemProps (line 7) | type RadioBoxItemProps = { type RadioBoxProps (line 12) | type RadioBoxProps = { FILE: app/src/components/ui/sheet.tsx type SheetContentProps (line 50) | interface SheetContentProps FILE: app/src/components/ui/skeleton.tsx function Skeleton (line 4) | function Skeleton({ FILE: app/src/components/ui/slider.tsx type SliderProps (line 6) | type SliderProps = { FILE: app/src/components/ui/sonner.tsx type ToasterProps (line 5) | type ToasterProps = React.ComponentProps; FILE: app/src/components/ui/step.tsx type StepProps (line 5) | type StepProps = { function Step (line 12) | function Step({ step, label, children, className, ...props }: StepProps) { FILE: app/src/components/ui/table.tsx type TableProps (line 16) | type TableProps = React.HTMLAttributes & { type Visibility (line 126) | type Visibility = { type VisibilityOptions (line 130) | type VisibilityOptions = { type Column (line 134) | type Column = { key: string; name: string; value: boolean }; type ColumnsVisibilityBarProps (line 172) | type ColumnsVisibilityBarProps = { FILE: app/src/components/ui/textarea.tsx type TextareaProps (line 6) | interface TextareaProps type FlexibleTextareaProps (line 26) | interface FlexibleTextareaProps extends TextareaProps { FILE: app/src/components/ui/toast.tsx type ToastProps (line 113) | type ToastProps = React.ComponentPropsWithoutRef; type ToastActionElement (line 115) | type ToastActionElement = React.ReactElement; FILE: app/src/components/ui/toaster.tsx function Toaster (line 11) | function Toaster() { FILE: app/src/components/ui/use-toast.ts constant TOAST_LIMIT (line 6) | const TOAST_LIMIT = 3; constant TOAST_REMOVE_DELAY (line 7) | const TOAST_REMOVE_DELAY = 1000000; type ToasterToast (line 9) | type ToasterToast = ToastProps & { function genId (line 27) | function genId() { type ActionType (line 32) | type ActionType = typeof actionTypes; type Action (line 34) | type Action = type State (line 52) | interface State { function dispatch (line 152) | function dispatch(action: Action) { type Toast (line 159) | type Toast = Omit; function toast (line 161) | function toast({ ...props }: Toast, timeout?: number) { function useToast (line 194) | function useToast() { FILE: app/src/components/utils/Icon.tsx type Icon (line 3) | type Icon = { function Icon (line 9) | function Icon({ icon, className, id, ...props }: Icon) { FILE: app/src/conf/api.ts type AxiosConfig (line 4) | type AxiosConfig = { function setAxiosConfig (line 9) | function setAxiosConfig(config: AxiosConfig) { FILE: app/src/conf/deeptrain.tsx function goDeepLogin (line 10) | function goDeepLogin() { function DeeptrainOnly (line 17) | function DeeptrainOnly({ children }: { children: React.ReactNode }) { FILE: app/src/conf/env.ts function getDev (line 32) | function getDev(): boolean { function getRestApi (line 39) | function getRestApi(deploy: boolean): string { function getWebsocketApi (line 46) | function getWebsocketApi(deploy: boolean): string { function getTokenField (line 63) | function getTokenField(deploy: boolean): string { function setAppName (line 70) | function setAppName(name: string): void { function setAppLogo (line 81) | function setAppLogo(logo: string): void { function setDocsUrl (line 92) | function setDocsUrl(url: string): void { function setBlobEndpoint (line 101) | function setBlobEndpoint(endpoint: string): void { function setBuyLink (line 110) | function setBuyLink(link: string): void { FILE: app/src/conf/model.ts function getModelFromId (line 3) | function getModelFromId(market: Model[], id: string): Model | undefined { function isHighContextModel (line 7) | function isHighContextModel(market: Model[], id: string): boolean { FILE: app/src/conf/storage.ts function savePreferenceModels (line 4) | function savePreferenceModels(models: Model[]): void { function getPreferenceModels (line 8) | function getPreferenceModels(): string[] { function loadPreferenceModels (line 13) | function loadPreferenceModels(models: Model[]): Model[] { function setOfflineModels (line 33) | function setOfflineModels(models: Model[]): void { function parseOfflineModels (line 37) | function parseOfflineModels(models: string): Model[] { function getOfflineModels (line 70) | function getOfflineModels(): Model[] { function setOfflinePlans (line 75) | function setOfflinePlans(plans: Plan[]): void { function parseOfflinePlans (line 79) | function parseOfflinePlans(plans: string): Plan[] { function getOfflinePlans (line 89) | function getOfflinePlans(): Plan[] { FILE: app/src/conf/subscription.tsx function getPlan (line 9) | function getPlan(data: Plans, level: number): Plan { function getPlanModels (line 14) | function getPlanModels(data: Plans, level: number): string[] { function includingModelFromPlan (line 18) | function includingModelFromPlan( function getPlanPrice (line 26) | function getPlanPrice(data: Plans, level: number): number { function getPlanName (line 30) | function getPlanName(level: number): string { FILE: app/src/dialogs/SettingsDialog.tsx function SettingsDialog (line 46) | function SettingsDialog() { FILE: app/src/dialogs/index.tsx function DialogManager (line 4) | function DialogManager() { FILE: app/src/events/spinner.ts type SpinnerEvent (line 3) | type SpinnerEvent = { FILE: app/src/events/struct.ts type EventCommitterProps (line 1) | type EventCommitterProps = { class EventCommitter (line 6) | class EventCommitter { method constructor (line 12) | constructor({ name, destroyedAfterTrigger = false }: EventCommitterPro... method setTrigger (line 17) | protected setTrigger(trigger: (data: T) => void) { method clearTrigger (line 21) | protected clearTrigger() { method triggerEvent (line 25) | protected triggerEvent(data: T) { method emit (line 32) | public emit(data: T) { method bind (line 36) | public bind(trigger: (data: T) => void) { method addEventListener (line 40) | public addEventListener(listener: (data: T) => void) { method removeEventListener (line 44) | public removeEventListener(listener: (data: T) => void) { method clearEventListener (line 48) | public clearEventListener() { FILE: app/src/i18n.ts function getLanguage (line 47) | function getLanguage(): string { function setLanguage (line 60) | function setLanguage(i18n: any, lang: string): void { FILE: app/src/masks/prompts.ts constant MASKS (line 4) | let MASKS: Mask[] = []; FILE: app/src/masks/types.ts type MaskMessage (line 3) | type MaskMessage = { type Mask (line 8) | type Mask = { type CustomMask (line 18) | type CustomMask = Mask & { FILE: app/src/payment/icons.tsx type IconProps (line 7) | type IconProps = React.SVGProps; function Alipay (line 9) | function Alipay(props: IconProps) { function Wechat (line 22) | function Wechat(props: IconProps) { function Paypal (line 35) | function Paypal(props: IconProps) { function Afdian (line 48) | function Afdian(props: IconProps) { function Stripe (line 65) | function Stripe(props: IconProps) { function QQ (line 78) | function QQ(props: IconProps) { function PaymentIcon (line 115) | function PaymentIcon({ type, ...props }: { type: string } & IconProps) { function PaymentButton (line 120) | function PaymentButton({ FILE: app/src/payment/request.ts type PaymentResponse (line 9) | type PaymentResponse = CommonResponse & { type PaymentStatusResponse (line 16) | type PaymentStatusResponse = CommonResponse & { type PaymentOrder (line 21) | type PaymentOrder = { type PaymentListResponse (line 35) | type PaymentListResponse = CommonResponse & { type RecheckOrderResponse (line 40) | type RecheckOrderResponse = CommonResponse & { function createPaymentOrder (line 45) | async function createPaymentOrder( function getPaymentOrderStatus (line 64) | async function getPaymentOrderStatus( function usePaymentState (line 77) | function usePaymentState(order: string): boolean { function getPaymentOrders (line 97) | async function getPaymentOrders( function recheckOrderStatus (line 114) | async function recheckOrderStatus( FILE: app/src/payment/utils.ts function getDomain (line 3) | function getDomain() { function getDeviceType (line 9) | function getDeviceType() { FILE: app/src/plugin/types.ts type PluginEditorState (line 1) | type PluginEditorState = { type TestResult (line 9) | type TestResult = { type PluginEditorAction (line 19) | type PluginEditorAction = function pluginEditorReducer (line 35) | function pluginEditorReducer( FILE: app/src/router.tsx function AuthRequired (line 317) | function AuthRequired({ children }: { children: React.ReactNode }) { function AuthForbidden (line 332) | function AuthForbidden({ children }: { children: React.ReactNode }) { function AdminRequired (line 347) | function AdminRequired({ children }: { children: React.ReactNode }) { function AppRouter (line 362) | function AppRouter() { FILE: app/src/routes/Account.tsx type AccountCardProps (line 68) | type AccountCardProps = { function AccountCard (line 78) | function AccountCard({ type ShareContentProps (line 124) | type ShareContentProps = { function ShareContent (line 128) | function ShareContent({ data }: ShareContentProps) { function Account (line 193) | function Account() { FILE: app/src/routes/Admin.tsx function Admin (line 10) | function Admin() { FILE: app/src/routes/Article.tsx type ProgressProps (line 29) | type ProgressProps = { function GenerateProgress (line 34) | function GenerateProgress({ function ArticleContent (line 73) | function ArticleContent() { function Wrapper (line 211) | function Wrapper() { function Article (line 229) | function Article() { FILE: app/src/routes/Auth.tsx function DeepAuth (line 24) | function DeepAuth() { function Login (line 84) | function Login() { function Auth (line 220) | function Auth() { FILE: app/src/routes/Forgot.tsx function Forgot (line 24) | function Forgot() { FILE: app/src/routes/Generation.tsx type WrapperProps (line 18) | type WrapperProps = { function Wrapper (line 22) | function Wrapper({ onSend }: WrapperProps) { function Generation (line 153) | function Generation() { FILE: app/src/routes/Home.tsx function Home (line 4) | function Home() { FILE: app/src/routes/Index.tsx type BarItemProps (line 33) | type BarItemProps = { function isPrefix (line 39) | function isPrefix(current: string, path: string): boolean { function BarItem (line 46) | function BarItem({ icon, path, name }: BarItemProps) { function ToolBar (line 96) | function ToolBar() { function Home (line 125) | function Home() { FILE: app/src/routes/Model.tsx type SearchBarProps (line 81) | type SearchBarProps = { function getTags (line 92) | function getTags(model: Model): string[] { function SearchBar (line 104) | function SearchBar({ type ModelProps (line 198) | type ModelProps = React.DetailedHTMLProps< type PriceColumnProps (line 211) | type PriceColumnProps = ChargeBaseProps & { function PriceColumn (line 217) | function PriceColumn({ function ModelItem (line 301) | function ModelItem({ type MarketPlaceProps (line 518) | type MarketPlaceProps = { function MarketPlace (line 524) | function MarketPlace({ search, showPricing, show1mPricing }: MarketPlace... function MarketHeader (line 576) | function MarketHeader() { function MarketFooter (line 607) | function MarketFooter() { function Model (line 630) | function Model() { FILE: app/src/routes/NotFound.tsx function NotFound (line 7) | function NotFound() { FILE: app/src/routes/Register.tsx type CompProps (line 23) | type CompProps = { function Preflight (line 30) | function Preflight({ form, dispatch, setNext }: CompProps) { function doFormat (line 122) | function doFormat(form: RegisterForm): RegisterForm { function Verify (line 133) | function Verify({ form, dispatch, setNext }: CompProps) { function Register (line 235) | function Register() { FILE: app/src/routes/Sharing.tsx type SharingFormProps (line 35) | type SharingFormProps = { function SharingForm (line 40) | function SharingForm({ data }: SharingFormProps) { function Sharing (line 224) | function Sharing() { FILE: app/src/routes/Wallet.tsx type PlanItemProps (line 46) | type PlanItemProps = { function PlanItem (line 51) | function PlanItem({ level, isYearly }: PlanItemProps) { function WalletPlanBox (line 255) | function WalletPlanBox() { function Wallet (line 453) | function Wallet() { FILE: app/src/routes/admin/Broadcast.tsx function Broadcast (line 10) | function Broadcast() { FILE: app/src/routes/admin/Channel.tsx function Channel (line 10) | function Channel() { FILE: app/src/routes/admin/Charge.tsx function Charge (line 10) | function Charge() { FILE: app/src/routes/admin/DashBoard.tsx function DashBoard (line 4) | function DashBoard() { FILE: app/src/routes/admin/License.tsx type ModuleItemProps (line 16) | type ModuleItemProps = { function ModuleItem (line 21) | function ModuleItem({ id, price, bought }: ModuleItemProps) { function License (line 77) | function License() { FILE: app/src/routes/admin/Logger.tsx type LoggerItemProps (line 26) | type LoggerItemProps = Logger & { function LoggerItem (line 29) | function LoggerItem({ path, size, onUpdate }: LoggerItemProps) { function LoggerList (line 68) | function LoggerList() { function LoggerConsole (line 86) | function LoggerConsole() { function Logger (line 196) | function Logger() { FILE: app/src/routes/admin/Market.tsx type Model (line 65) | type Model = RawModel & { type MarketForm (line 69) | type MarketForm = Model[]; function reducer (line 73) | function reducer(state: MarketForm, action: any): MarketForm { type MarketTagsProps (line 340) | type MarketTagsProps = { function MarketTags (line 346) | function MarketTags({ tag, idx, dispatch }: MarketTagsProps) { type MarketImageProps (line 387) | type MarketImageProps = { function CustomMarketImage (line 393) | function CustomMarketImage({ image, idx, dispatch }: MarketImageProps) { type MarketItemProps (line 455) | type MarketItemProps = React.DetailedHTMLProps< function MarketItem (line 468) | function MarketItem({ type MarketGroupProps (line 780) | type MarketGroupProps = { function MarketGroup (line 787) | function MarketGroup({ type SyncDialogProps (line 817) | type SyncDialogProps = { function SyncDialog (line 825) | function SyncDialog({ type MarketAlertProps (line 944) | type MarketAlertProps = { function MarketAlert (line 951) | function MarketAlert({ function Market (line 996) | function Market() { FILE: app/src/routes/admin/Notification.tsx function Notification (line 2) | function Notification() { FILE: app/src/routes/admin/Subscription.tsx function reducer (line 59) | function reducer(state: PlanConfig, action: Record): PlanCo... type ImportActionProps (line 318) | type ImportActionProps = { type ImportActionItem (line 324) | type ImportActionItem = { function ImportAction (line 329) | function ImportAction({ plans, level, dispatch }: ImportActionProps) { function PlanConfig (line 369) | function PlanConfig() { function Subscription (line 789) | function Subscription() { FILE: app/src/routes/admin/System.tsx type CompProps (line 67) | type CompProps = { function RootDialog (line 74) | function RootDialog() { function General (line 150) | function General({ data, dispatch, onChange }: CompProps) { function Mail (line 279) | function Mail({ data, dispatch, onChange }: CompProps) { function Site (line 519) | function Site({ data, dispatch, onChange }: CompProps) { function Common (line 666) | function Common({ form, data, dispatch, onChange }: CompProps) { function System (line 1042) | function System() { FILE: app/src/routes/admin/Users.tsx function Users (line 15) | function Users() { FILE: app/src/routes/admin/common/CommonAdminPage.tsx type CommonAdminPageProps (line 11) | type CommonAdminPageProps = { function CommonAdminPage (line 17) | function CommonAdminPage({ title, children, pro }: CommonAdminPageProps) { FILE: app/src/routes/wallet/AmountItem.tsx type AmountComponentProps (line 10) | type AmountComponentProps = { function QuotaItem (line 18) | function QuotaItem({ amount, active, other, onClick }: AmountComponentPr... type QuotaWrapperProps (line 62) | type QuotaWrapperProps = { function QuotaWrapper (line 70) | function QuotaWrapper({ FILE: app/src/routes/wallet/WalletQuotaBox.tsx function WalletQuotaBox (line 22) | function WalletQuotaBox() { type RedeemComponentProps (line 129) | type RedeemComponentProps = { function RedeemComponent (line 134) | function RedeemComponent({ open, onOpenChanged }: RedeemComponentProps) { FILE: app/src/spinner.tsx function Spinner (line 11) | function Spinner() { FILE: app/src/store/auth.ts function validateToken (line 64) | function validateToken( FILE: app/src/store/avatar.ts type AvatarState (line 3) | interface AvatarState { FILE: app/src/store/chat.ts type ConversationSerialized (line 48) | type ConversationSerialized = { type ConnectionEvent (line 53) | type ConnectionEvent = { type initialStateType (line 60) | type initialStateType = { function inModel (line 75) | function inModel(supportModels: Model[], model: string): boolean { function getModel (line 82) | function getModel( function getModelList (line 90) | function getModelList( function useConversation (line 396) | function useConversation(): ConversationSerialized | undefined { function useConversationActions (line 403) | function useConversationActions() { function useMessageActions (line 471) | function useMessageActions() { function listenMessageEvent (line 588) | function listenMessageEvent() { function useMessages (line 611) | function useMessages(): Message[] { function useWorking (line 623) | function useWorking(): boolean { FILE: app/src/store/globals.ts type GlobalState (line 7) | type GlobalState = { FILE: app/src/store/index.ts type RootState (line 34) | type RootState = ReturnType; type AppDispatch (line 35) | type AppDispatch = typeof store.dispatch; function createCronJob (line 37) | function createCronJob( function clearCronJob (line 47) | function clearCronJob(job: ReturnType) { function clearCronJobs (line 51) | function clearCronJobs(jobs: ReturnType[]) { FILE: app/src/store/info.ts type Currency (line 15) | type Currency = { FILE: app/src/store/record.ts type RecordProps (line 5) | type RecordProps = { FILE: app/src/store/utils.ts function dispatchWrapper (line 4) | function dispatchWrapper( function getSelector (line 13) | function getSelector(reducer: string, key: string) { FILE: app/src/translator/adapter.ts function getFormattedLanguage (line 16) | function getFormattedLanguage(lang: string): string { type translationResponse (line 20) | type translationResponse = { function translate (line 26) | async function translate( function doTranslate (line 42) | function doTranslate( FILE: app/src/translator/index.ts function createTranslationPlugin (line 4) | function createTranslationPlugin(): Plugin { FILE: app/src/translator/io.ts function readJSON (line 4) | function readJSON(...paths: string[]): any { function writeJSON (line 8) | function writeJSON(data: any, ...paths: string[]): void { function getMigration (line 12) | function getMigration( function getFields (line 40) | function getFields(data: any): number { function getTranslation (line 55) | function getTranslation(data: Record, path: string): any { function setTranslation (line 65) | function setTranslation( FILE: app/src/translator/translator.ts function processTranslation (line 16) | async function processTranslation( FILE: app/src/types/performance.d.ts type PerformanceMemory (line 4) | interface PerformanceMemory { type Performance (line 10) | interface Performance { type Window (line 14) | interface Window { FILE: app/src/types/service.d.ts type BeforeInstallPromptEvent (line 17) | interface BeforeInstallPromptEvent extends Event { FILE: app/src/types/ui.d.ts type ToastProps (line 4) | interface ToastProps { type ToastFunc (line 15) | type ToastFunc = (title: string, options?: ToastProps) => void; type ToastPromise (line 16) | type ToastPromise = (promise: Promise, options?: any) => void; FILE: app/src/utils/analytics.ts function initGoogleAnalytics (line 3) | function initGoogleAnalytics(trackingId: string | undefined): void { FILE: app/src/utils/app.ts function triggerInstallApp (line 12) | function triggerInstallApp() { function getMemoryPerformance (line 34) | function getMemoryPerformance(): number { function navigate (line 47) | function navigate(path: string): void { function goAuth (line 54) | function goAuth(): void { FILE: app/src/utils/base.ts function insert (line 3) | function insert(arr: T[], idx: number, value: T): T[] { function insertStart (line 7) | function insertStart(arr: T[], value: T): T[] { function remove (line 11) | function remove(arr: T[], idx: number): T[] { function replace (line 15) | function replace(arr: T[], idx: number, value: T): T[] { function move (line 19) | function move(arr: T[], from: number, to: number): T[] { function asyncCaller (line 24) | function asyncCaller(fn: (...args: any[]) => Promise) { function sum (line 32) | function sum(arr: number[]): number { function average (line 36) | function average(arr: number[]): number { function getUniqueList (line 40) | function getUniqueList(arr: T[]): T[] { function getNumber (line 44) | function getNumber(value: string, supportNegative = true): string { function parseNumber (line 48) | function parseNumber(value: string): number { function splitList (line 52) | function splitList(value: string, separators: string[]): string[] { function getErrorMessage (line 60) | function getErrorMessage(error: any): string { function isAsyncFunc (line 66) | function isAsyncFunc(fn: any): boolean { function generateRandomChar (line 70) | function generateRandomChar(n: number): string { function generateInt (line 78) | function generateInt(min: number, max: number): number { function generateListNumber (line 82) | function generateListNumber(n: number): number { function isUrl (line 86) | function isUrl(value: string): boolean { function isEnter (line 99) | function isEnter( function withCtrl (line 105) | function withCtrl( function withShift (line 112) | function withShift( function resetJsArray (line 118) | function resetJsArray(arr: T[], target: T[]): T[] { function getSizeUnit (line 127) | function getSizeUnit(size: number): string { function getHostName (line 134) | function getHostName(url: string): string { function isB64Image (line 142) | function isB64Image(value: string): boolean { function trimPrefix (line 146) | function trimPrefix(value: string, prefix: string): string { function trimSuffix (line 150) | function trimSuffix(value: string, suffix: string): string { function addPrefix (line 154) | function addPrefix(value: string, prefix: string): string { function addSuffix (line 158) | function addSuffix(value: string, suffix: string): string { function trimPrefixes (line 162) | function trimPrefixes(value: string, prefixes: string[]): string { function trimSuffixes (line 169) | function trimSuffixes(value: string, suffixes: string[]): string { function getFilenameFromURL (line 176) | function getFilenameFromURL(url: string | undefined): string { function formatDecimal (line 182) | function formatDecimal(value: number): string { FILE: app/src/utils/date.ts function convertDate (line 1) | function convertDate(date: Date): string { function convertDateTime (line 6) | function convertDateTime(date: Date): string { FILE: app/src/utils/desktop.ts function isTauri (line 1) | function isTauri(): boolean { FILE: app/src/utils/dev.ts function inWaiting (line 1) | function inWaiting(duration: number): Promise { FILE: app/src/utils/device.ts function isMobile (line 10) | function isMobile(): boolean { function isSafari (line 23) | function isSafari(): boolean { function useMobile (line 32) | function useMobile(): boolean { function openWindow (line 58) | function openWindow(url: string, target?: string): void { function openPage (line 73) | function openPage(url: string): void { function openForm (line 77) | function openForm( FILE: app/src/utils/dom.ts function _copyClipboard (line 6) | async function _copyClipboard(text: string) { function copyClipboard (line 24) | async function copyClipboard(text: string) { function useClipboard (line 40) | function useClipboard() { function saveAsFile (line 70) | function saveAsFile(filename: string, content: string) { function saveBlobAsFile (line 86) | function saveBlobAsFile(filename: string, blob: Blob) { function saveImageAsFile (line 102) | function saveImageAsFile(filename: string, data_url: string) { function getSelectionText (line 117) | function getSelectionText(): string { function getSelectionTextInArea (line 134) | function getSelectionTextInArea(el: HTMLElement): string { function useDraggableInput (line 154) | function useDraggableInput( function testNumberInputEvent (line 185) | function testNumberInputEvent(e: any): boolean { function replaceInputValue (line 209) | function replaceInputValue( function useInputValue (line 225) | function useInputValue(id: string, value: string) { function addEventListener (line 239) | function addEventListener( function addEventListeners (line 260) | function addEventListeners( function scrollDown (line 282) | function scrollDown(el: HTMLElement | null) { function scrollUp (line 298) | function scrollUp(el: HTMLElement | null) { function updateFavicon (line 314) | function updateFavicon(url?: string) { function updateDocumentTitle (line 326) | function updateDocumentTitle(title?: string) { function getQuerySelector (line 337) | function getQuerySelector(query: string): HTMLElement | null { function isContainDom (line 349) | function isContainDom( function convertImgToB64 (line 371) | function convertImgToB64(img: HTMLImageElement): string { FILE: app/src/utils/form.ts function setKey (line 1) | function setKey(state: T, key: string, value: any): T { function isEmailValid (line 36) | function isEmailValid(email: string) { function isInRange (line 40) | function isInRange(value: number, min: number, max: number) { function isTextInRange (line 44) | function isTextInRange(value: string, min: number, max: number) { FILE: app/src/utils/groups.ts function useGroup (line 22) | function useGroup(countAdminLevel?: boolean): string { function hitGroup (line 43) | function hitGroup(group: string[]): boolean { FILE: app/src/utils/hook.ts function useEffectAsync (line 3) | function useEffectAsync(effect: () => Promise, deps?: any[]) { function useAnimation (line 21) | function useAnimation( function useTemporaryState (line 47) | function useTemporaryState(interval?: number): { FILE: app/src/utils/loader.tsx function lazyFactor (line 9) | function lazyFactor>( FILE: app/src/utils/memory.ts function setMemory (line 1) | function setMemory(key: string, value: string) { function setBooleanMemory (line 6) | function setBooleanMemory(key: string, value: boolean) { function setNumberMemory (line 10) | function setNumberMemory(key: string, value: number) { function setArrayMemory (line 14) | function setArrayMemory(key: string, value: string[]) { function getMemory (line 18) | function getMemory(key: string, defaultValue?: string): string { function getBooleanMemory (line 22) | function getBooleanMemory(key: string, defaultValue: boolean): boolean { function getNumberMemory (line 27) | function getNumberMemory(key: string, defaultValue: number): number { function getArrayMemory (line 32) | function getArrayMemory(key: string): string[] { function forgetMemory (line 37) | function forgetMemory(key: string) { function clearMemory (line 41) | function clearMemory() { function popMemory (line 45) | function popMemory(key: string): string { FILE: app/src/utils/path.ts function getQueryParams (line 1) | function getQueryParams() { function getQueryParam (line 19) | function getQueryParam(key: string): string { function replaceHistoryState (line 33) | function replaceHistoryState( function pushHistoryState (line 48) | function pushHistoryState( function getHistoryState (line 63) | function getHistoryState(): Record { function clearHistoryState (line 75) | function clearHistoryState() { FILE: app/src/utils/processor.ts function getFile (line 3) | function getFile(file: FileObject): string { function formatMessage (line 10) | function formatMessage(files: FileArray, message: string): string { function filterMessage (line 17) | function filterMessage(message: string): string { function extractMessage (line 21) | function extractMessage( function escapeRegExp (line 29) | function escapeRegExp(str: string): string { function handleLine (line 40) | function handleLine( function handleGenerationData (line 56) | function handleGenerationData(data: string): string { function getReadableNumber (line 64) | function getReadableNumber( FILE: auth/analysis.go function getMonth (line 10) | func getMonth() string { function getDay (line 15) | func getDay() string { function getBillingFormat (line 20) | func getBillingFormat(t string) string { function getMonthBillingFormat (line 24) | func getMonthBillingFormat(t string) string { function incrBillingRequest (line 28) | func incrBillingRequest(cache *redis.Client, amount int64) { FILE: auth/apikey.go method CreateApiKey (line 11) | func (u *User) CreateApiKey(db *sql.DB) string { method GetApiKey (line 20) | func (u *User) GetApiKey(db *sql.DB) string { method ResetApiKey (line 28) | func (u *User) ResetApiKey(db *sql.DB) (string, error) { FILE: auth/auth.go function ParseToken (line 20) | func ParseToken(c *gin.Context, token string) *User { function ParseApiKey (line 43) | func ParseApiKey(c *gin.Context, key string) *User { function getCode (line 62) | func getCode(c *gin.Context, cache *redis.Client, email string) string { function checkCode (line 70) | func checkCode(c *gin.Context, cache *redis.Client, email, code string) ... function setCode (line 84) | func setCode(c *gin.Context, cache *redis.Client, email, code string) { function generateCode (line 88) | func generateCode(c *gin.Context, cache *redis.Client, email string) str... function Verify (line 94) | func Verify(c *gin.Context, email string, checkout bool) error { function SignUp (line 107) | func SignUp(c *gin.Context, form RegisterForm) (string, error) { function Login (line 164) | func Login(c *gin.Context, form LoginForm) (string, error) { function DeepLogin (line 194) | func DeepLogin(c *gin.Context, token string) (string, error) { function Reset (line 247) | func Reset(c *gin.Context, form ResetForm) error { method UpdatePassword (line 285) | func (u *User) UpdatePassword(db *sql.DB, cache *redis.Client, password ... method Validate (line 299) | func (u *User) Validate(c *gin.Context) bool { method GenerateToken (line 326) | func (u *User) GenerateToken() (string, error) { method GenerateTokenSafe (line 341) | func (u *User) GenerateTokenSafe(db *sql.DB) (string, error) { FILE: auth/call.go type ValidateUserResponse (line 9) | type ValidateUserResponse struct function getDeeptrainApi (line 15) | func getDeeptrainApi(path string) string { function useDeeptrain (line 19) | func useDeeptrain() bool { function Validate (line 23) | func Validate(token string) *ValidateUserResponse { FILE: auth/cert.go type CertResponse (line 9) | type CertResponse struct function Cert (line 15) | func Cert(username string) *CertResponse { FILE: auth/controller.go type RegisterForm (line 13) | type RegisterForm struct type VerifyForm (line 20) | type VerifyForm struct type LoginForm (line 25) | type LoginForm struct type DeepLoginForm (line 30) | type DeepLoginForm struct type ResetForm (line 34) | type ResetForm struct type BuyForm (line 40) | type BuyForm struct type SubscribeForm (line 44) | type SubscribeForm struct function GetUser (line 49) | func GetUser(c *gin.Context) *User { function GetUserByCtx (line 58) | func GetUserByCtx(c *gin.Context) *User { function RequireAuth (line 73) | func RequireAuth(c *gin.Context) *User { function RequireAdmin (line 83) | func RequireAdmin(c *gin.Context) *User { function RequireSubscription (line 102) | func RequireSubscription(c *gin.Context) *User { function RequireEnterprise (line 121) | func RequireEnterprise(c *gin.Context) *User { function RegisterAPI (line 140) | func RegisterAPI(c *gin.Context) { function LoginAPI (line 181) | func LoginAPI(c *gin.Context) { function VerifyAPI (line 223) | func VerifyAPI(c *gin.Context) { function ResetAPI (line 246) | func ResetAPI(c *gin.Context) { function StateAPI (line 269) | func StateAPI(c *gin.Context) { function UserInfoAPI (line 278) | func UserInfoAPI(c *gin.Context) { function IndexAPI (line 298) | func IndexAPI(c *gin.Context) { function KeyAPI (line 308) | func KeyAPI(c *gin.Context) { function ResetKeyAPI (line 324) | func ResetKeyAPI(c *gin.Context) { function PackageAPI (line 347) | func PackageAPI(c *gin.Context) { function QuotaAPI (line 360) | func QuotaAPI(c *gin.Context) { function SubscriptionAPI (line 373) | func SubscriptionAPI(c *gin.Context) { function SubscribeAPI (line 409) | func SubscribeAPI(c *gin.Context) { function BuyAPI (line 447) | func BuyAPI(c *gin.Context) { function InviteAPI (line 485) | func InviteAPI(c *gin.Context) { function RedeemAPI (line 518) | func RedeemAPI(c *gin.Context) { FILE: auth/invitation.go type Invitation (line 11) | type Invitation struct method IsUsed (line 68) | func (i *Invitation) IsUsed() bool { method Use (line 72) | func (i *Invitation) Use(db *sql.DB, userId int64) error { method GetQuota (line 79) | func (i *Invitation) GetQuota() float32 { method UseInvitation (line 83) | func (i *Invitation) UseInvitation(db *sql.DB, user User) error { function GenerateInvitations (line 20) | func GenerateInvitations(db *sql.DB, num int, quota float32, t string) (... function CreateInvitationCode (line 39) | func CreateInvitationCode(db *sql.DB, code string, quota float32, t stri... function GetInvitation (line 47) | func GetInvitation(db *sql.DB, code string) (*Invitation, error) { method UseInvitation (line 104) | func (u *User) UseInvitation(db *sql.DB, code string) (float32, error) { FILE: auth/package.go type GiftResponse (line 8) | type GiftResponse struct method HasPackage (line 13) | func (u *User) HasPackage(db *sql.DB, _t string) bool { method HasCertPackage (line 22) | func (u *User) HasCertPackage(db *sql.DB) bool { method HasTeenagerPackage (line 26) | func (u *User) HasTeenagerPackage(db *sql.DB) bool { function NewPackage (line 30) | func NewPackage(db *sql.DB, user *User, _t string) bool { function NewCertPackage (line 46) | func NewCertPackage(db *sql.DB, user *User) bool { function NewTeenagerPackage (line 55) | func NewTeenagerPackage(db *sql.DB, user *User) bool { function RefreshPackage (line 64) | func RefreshPackage(db *sql.DB, user *User) *GiftResponse { FILE: auth/payment.go type BalanceResponse (line 12) | type BalanceResponse struct type PaymentResponse (line 17) | type PaymentResponse struct function GenerateOrder (line 22) | func GenerateOrder() string { function GetBalance (line 26) | func GetBalance(username string) float32 { function Pay (line 51) | func Pay(username string, amount float32) bool { method Pay (line 77) | func (u *User) Pay(db *sql.DB, cache *redis.Client, amount float32) bool { function BuyQuota (line 89) | func BuyQuota(db *sql.DB, cache *redis.Client, user *User, quota int) er... FILE: auth/quota.go method CreateInitialQuota (line 9) | func (u *User) CreateInitialQuota(db *sql.DB) bool { method GetQuota (line 16) | func (u *User) GetQuota(db *sql.DB) float32 { method GetUsedQuota (line 24) | func (u *User) GetUsedQuota(db *sql.DB) float32 { method SetQuota (line 32) | func (u *User) SetQuota(db *sql.DB, quota float32) bool { method SetUsedQuota (line 39) | func (u *User) SetUsedQuota(db *sql.DB, used float32) bool { method IncreaseQuota (line 46) | func (u *User) IncreaseQuota(db *sql.DB, quota float32) bool { method IncreaseUsedQuota (line 53) | func (u *User) IncreaseUsedQuota(db *sql.DB, used float32) bool { method DecreaseQuota (line 60) | func (u *User) DecreaseQuota(db *sql.DB, quota float32) bool { method UseQuota (line 67) | func (u *User) UseQuota(db *sql.DB, quota float32) bool { method PayedQuota (line 77) | func (u *User) PayedQuota(db *sql.DB, quota float32) bool { method PayedQuotaAsAmount (line 93) | func (u *User) PayedQuotaAsAmount(db *sql.DB, amount float32) bool { FILE: auth/redeem.go type Redeem (line 12) | type Redeem struct method IsUsed (line 61) | func (r *Redeem) IsUsed() bool { method Use (line 65) | func (r *Redeem) Use(db *sql.DB) error { method GetQuota (line 72) | func (r *Redeem) GetQuota() float32 { method UseRedeem (line 76) | func (r *Redeem) UseRedeem(db *sql.DB, user *User) error { function GenerateRedeemCodes (line 19) | func GenerateRedeemCodes(db *sql.DB, num int, quota float32) ([]string, ... function CreateRedeemCode (line 37) | func CreateRedeemCode(db *sql.DB, code string, quota float32) error { function GetRedeemCode (line 44) | func GetRedeemCode(db *sql.DB, code string) (*Redeem, error) { method UseRedeem (line 97) | func (u *User) UseRedeem(db *sql.DB, cache *redis.Client, code string) (... FILE: auth/router.go function Register (line 5) | func Register(app *gin.RouterGroup) { FILE: auth/rule.go constant ErrNotAuthenticated (line 15) | ErrNotAuthenticated = "not authenticated error (model: %s)" constant ErrNotSetPrice (line 16) | ErrNotSetPrice = "the price of the model is not set (model: %s)" constant ErrNotEnoughQuota (line 17) | ErrNotEnoughQuota = "user quota is not enough error (model: %s, minimu... constant ErrEstimatedCost (line 18) | ErrEstimatedCost = "estimated cost exceeds user quota (model: %s, est... function CanEnableModel (line 22) | func CanEnableModel(db *sql.DB, user *User, model string, messages []glo... function CanEnableModelWithSubscription (line 58) | func CanEnableModelWithSubscription(db *sql.DB, cache *redis.Client, use... FILE: auth/struct.go type User (line 10) | type User struct method IsBanned (line 62) | func (u *User) IsBanned(db *sql.DB) bool { method IsAdmin (line 76) | func (u *User) IsAdmin(db *sql.DB) bool { method GetID (line 90) | func (u *User) GetID(db *sql.DB) int64 { method HitID (line 100) | func (u *User) HitID() int64 { method GetEmail (line 104) | func (u *User) GetEmail(db *sql.DB) string { method GetUserInfo (line 118) | func (u *User) GetUserInfo(db *sql.DB) (*UserInfo, error) { type UserInfo (line 23) | type UserInfo struct function GetUserById (line 31) | func GetUserById(db *sql.DB, id int64) *User { function GetUserByName (line 39) | func GetUserByName(db *sql.DB, username string) *User { function GetUserByEmail (line 47) | func GetUserByEmail(db *sql.DB, email string) *User { function GetId (line 55) | func GetId(db *sql.DB, user *User) int64 { function IsUserExist (line 153) | func IsUserExist(db *sql.DB, username string) bool { function IsEmailExist (line 161) | func IsEmailExist(db *sql.DB, email string) bool { function getMaxBindId (line 169) | func getMaxBindId(db *sql.DB) int64 { function GetGroup (line 177) | func GetGroup(db *sql.DB, user *User) string { function HitGroup (line 197) | func HitGroup(db *sql.DB, user *User, group string) bool { function GetUsernameString (line 205) | func GetUsernameString(db *sql.DB, user *User) string { function HitGroups (line 213) | func HitGroups(db *sql.DB, user *User, groups []string) bool { FILE: auth/subscription.go function disableSubscription (line 15) | func disableSubscription() bool { method GetSubscription (line 19) | func (u *User) GetSubscription(db *sql.DB) (time.Time, int) { method GetSubscriptionLevel (line 38) | func (u *User) GetSubscriptionLevel(db *sql.DB) int { method GetPlan (line 46) | func (u *User) GetPlan(db *sql.DB) channel.Plan { method GetSubscriptionExpiredAt (line 50) | func (u *User) GetSubscriptionExpiredAt(db *sql.DB) time.Time { method GetSubscriptionTime (line 55) | func (u *User) GetSubscriptionTime(db *sql.DB) time.Time { method IsSubscribe (line 60) | func (u *User) IsSubscribe(db *sql.DB) bool { method IsEnterprise (line 65) | func (u *User) IsEnterprise(db *sql.DB) bool { method GetSubscriptionExpiredDay (line 78) | func (u *User) GetSubscriptionExpiredDay(db *sql.DB) int { method AddSubscription (line 83) | func (u *User) AddSubscription(db *sql.DB, month int, level int) bool { method DowngradePlan (line 97) | func (u *User) DowngradePlan(db *sql.DB, target int) error { method CountUpgradePrice (line 115) | func (u *User) CountUpgradePrice(db *sql.DB, target int) float32 { method SetSubscriptionLevel (line 126) | func (u *User) SetSubscriptionLevel(db *sql.DB, level int) bool { function CountSubscriptionPrize (line 131) | func CountSubscriptionPrize(level int, month int) float32 { function BuySubscription (line 144) | func BuySubscription(db *sql.DB, cache *redis.Client, user *User, level ... function HandleSubscriptionUsage (line 188) | func HandleSubscriptionUsage(db *sql.DB, cache *redis.Client, user *User... function RevertSubscriptionUsage (line 196) | func RevertSubscriptionUsage(db *sql.DB, cache *redis.Client, user *User... FILE: auth/usage.go method GetSubscriptionUsage (line 12) | func (u *User) GetSubscriptionUsage(db *sql.DB, cache *redis.Client) cha... method GetSubscriptionRefreshAt (line 17) | func (u *User) GetSubscriptionRefreshAt(db *sql.DB, cache *redis.Client)... method GetSubscriptionRefreshDay (line 38) | func (u *User) GetSubscriptionRefreshDay(db *sql.DB, cache *redis.Client... FILE: auth/validators.go function isInRange (line 8) | func isInRange(content string, min, max int) bool { function validateUsername (line 13) | func validateUsername(username string) bool { function validateUsernameOrEmail (line 17) | func validateUsernameOrEmail(username string) bool { function validatePassword (line 21) | func validatePassword(password string) bool { function validateEmail (line 25) | func validateEmail(email string) bool { function validateCode (line 34) | func validateCode(code string) bool { FILE: channel/channel.go method GetId (line 19) | func (c *Channel) GetId() int { method GetName (line 23) | func (c *Channel) GetName() string { method GetType (line 27) | func (c *Channel) GetType() string { method GetPriority (line 31) | func (c *Channel) GetPriority() int { method GetWeight (line 35) | func (c *Channel) GetWeight() int { method GetModels (line 42) | func (c *Channel) GetModels() []string { method GetRetry (line 46) | func (c *Channel) GetRetry() int { method GetSecret (line 53) | func (c *Channel) GetSecret() string { method GetCurrentSecret (line 57) | func (c *Channel) GetCurrentSecret() *string { method GetRandomSecret (line 62) | func (c *Channel) GetRandomSecret() string { method GetCurrentSecretValue (line 75) | func (c *Channel) GetCurrentSecretValue() string { method SplitRandomSecret (line 83) | func (c *Channel) SplitRandomSecret(num int) []string { method GetEndpoint (line 99) | func (c *Channel) GetEndpoint() string { method GetDomain (line 103) | func (c *Channel) GetDomain() string { method GetMapper (line 111) | func (c *Channel) GetMapper() string { method Load (line 115) | func (c *Channel) Load() { method GetReflect (line 156) | func (c *Channel) GetReflect() map[string]string { method GetExcludeModels (line 160) | func (c *Channel) GetExcludeModels() []string { method GetModelReflect (line 165) | func (c *Channel) GetModelReflect(model string) string { method GetHitModels (line 174) | func (c *Channel) GetHitModels() []string { method GetState (line 178) | func (c *Channel) GetState() bool { method GetGroup (line 182) | func (c *Channel) GetGroup() []string { method GetProxy (line 186) | func (c *Channel) GetProxy() globals.ProxyConfig { method IsHitGroup (line 190) | func (c *Channel) IsHitGroup(group string) bool { method IsHit (line 198) | func (c *Channel) IsHit(model string) bool { method ProcessError (line 202) | func (c *Channel) ProcessError(err error) error { FILE: channel/charge.go function NewChargeManager (line 10) | func NewChargeManager() *ChargeManager { method Load (line 26) | func (m *ChargeManager) Load() { method GetModels (line 59) | func (m *ChargeManager) GetModels() map[string]*Charge { method GetNonBillingModels (line 63) | func (m *ChargeManager) GetNonBillingModels() []string { method IsBilling (line 67) | func (m *ChargeManager) IsBilling(model string) bool { method GetCharge (line 71) | func (m *ChargeManager) GetCharge(model string) *Charge { method SaveConfig (line 82) | func (m *ChargeManager) SaveConfig() error { method GetMaxId (line 86) | func (m *ChargeManager) GetMaxId() int { method AddRawRule (line 96) | func (m *ChargeManager) AddRawRule(charge *Charge) { method AddRule (line 101) | func (m *ChargeManager) AddRule(charge Charge) error { method UpdateRawRule (line 106) | func (m *ChargeManager) UpdateRawRule(charge *Charge) { method UpdateRule (line 115) | func (m *ChargeManager) UpdateRule(charge Charge) error { method SetRawRule (line 120) | func (m *ChargeManager) SetRawRule(charge *Charge) { method SetRule (line 128) | func (m *ChargeManager) SetRule(charge Charge) error { method DeleteRawRule (line 133) | func (m *ChargeManager) DeleteRawRule(id int) { method DeleteRule (line 142) | func (m *ChargeManager) DeleteRule(id int) error { method SyncRules (line 147) | func (m *ChargeManager) SyncRules(charge ChargeSequence, overwrite bool)... method SyncRule (line 155) | func (m *ChargeManager) SyncRule(charge *Charge, overwrite bool) { method SyncRuleWithOverwrite (line 163) | func (m *ChargeManager) SyncRuleWithOverwrite(charge *Charge) { method SyncRuleWithoutOverwrite (line 190) | func (m *ChargeManager) SyncRuleWithoutOverwrite(charge *Charge) { method ListRules (line 201) | func (m *ChargeManager) ListRules() ChargeSequence { method Contains (line 205) | func (m *ChargeManager) Contains(model string) bool { method GetRule (line 214) | func (m *ChargeManager) GetRule(id int) *Charge { method GetRuleByModel (line 223) | func (m *ChargeManager) GetRuleByModel(model string) *Charge { method IsUnsetType (line 232) | func (c *Charge) IsUnsetType() bool { method GetType (line 236) | func (c *Charge) GetType() string { method GetModels (line 243) | func (c *Charge) GetModels() []string { method GetInput (line 247) | func (c *Charge) GetInput() float32 { method GetOutput (line 254) | func (c *Charge) GetOutput() float32 { method SupportAnonymous (line 261) | func (c *Charge) SupportAnonymous() bool { method IsBilling (line 265) | func (c *Charge) IsBilling() bool { method IsBillingType (line 269) | func (c *Charge) IsBillingType(t string) bool { method GetLimit (line 273) | func (c *Charge) GetLimit() float32 { method Contains (line 287) | func (c *Charge) Contains(model string) bool { method New (line 291) | func (c *Charge) New(model string) *Charge { FILE: channel/controller.go type SyncChargeForm (line 10) | type SyncChargeForm struct function GetInfo (line 15) | func GetInfo(c *gin.Context) { function AttachmentService (line 19) | func AttachmentService(c *gin.Context) { function DeleteChannel (line 25) | func DeleteChannel(c *gin.Context) { function ActivateChannel (line 35) | func ActivateChannel(c *gin.Context) { function DeactivateChannel (line 45) | func DeactivateChannel(c *gin.Context) { function GetChannelList (line 55) | func GetChannelList(c *gin.Context) { function GetChannel (line 62) | func GetChannel(c *gin.Context) { function CreateChannel (line 72) | func CreateChannel(c *gin.Context) { function UpdateChannel (line 89) | func UpdateChannel(c *gin.Context) { function SetCharge (line 109) | func SetCharge(c *gin.Context) { function GetChargeList (line 126) | func GetChargeList(c *gin.Context) { function DeleteCharge (line 133) | func DeleteCharge(c *gin.Context) { function SyncCharge (line 143) | func SyncCharge(c *gin.Context) { function GetConfig (line 159) | func GetConfig(c *gin.Context) { function UpdateConfig (line 166) | func UpdateConfig(c *gin.Context) { function GetPlanConfig (line 183) | func GetPlanConfig(c *gin.Context) { function UpdatePlanConfig (line 187) | func UpdatePlanConfig(c *gin.Context) { FILE: channel/manager.go function InitManager (line 17) | func InitManager() { function NewChannelManager (line 24) | func NewChannelManager() *Manager { method Load (line 42) | func (m *Manager) Load() { method GetSequence (line 89) | func (m *Manager) GetSequence() Sequence { method GetActiveSequence (line 93) | func (m *Manager) GetActiveSequence() Sequence { method GetModels (line 104) | func (m *Manager) GetModels() []string { method GetPreflightSequence (line 108) | func (m *Manager) GetPreflightSequence() map[string]Sequence { method HitSequence (line 113) | func (m *Manager) HitSequence(model string) Sequence { method HasChannel (line 118) | func (m *Manager) HasChannel(model string) bool { method GetTicker (line 122) | func (m *Manager) GetTicker(model, group string) *Ticker { method Len (line 130) | func (m *Manager) Len() int { method GetMaxId (line 134) | func (m *Manager) GetMaxId() int { method SaveConfig (line 144) | func (m *Manager) SaveConfig() error { method CreateChannel (line 148) | func (m *Manager) CreateChannel(channel *Channel) error { method UpdateChannel (line 154) | func (m *Manager) UpdateChannel(id int, channel *Channel) error { method DeleteChannel (line 164) | func (m *Manager) DeleteChannel(id int) error { method ActivateChannel (line 174) | func (m *Manager) ActivateChannel(id int) error { method DeactivateChannel (line 184) | func (m *Manager) DeactivateChannel(id int) error { FILE: channel/plan.go type PlanManager (line 16) | type PlanManager struct method SaveConfig (line 52) | func (c *PlanManager) SaveConfig() error { method UpdateConfig (line 56) | func (c *PlanManager) UpdateConfig(data *PlanManager) error { method GetPlan (line 62) | func (c *PlanManager) GetPlan(level int) Plan { method GetPlans (line 71) | func (c *PlanManager) GetPlans() []Plan { method GetRawPlans (line 79) | func (c *PlanManager) GetRawPlans() []Plan { method IsEnabled (line 83) | func (c *PlanManager) IsEnabled() bool { type Plan (line 21) | type Plan struct method GetUsage (line 184) | func (p *Plan) GetUsage(user globals.AuthLike, db *sql.DB, cache *redi... method IncreaseUsage (line 243) | func (p *Plan) IncreaseUsage(user globals.AuthLike, cache *redis.Clien... method DecreaseUsage (line 253) | func (p *Plan) DecreaseUsage(user globals.AuthLike, cache *redis.Clien... method ReleaseUsage (line 263) | func (p *Plan) ReleaseUsage(user globals.AuthLike, cache *redis.Client... method ReleaseAll (line 273) | func (p *Plan) ReleaseAll(user globals.AuthLike, cache *redis.Client) ... type PlanItem (line 27) | type PlanItem struct method GetUsage (line 190) | func (p *PlanItem) GetUsage(user globals.AuthLike, db *sql.DB, cache *... method ResetUsage (line 197) | func (p *PlanItem) ResetUsage(user globals.AuthLike, cache *redis.Clie... method CreateUsage (line 205) | func (p *PlanItem) CreateUsage(user globals.AuthLike, cache *redis.Cli... method GetUsageForm (line 212) | func (p *PlanItem) GetUsageForm(user globals.AuthLike, db *sql.DB, cac... method IsInfinity (line 219) | func (p *PlanItem) IsInfinity() bool { method IsExceeded (line 223) | func (p *PlanItem) IsExceeded(user globals.AuthLike, db *sql.DB, cache... method Increase (line 227) | func (p *PlanItem) Increase(user globals.AuthLike, cache *redis.Client... method Decrease (line 232) | func (p *PlanItem) Decrease(user globals.AuthLike, cache *redis.Client... method Release (line 239) | func (p *PlanItem) Release(user globals.AuthLike, cache *redis.Client)... type Usage (line 35) | type Usage struct type UsageMap (line 39) | type UsageMap function NewPlanManager (line 43) | func NewPlanManager() *PlanManager { function getOffsetFormat (line 87) | func getOffsetFormat(offset time.Time, usage int64) string { function GetSubscriptionUsage (line 91) | func GetSubscriptionUsage(cache *redis.Client, user globals.AuthLike, t ... function IncreaseSubscriptionUsage (line 147) | func IncreaseSubscriptionUsage(cache *redis.Client, user globals.AuthLik... function DecreaseSubscriptionUsage (line 161) | func DecreaseSubscriptionUsage(cache *redis.Client, user globals.AuthLik... function ReleaseSubscriptionUsage (line 175) | func ReleaseSubscriptionUsage(cache *redis.Client, user globals.AuthLike... function IsValidPlan (line 283) | func IsValidPlan(level int) bool { FILE: channel/router.go function Register (line 5) | func Register(app *gin.RouterGroup) { FILE: channel/sequence.go method Len (line 5) | func (s *Sequence) Len() int { method Less (line 9) | func (s *Sequence) Less(i, j int) bool { method Swap (line 13) | func (s *Sequence) Swap(i, j int) { method GetChannelById (line 17) | func (s *Sequence) GetChannelById(id int) *Channel { method Sort (line 26) | func (s *Sequence) Sort() { FILE: channel/system.go type ApiInfo (line 12) | type ApiInfo struct type generalState (line 28) | type generalState struct type siteState (line 38) | type siteState struct type whiteList (line 50) | type whiteList struct type mailState (line 56) | type mailState struct type SearchState (line 66) | type SearchState struct type commonState (line 75) | type commonState struct type SystemConfig (line 85) | type SystemConfig struct method Load (line 103) | func (c *SystemConfig) Load() { method SaveConfig (line 132) | func (c *SystemConfig) SaveConfig() error { method AsInfo (line 136) | func (c *SystemConfig) AsInfo() ApiInfo { method UpdateConfig (line 154) | func (c *SystemConfig) UpdateConfig(data *SystemConfig) error { method GetInitialQuota (line 167) | func (c *SystemConfig) GetInitialQuota() float64 { method GetBackend (line 171) | func (c *SystemConfig) GetBackend() string { method GetMail (line 175) | func (c *SystemConfig) GetMail() *utils.SmtpPoster { method IsMailValid (line 186) | func (c *SystemConfig) IsMailValid() bool { method GetMailSuffix (line 190) | func (c *SystemConfig) GetMailSuffix() []string { method IsValidMailSuffix (line 198) | func (c *SystemConfig) IsValidMailSuffix(suffix string) bool { method IsValidMail (line 206) | func (c *SystemConfig) IsValidMail(email string) error { method SendVerifyMail (line 219) | func (c *SystemConfig) SendVerifyMail(email string, code string) error { method GetSearchCropLength (line 234) | func (c *SystemConfig) GetSearchCropLength() int { method GetSearchEngines (line 242) | func (c *SystemConfig) GetSearchEngines() string { method GetImageProxy (line 246) | func (c *SystemConfig) GetImageProxy() string { method GetAppName (line 255) | func (c *SystemConfig) GetAppName() string { method GetAppLogo (line 264) | func (c *SystemConfig) GetAppLogo() string { method GetCacheAcceptedModels (line 273) | func (c *SystemConfig) GetCacheAcceptedModels() []string { method GetCacheAcceptedExpire (line 277) | func (c *SystemConfig) GetCacheAcceptedExpire() int64 { method GetCacheAcceptedSize (line 286) | func (c *SystemConfig) GetCacheAcceptedSize() int64 { method AcceptImageStore (line 294) | func (c *SystemConfig) AcceptImageStore() bool { method SupportRelayPlan (line 303) | func (c *SystemConfig) SupportRelayPlan() bool { function NewSystemConfig (line 93) | func NewSystemConfig() *SystemConfig { FILE: channel/ticker.go function NewTicker (line 5) | func NewTicker(seq Sequence, group string) *Ticker { method GetChannelByPriority (line 20) | func (t *Ticker) GetChannelByPriority(priority int) *Channel { method Next (line 65) | func (t *Ticker) Next() *Channel { method SkipPriority (line 78) | func (t *Ticker) SkipPriority(priority int) { method IsDone (line 90) | func (t *Ticker) IsDone() bool { method IsEmpty (line 94) | func (t *Ticker) IsEmpty() bool { FILE: channel/types.go type Channel (line 7) | type Channel struct type Sequence (line 27) | type Sequence type Manager (line 29) | type Manager struct type Ticker (line 35) | type Ticker struct type Charge (line 40) | type Charge struct type ChargeSequence (line 50) | type ChargeSequence type ChargeManager (line 52) | type ChargeManager struct FILE: channel/worker.go function NewChatRequest (line 14) | func NewChatRequest(group string, props *adaptercommon.ChatProps, hook g... function PreflightCache (line 41) | func PreflightCache(cache *redis.Client, model string, hash string, buff... function StoreCache (line 75) | func StoreCache(cache *redis.Client, hash string, index int64, buffer *u... function NewChatRequestWithCache (line 83) | func NewChatRequestWithCache(cache *redis.Client, buffer *utils.Buffer, ... function NewVideoRequestWithCache (line 103) | func NewVideoRequestWithCache(_ *redis.Client, buffer *utils.Buffer, gro... FILE: cli/admin.go function UpdateRootCommand (line 9) | func UpdateRootCommand(args []string) { FILE: cli/exec.go function Run (line 3) | func Run() bool { FILE: cli/help.go function Help (line 13) | func Help() { FILE: cli/invite.go function CreateInvitationCommand (line 10) | func CreateInvitationCommand(args []string) { FILE: cli/parser.go function GetArgs (line 10) | func GetArgs() []string { function GetArg (line 14) | func GetArg(args []string, idx int) string { function GetArgInt (line 21) | func GetArgInt(args []string, idx int) int { function GetArgFloat (line 29) | func GetArgFloat(args []string, idx int, bitSize int) float64 { function GetArgFloat32 (line 37) | func GetArgFloat32(args []string, idx int) float32 { function GetArgFloat64 (line 41) | func GetArgFloat64(args []string, idx int) float64 { function GetArgBool (line 45) | func GetArgBool(args []string, idx int) bool { function GetArgInt64 (line 53) | func GetArgInt64(args []string, idx int) int64 { function GetArgString (line 61) | func GetArgString(args []string, idx int) string { function outputError (line 65) | func outputError(err error) { function outputInfo (line 69) | func outputInfo(t, msg string) { FILE: cli/token.go function CreateTokenCommand (line 10) | func CreateTokenCommand(args []string) { FILE: connection/cache.go function InitRedisSafe (line 13) | func InitRedisSafe() *redis.Client { function ConnectRedis (line 21) | func ConnectRedis() *redis.Client { FILE: connection/database.go function InitMySQLSafe (line 18) | func InitMySQLSafe() *sql.DB { function getConn (line 26) | func getConn() *sql.DB { function ConnectDatabase (line 76) | func ConnectDatabase() *sql.DB { function InitRootUser (line 103) | func InitRootUser(db *sql.DB) { function CreateUserTable (line 126) | func CreateUserTable(db *sql.DB) { function CreatePackageTable (line 146) | func CreatePackageTable(db *sql.DB) { function CreateQuotaTable (line 162) | func CreateQuotaTable(db *sql.DB) { function CreateConversationTable (line 179) | func CreateConversationTable(db *sql.DB) { function CreateMaskTable (line 198) | func CreateMaskTable(db *sql.DB) { function CreateSharingTable (line 217) | func CreateSharingTable(db *sql.DB) { function CreateSubscriptionTable (line 235) | func CreateSubscriptionTable(db *sql.DB) { function CreateApiKeyTable (line 254) | func CreateApiKeyTable(db *sql.DB) { function CreateInvitationTable (line 269) | func CreateInvitationTable(db *sql.DB) { function CreateRedeemTable (line 289) | func CreateRedeemTable(db *sql.DB) { function CreateBroadcastTable (line 305) | func CreateBroadcastTable(db *sql.DB) { FILE: connection/db_migration.go function validSqlError (line 9) | func validSqlError(err error) bool { function checkSqlError (line 22) | func checkSqlError(_ sql.Result, err error) error { function execSql (line 30) | func execSql(db *sql.DB, sql string, args ...interface{}) error { function doMigration (line 34) | func doMigration(db *sql.DB) error { function doSqliteMigration (line 71) | func doSqliteMigration(db *sql.DB) error { FILE: connection/worker.go function MysqlWorker (line 11) | func MysqlWorker(db *sql.DB) { function pingRedis (line 23) | func pingRedis(client *redis.Client) error { function RedisWorker (line 30) | func RedisWorker(cache *redis.Client) { FILE: globals/constant.go constant System (line 4) | System = "system" constant User (line 5) | User = "user" constant Assistant (line 6) | Assistant = "assistant" constant Tool (line 7) | Tool = "tool" constant Function (line 8) | Function = "function" constant OpenAIChannelType (line 12) | OpenAIChannelType = "openai" constant AzureOpenAIChannelType (line 13) | AzureOpenAIChannelType = "azure" constant ClaudeChannelType (line 14) | ClaudeChannelType = "claude" constant SlackChannelType (line 15) | SlackChannelType = "slack" constant SparkdeskChannelType (line 16) | SparkdeskChannelType = "sparkdesk" constant ChatGLMChannelType (line 17) | ChatGLMChannelType = "chatglm" constant HunyuanChannelType (line 18) | HunyuanChannelType = "hunyuan" constant QwenChannelType (line 19) | QwenChannelType = "qwen" constant ZhinaoChannelType (line 20) | ZhinaoChannelType = "zhinao" constant BaichuanChannelType (line 21) | BaichuanChannelType = "baichuan" constant SkylarkChannelType (line 22) | SkylarkChannelType = "skylark" constant BingChannelType (line 23) | BingChannelType = "bing" constant PalmChannelType (line 24) | PalmChannelType = "palm" constant MidjourneyChannelType (line 25) | MidjourneyChannelType = "midjourney" constant MoonshotChannelType (line 26) | MoonshotChannelType = "moonshot" constant GroqChannelType (line 27) | GroqChannelType = "groq" constant DeepseekChannelType (line 28) | DeepseekChannelType = "deepseek" constant DifyChannelType (line 29) | DifyChannelType = "dify" constant CozeChannelType (line 30) | CozeChannelType = "coze" constant NonBilling (line 34) | NonBilling = "non-billing" constant TimesBilling (line 35) | TimesBilling = "times-billing" constant TokenBilling (line 36) | TokenBilling = "token-billing" constant AnonymousType (line 40) | AnonymousType = "anonymous" constant NormalType (line 41) | NormalType = "normal" constant BasicType (line 42) | BasicType = "basic" constant StandardType (line 43) | StandardType = "standard" constant ProType (line 44) | ProType = "pro" constant AdminType (line 45) | AdminType = "admin" constant NoneProxyType (line 49) | NoneProxyType = iota constant HttpProxyType (line 50) | HttpProxyType constant HttpsProxyType (line 51) | HttpsProxyType constant Socks5ProxyType (line 52) | Socks5ProxyType constant WebTokenType (line 56) | WebTokenType = "web" constant ApiTokenType (line 57) | ApiTokenType = "api" constant SystemToken (line 58) | SystemToken = "system" FILE: globals/interface.go type ChannelConfig (line 5) | type ChannelConfig interface type AuthLike (line 17) | type AuthLike interface FILE: globals/logger.go constant DefaultLoggerFile (line 12) | DefaultLoggerFile = "chatnio.log" type AppLogger (line 16) | type AppLogger struct method Format (line 20) | func (l *AppLogger) Format(entry *logrus.Entry) ([]byte, error) { function init (line 35) | func init() { function Output (line 51) | func Output(args ...interface{}) { function Debug (line 55) | func Debug(args ...interface{}) { function Info (line 59) | func Info(args ...interface{}) { function Warn (line 63) | func Warn(args ...interface{}) { function Error (line 67) | func Error(args ...interface{}) { function Fatal (line 71) | func Fatal(args ...interface{}) { function Panic (line 75) | func Panic(args ...interface{}) { FILE: globals/method.go method IsEmpty (line 3) | func (c *Chunk) IsEmpty() bool { FILE: globals/sql.go type batch (line 11) | type batch struct function batchReplace (line 17) | func batchReplace(sql string, batch []batch) string { function PreflightSql (line 29) | func PreflightSql(sql string) string { function ExecDb (line 85) | func ExecDb(db *sql.DB, sql string, args ...interface{}) (sql.Result, er... function PrepareDb (line 90) | func PrepareDb(db *sql.DB, sql string) (*sql.Stmt, error) { function QueryDb (line 95) | func QueryDb(db *sql.DB, sql string, args ...interface{}) (*sql.Rows, er... function QueryRowDb (line 100) | func QueryRowDb(db *sql.DB, sql string, args ...interface{}) *sql.Row { FILE: globals/tools.go type FunctionTools (line 3) | type FunctionTools type ToolObject (line 4) | type ToolObject struct type ToolFunction (line 9) | type ToolFunction struct type ToolParameters (line 16) | type ToolParameters struct type ToolProperties (line 22) | type ToolProperties type JsonSchemaType (line 26) | type JsonSchemaType type JSONSchemaDefinition (line 27) | type JSONSchemaDefinition type ToolProperty (line 28) | type ToolProperty type DetailToolProperty (line 29) | type DetailToolProperty struct type ToolCallFunction (line 77) | type ToolCallFunction struct type ToolCall (line 82) | type ToolCall struct type ToolCalls (line 88) | type ToolCalls type FunctionCall (line 90) | type FunctionCall struct FILE: globals/types.go type Hook (line 3) | type Hook type Message (line 5) | type Message struct type Chunk (line 15) | type Chunk struct type ChatSegmentResponse (line 21) | type ChatSegmentResponse struct type GenerationSegmentResponse (line 30) | type GenerationSegmentResponse struct type ListModels (line 38) | type ListModels struct type ListModelsItem (line 43) | type ListModelsItem struct type ProxyConfig (line 50) | type ProxyConfig struct FILE: globals/usage.go function GetSubscriptionLimitFormat (line 7) | func GetSubscriptionLimitFormat(t string, id int64) string { FILE: globals/variables.go constant ChatMaxThread (line 11) | ChatMaxThread = 5 constant AnonymousMaxThread (line 12) | AnonymousMaxThread = 1 function OriginIsAllowed (line 37) | func OriginIsAllowed(uri string) bool { function OriginIsOpen (line 59) | func OriginIsOpen(c *gin.Context) bool { constant GPT3Turbo (line 64) | GPT3Turbo = "gpt-3.5-turbo" constant GPT3TurboInstruct (line 65) | GPT3TurboInstruct = "gpt-3.5-turbo-instruct" constant GPT3Turbo0613 (line 66) | GPT3Turbo0613 = "gpt-3.5-turbo-0613" constant GPT3Turbo0301 (line 67) | GPT3Turbo0301 = "gpt-3.5-turbo-0301" constant GPT3Turbo1106 (line 68) | GPT3Turbo1106 = "gpt-3.5-turbo-1106" constant GPT3Turbo0125 (line 69) | GPT3Turbo0125 = "gpt-3.5-turbo-0125" constant GPT3Turbo16k (line 70) | GPT3Turbo16k = "gpt-3.5-turbo-16k" constant GPT3Turbo16k0613 (line 71) | GPT3Turbo16k0613 = "gpt-3.5-turbo-16k-0613" constant GPT3Turbo16k0301 (line 72) | GPT3Turbo16k0301 = "gpt-3.5-turbo-16k-0301" constant GPT4 (line 73) | GPT4 = "gpt-4" constant GPT4All (line 74) | GPT4All = "gpt-4-all" constant GPT4Vision (line 75) | GPT4Vision = "gpt-4-v" constant GPT4Dalle (line 76) | GPT4Dalle = "gpt-4-dalle" constant GPT40314 (line 77) | GPT40314 = "gpt-4-0314" constant GPT40613 (line 78) | GPT40613 = "gpt-4-0613" constant GPT41106Preview (line 79) | GPT41106Preview = "gpt-4-1106-preview" constant GPT40125Preview (line 80) | GPT40125Preview = "gpt-4-0125-preview" constant GPT4TurboPreview (line 81) | GPT4TurboPreview = "gpt-4-turbo-preview" constant GPT4VisionPreview (line 82) | GPT4VisionPreview = "gpt-4-vision-preview" constant GPT4Turbo (line 83) | GPT4Turbo = "gpt-4-turbo" constant GPT4Turbo20240409 (line 84) | GPT4Turbo20240409 = "gpt-4-turbo-2024-04-09" constant GPT41106VisionPreview (line 85) | GPT41106VisionPreview = "gpt-4-1106-vision-preview" constant GPT432k (line 86) | GPT432k = "gpt-4-32k" constant GPT432k0314 (line 87) | GPT432k0314 = "gpt-4-32k-0314" constant GPT432k0613 (line 88) | GPT432k0613 = "gpt-4-32k-0613" constant GPT4O (line 89) | GPT4O = "gpt-4o" constant GPT4O20240513 (line 90) | GPT4O20240513 = "gpt-4o-2024-05-13" constant GPTImage1 (line 91) | GPTImage1 = "gpt-image-1" constant Sora2 (line 92) | Sora2 = "sora-2" constant Dalle (line 93) | Dalle = "dalle" constant Dalle2 (line 94) | Dalle2 = "dall-e-2" constant Dalle3 (line 95) | Dalle3 = "dall-e-3" constant Claude1 (line 96) | Claude1 = "claude-1" constant Claude1100k (line 97) | Claude1100k = "claude-1.3" constant Claude2 (line 98) | Claude2 = "claude-1-100k" constant Claude2100k (line 99) | Claude2100k = "claude-2" constant Claude2200k (line 100) | Claude2200k = "claude-2.1" constant Claude3 (line 101) | Claude3 = "claude-3" constant ClaudeSlack (line 102) | ClaudeSlack = "claude-slack" constant SparkDeskLite (line 103) | SparkDeskLite = "spark-desk-lite" constant SparkDeskPro (line 104) | SparkDeskPro = "spark-desk-pro" constant SparkDeskPro128K (line 105) | SparkDeskPro128K = "spark-desk-pro-128k" constant SparkDeskMax (line 106) | SparkDeskMax = "spark-desk-max" constant SparkDeskMax32K (line 107) | SparkDeskMax32K = "spark-desk-max-32k" constant SparkDeskV4Ultra (line 108) | SparkDeskV4Ultra = "spark-desk-4.0-ultra" constant ChatBison001 (line 109) | ChatBison001 = "chat-bison-001" constant GeminiPro (line 110) | GeminiPro = "gemini-pro" constant GeminiProVision (line 111) | GeminiProVision = "gemini-pro-vision" constant Gemini15ProLatest (line 112) | Gemini15ProLatest = "gemini-1.5-pro-latest" constant Gemini15FlashLatest (line 113) | Gemini15FlashLatest = "gemini-1.5-flash-latest" constant Gemini20ProExp (line 114) | Gemini20ProExp = "gemini-2.0-pro-exp-02-05" constant Gemini20Flash (line 115) | Gemini20Flash = "gemini-2.0-flash" constant Gemini20FlashExp (line 116) | Gemini20FlashExp = "gemini-2.0-flash-exp" constant Gemini20Flash001 (line 117) | Gemini20Flash001 = "gemini-2.0-flash-001" constant Gemini20FlashThinkingExp (line 118) | Gemini20FlashThinkingExp = "gemini-2.0-flash-thinking-exp-01-21" constant Gemini20FlashLitePreview (line 119) | Gemini20FlashLitePreview = "gemini-2.0-flash-lite-preview-02-05" constant Gemini20FlashThinkingExp1219 (line 120) | Gemini20FlashThinkingExp1219 = "gemini-2.0-flash-thinking-exp-1219" constant GeminiExp1206 (line 121) | GeminiExp1206 = "gemini-exp-1206" constant GoogleImagen002 (line 122) | GoogleImagen002 = "imagen-3.0-generate-002" constant BingCreative (line 123) | BingCreative = "bing-creative" constant BingBalanced (line 124) | BingBalanced = "bing-balanced" constant BingPrecise (line 125) | BingPrecise = "bing-precise" constant ZhiPuChatGLM4 (line 126) | ZhiPuChatGLM4 = "glm-4" constant ZhiPuChatGLM4Vision (line 127) | ZhiPuChatGLM4Vision = "glm-4v" constant ZhiPuChatGLM3Turbo (line 128) | ZhiPuChatGLM3Turbo = "glm-3-turbo" constant ZhiPuChatGLMTurbo (line 129) | ZhiPuChatGLMTurbo = "zhipu-chatglm-turbo" constant ZhiPuChatGLMPro (line 130) | ZhiPuChatGLMPro = "zhipu-chatglm-pro" constant ZhiPuChatGLMStd (line 131) | ZhiPuChatGLMStd = "zhipu-chatglm-std" constant ZhiPuChatGLMLite (line 132) | ZhiPuChatGLMLite = "zhipu-chatglm-lite" constant QwenTurbo (line 133) | QwenTurbo = "qwen-turbo" constant QwenPlus (line 134) | QwenPlus = "qwen-plus" constant QwenTurboNet (line 135) | QwenTurboNet = "qwen-turbo-net" constant QwenPlusNet (line 136) | QwenPlusNet = "qwen-plus-net" constant Midjourney (line 137) | Midjourney = "midjourney" constant MidjourneyFast (line 138) | MidjourneyFast = "midjourney-fast" constant MidjourneyTurbo (line 139) | MidjourneyTurbo = "midjourney-turbo" constant Hunyuan (line 140) | Hunyuan = "hunyuan" constant GPT360V9 (line 141) | GPT360V9 = "360-gpt-v9" constant Baichuan53B (line 142) | Baichuan53B = "baichuan-53b" constant SkylarkLite (line 143) | SkylarkLite = "skylark-lite-public" constant SkylarkPlus (line 144) | SkylarkPlus = "skylark-plus-public" constant SkylarkPro (line 145) | SkylarkPro = "skylark-pro-public" constant SkylarkChat (line 146) | SkylarkChat = "skylark-chat" constant DeepseekV3 (line 147) | DeepseekV3 = "deepseek-chat" constant DeepseekR1 (line 148) | DeepseekR1 = "deepseek-reasoner" function in (line 174) | func in(value string, slice []string) bool { function IsOpenAIDalleModel (line 183) | func IsOpenAIDalleModel(model string) bool { function IsGoogleImagenModel (line 188) | func IsGoogleImagenModel(model string) bool { function IsVisionModel (line 193) | func IsVisionModel(model string) bool { function IsVideoModel (line 197) | func IsVideoModel(model string) bool { FILE: main.go function readCorsOrigins (line 21) | func readCorsOrigins() { function registerApiRouter (line 37) | func registerApiRouter(engine *gin.Engine) { function main (line 55) | func main() { FILE: manager/broadcast/controller.go function ViewBroadcastAPI (line 9) | func ViewBroadcastAPI(c *gin.Context) { function CreateBroadcastAPI (line 13) | func CreateBroadcastAPI(c *gin.Context) { function GetBroadcastListAPI (line 41) | func GetBroadcastListAPI(c *gin.Context) { FILE: manager/broadcast/manage.go function createBroadcast (line 11) | func createBroadcast(c *gin.Context, user *auth.User, content string) er... function getBroadcastList (line 24) | func getBroadcastList(c *gin.Context) ([]Info, error) { FILE: manager/broadcast/router.go function Register (line 5) | func Register(app *gin.RouterGroup) { FILE: manager/broadcast/types.go type Broadcast (line 3) | type Broadcast struct type Info (line 8) | type Info struct type listResponse (line 15) | type listResponse struct type createRequest (line 19) | type createRequest struct type createResponse (line 23) | type createResponse struct FILE: manager/broadcast/view.go function getLatestBroadcast (line 11) | func getLatestBroadcast(c *gin.Context) *Broadcast { FILE: manager/chat.go constant defaultMessage (line 25) | defaultMessage = "empty response" constant interruptMessage (line 26) | interruptMessage = "interrupted" function CollectQuota (line 28) | func CollectQuota(c *gin.Context, user *auth.User, buffer *utils.Buffer,... type partialChunk (line 45) | type partialChunk struct function createStopSignal (line 52) | func createStopSignal(conn *Connection) chan bool { function createChatTask (line 80) | func createChatTask( function ChatHandler (line 250) | func ChatHandler(conn *Connection, user *auth.User, instance *conversati... FILE: manager/chat_completions.go constant ReasonStop (line 23) | ReasonStop = "stop" constant ReasonToolCalls (line 24) | ReasonToolCalls = "tool_calls" function supportRelayPlan (line 27) | func supportRelayPlan() bool { function checkEnableState (line 31) | func checkEnableState(db *sql.DB, cache *redis.Client, user *auth.User, ... function ChatRelayAPI (line 39) | func ChatRelayAPI(c *gin.Context) { function getChatProps (line 96) | func getChatProps(form RelayForm, messages []globals.Message, buffer *ut... function sendTranshipmentResponse (line 112) | func sendTranshipmentResponse(c *gin.Context, form RelayForm, messages [... function getFinishReason (line 163) | func getFinishReason(buffer *utils.Buffer, end bool) interface{} { function getRole (line 175) | func getRole(data *globals.Chunk) string { function getStreamTranshipmentForm (line 187) | func getStreamTranshipmentForm(id string, created int64, form RelayForm,... function sendStreamTranshipmentResponse (line 215) | func sendStreamTranshipmentResponse(c *gin.Context, form RelayForm, mess... FILE: manager/completions.go function NativeChatHandler (line 17) | func NativeChatHandler(c *gin.Context, user *auth.User, model string, me... FILE: manager/connection.go constant ChatType (line 14) | ChatType = "chat" constant StopType (line 15) | StopType = "stop" constant RestartType (line 16) | RestartType = "restart" constant ShareType (line 17) | ShareType = "share" constant MaskType (line 18) | MaskType = "mask" constant EditType (line 19) | EditType = "edit" constant RemoveType (line 20) | RemoveType = "remove" type Stack (line 23) | type Stack type Connection (line 25) | type Connection struct method GetConn (line 41) | func (c *Connection) GetConn() *utils.WebSocket { method GetCtx (line 45) | func (c *Connection) GetCtx() *gin.Context { method GetStack (line 49) | func (c *Connection) GetStack() Stack { method ReadWorker (line 53) | func (c *Connection) ReadWorker() { method Write (line 74) | func (c *Connection) Write(data *conversation.FormMessage) { method IsClosed (line 81) | func (c *Connection) IsClosed() bool { method Stop (line 85) | func (c *Connection) Stop() { method Read (line 89) | func (c *Connection) Read() *conversation.FormMessage { method Peek (line 94) | func (c *Connection) Peek() *conversation.FormMessage { method PeekWithType (line 104) | func (c *Connection) PeekWithType(t string) *conversation.FormMessage { method PeekWithTypes (line 117) | func (c *Connection) PeekWithTypes(types ...string) *conversation.Form... method PeekStop (line 132) | func (c *Connection) PeekStop() *conversation.FormMessage { method Skip (line 136) | func (c *Connection) Skip() { method GetDB (line 140) | func (c *Connection) GetDB() *sql.DB { method GetCache (line 144) | func (c *Connection) GetCache() *redis.Client { method Send (line 148) | func (c *Connection) Send(message globals.ChatSegmentResponse) { method SendClient (line 152) | func (c *Connection) SendClient(message globals.ChatSegmentResponse) e... method Process (line 156) | func (c *Connection) Process(handler func(*conversation.FormMessage) e... method Handle (line 168) | func (c *Connection) Handle(handler func(*conversation.FormMessage) er... method Lock (line 173) | func (c *Connection) Lock() bool { method Release (line 192) | func (c *Connection) Release() { function NewConnection (line 32) | func NewConnection(conn *utils.WebSocket, auth bool, hash string, buffer... FILE: manager/conversation/api.go type ShareForm (line 12) | type ShareForm struct type RenameConversationForm (line 17) | type RenameConversationForm struct type DeleteMaskForm (line 22) | type DeleteMaskForm struct type LoadMaskResponse (line 26) | type LoadMaskResponse struct type CommonMaskResponse (line 32) | type CommonMaskResponse struct function ListAPI (line 37) | func ListAPI(c *gin.Context) { function LoadAPI (line 56) | func LoadAPI(c *gin.Context) { function DeleteAPI (line 90) | func DeleteAPI(c *gin.Context) { function RenameAPI (line 124) | func RenameAPI(c *gin.Context) { function CleanAPI (line 159) | func CleanAPI(c *gin.Context) { function ShareAPI (line 184) | func ShareAPI(c *gin.Context) { function ViewAPI (line 219) | func ViewAPI(c *gin.Context) { function ListSharingAPI (line 246) | func ListSharingAPI(c *gin.Context) { function DeleteSharingAPI (line 265) | func DeleteSharingAPI(c *gin.Context) { function LoadMaskAPI (line 299) | func LoadMaskAPI(c *gin.Context) { function DeleteMaskAPI (line 330) | func DeleteMaskAPI(c *gin.Context) { function SaveMaskAPI (line 373) | func SaveMaskAPI(c *gin.Context) { FILE: manager/conversation/conversation.go constant defaultConversationName (line 12) | defaultConversationName = "new chat" constant defaultConversationContext (line 13) | defaultConversationContext = 8 type Conversation (line 15) | type Conversation struct method GetModel (line 101) | func (c *Conversation) GetModel() string { method IsEnableWeb (line 108) | func (c *Conversation) IsEnableWeb() bool { method GetContextLength (line 112) | func (c *Conversation) GetContextLength() int { method SetModel (line 120) | func (c *Conversation) SetModel(model string) { method SetEnableWeb (line 127) | func (c *Conversation) SetEnableWeb(enable bool) { method GetTemperature (line 131) | func (c *Conversation) GetTemperature() *float32 { method SetTemperature (line 135) | func (c *Conversation) SetTemperature(temperature *float32) { method GetTopP (line 139) | func (c *Conversation) GetTopP() *float32 { method SetTopP (line 143) | func (c *Conversation) SetTopP(topP *float32) { method GetTopK (line 147) | func (c *Conversation) GetTopK() *int { method SetTopK (line 151) | func (c *Conversation) SetTopK(topK *int) { method GetPresencePenalty (line 155) | func (c *Conversation) GetPresencePenalty() *float32 { method SetPresencePenalty (line 159) | func (c *Conversation) SetPresencePenalty(presencePenalty *float32) { method GetFrequencyPenalty (line 163) | func (c *Conversation) GetFrequencyPenalty() *float32 { method SetFrequencyPenalty (line 167) | func (c *Conversation) SetFrequencyPenalty(frequencyPenalty *float32) { method GetRepetitionPenalty (line 171) | func (c *Conversation) GetRepetitionPenalty() *float32 { method SetRepetitionPenalty (line 175) | func (c *Conversation) SetRepetitionPenalty(repetitionPenalty *float32) { method GetMaxTokens (line 179) | func (c *Conversation) GetMaxTokens() *int { method SetMaxTokens (line 183) | func (c *Conversation) SetMaxTokens(maxTokens *int) { method SetContextLength (line 187) | func (c *Conversation) SetContextLength(context int, ignore bool) { method GetName (line 197) | func (c *Conversation) GetName() string { method SetName (line 201) | func (c *Conversation) SetName(db *sql.DB, name string) { method GetId (line 206) | func (c *Conversation) GetId() int64 { method GetUserID (line 210) | func (c *Conversation) GetUserID() int64 { method SetId (line 214) | func (c *Conversation) SetId(id int64) { method GetMessage (line 218) | func (c *Conversation) GetMessage() []globals.Message { method GetMessageById (line 222) | func (c *Conversation) GetMessageById(id int) globals.Message { method GetMessageLength (line 226) | func (c *Conversation) GetMessageLength() int { method GetMessageSegment (line 230) | func (c *Conversation) GetMessageSegment(length int) []globals.Message { method GetChatMessage (line 237) | func (c *Conversation) GetChatMessage(restart bool) []globals.Message { method GetLastMessage (line 266) | func (c *Conversation) GetLastMessage() globals.Message { method AddMessage (line 270) | func (c *Conversation) AddMessage(message globals.Message) { method AddMessages (line 274) | func (c *Conversation) AddMessages(messages []globals.Message) { method InsertMessage (line 278) | func (c *Conversation) InsertMessage(message globals.Message, index in... method InsertMessages (line 282) | func (c *Conversation) InsertMessages(messages []globals.Message, inde... method AddMessageFromUser (line 286) | func (c *Conversation) AddMessageFromUser(message string) { method AddMessageFromAssistant (line 293) | func (c *Conversation) AddMessageFromAssistant(message string) { method AddMessageFromSystem (line 300) | func (c *Conversation) AddMessageFromSystem(message string) { method ApplyParam (line 319) | func (c *Conversation) ApplyParam(form *FormMessage) { method AddMessageFromByte (line 333) | func (c *Conversation) AddMessageFromByte(data []byte) (string, error) { method AddMessageFromForm (line 347) | func (c *Conversation) AddMessageFromForm(form *FormMessage) error { method HandleMessage (line 358) | func (c *Conversation) HandleMessage(db *sql.DB, form *FormMessage) bo... method HandleMessageFromByte (line 370) | func (c *Conversation) HandleMessageFromByte(db *sql.DB, data []byte) ... method GetLatestMessage (line 383) | func (c *Conversation) GetLatestMessage() string { method SaveResponse (line 387) | func (c *Conversation) SaveResponse(db *sql.DB, message string) { method RemoveMessage (line 392) | func (c *Conversation) RemoveMessage(index int) globals.Message { method RemoveLatestMessage (line 401) | func (c *Conversation) RemoveLatestMessage() globals.Message { method RemoveLatestMessageWithRole (line 405) | func (c *Conversation) RemoveLatestMessageWithRole(role string) global... method EditMessage (line 418) | func (c *Conversation) EditMessage(index int, message string) { method DeleteMessage (line 425) | func (c *Conversation) DeleteMessage(index int) { method GetTaskID (line 432) | func (c *Conversation) GetTaskID() string { method SetTaskID (line 436) | func (c *Conversation) SetTaskID(taskID string) { type FormMessage (line 36) | type FormMessage struct function NewAnonymousConversation (line 54) | func NewAnonymousConversation() *Conversation { function NewConversation (line 66) | func NewConversation(db *sql.DB, id int64) *Conversation { function ExtractConversation (line 77) | func ExtractConversation(db *sql.DB, user *auth.User, id int64, ref stri... function CopyMessage (line 262) | func CopyMessage(message []globals.Message) []globals.Message { function GetMessage (line 307) | func GetMessage(data []byte) (string, error) { FILE: manager/conversation/mask.go type Mask (line 10) | type Mask struct method Save (line 25) | func (m *Mask) Save(db *sql.DB, user *auth.User) error { method Delete (line 43) | func (m *Mask) Delete(db *sql.DB, user *auth.User) error { method LoadMask (line 18) | func (c *Conversation) LoadMask(data string) { function LoadMask (line 48) | func LoadMask(db *sql.DB, user *auth.User) ([]Mask, error) { FILE: manager/conversation/router.go function Register (line 5) | func Register(app *gin.RouterGroup) { FILE: manager/conversation/shared.go type SharedPreviewForm (line 13) | type SharedPreviewForm struct type SharedForm (line 20) | type SharedForm struct type SharedHashForm (line 28) | type SharedHashForm struct function GetRef (line 34) | func GetRef(refs []int) (result string) { function ShareConversation (line 41) | func ShareConversation(db *sql.DB, user *auth.User, id int64, refs []int... function GetSharedMessages (line 63) | func GetSharedMessages(db *sql.DB, userId int64, conversationId int64, r... function ListSharedConversation (line 84) | func ListSharedConversation(db *sql.DB, user *auth.User) []SharedPreview... function DeleteSharedConversation (line 118) | func DeleteSharedConversation(db *sql.DB, user *auth.User, hash string) ... function GetSharedConversation (line 132) | func GetSharedConversation(db *sql.DB, hash string) (*SharedForm, error) { function UseSharedConversation (line 158) | func UseSharedConversation(db *sql.DB, user *auth.User, hash string) *Co... method LoadSharing (line 188) | func (c *Conversation) LoadSharing(db *sql.DB, hash string) { FILE: manager/conversation/storage.go method SaveConversation (line 11) | func (c *Conversation) SaveConversation(db *sql.DB) bool { function GetConversationLengthByUserID (line 46) | func GetConversationLengthByUserID(db *sql.DB, userId int64) int64 { function LoadConversation (line 55) | func LoadConversation(db *sql.DB, userId int64, conversationId int64) *C... function LoadConversationList (line 92) | func LoadConversationList(db *sql.DB, userId int64) []Conversation { method DeleteConversation (line 120) | func (c *Conversation) DeleteConversation(db *sql.DB) bool { method RenameConversation (line 128) | func (c *Conversation) RenameConversation(db *sql.DB, name string) bool { function DeleteAllConversations (line 136) | func DeleteAllConversations(db *sql.DB, user auth.User) error { FILE: manager/images.go function ImagesRelayAPI (line 18) | func ImagesRelayAPI(c *gin.Context) { function getImageProps (line 66) | func getImageProps(form RelayImageForm, messages []globals.Message, buff... function getImageDataFromBuffer (line 74) | func getImageDataFromBuffer(buffer *utils.Buffer) (string, string) { function createRelayImageObject (line 90) | func createRelayImageObject(c *gin.Context, form RelayImageForm, prompt ... FILE: manager/manager.go type WebsocketAuthForm (line 13) | type WebsocketAuthForm struct function ParseAuth (line 19) | func ParseAuth(c *gin.Context, token string) *auth.User { function splitMessage (line 36) | func splitMessage(message string) (int, string, error) { function getId (line 47) | func getId(message string) (int, error) { function ChatAPI (line 55) | func ChatAPI(c *gin.Context) { FILE: manager/relay.go function ModelAPI (line 11) | func ModelAPI(c *gin.Context) { function MarketAPI (line 15) | func MarketAPI(c *gin.Context) { function ChargeAPI (line 19) | func ChargeAPI(c *gin.Context) { function PlanAPI (line 23) | func PlanAPI(c *gin.Context) { function sendErrorResponse (line 27) | func sendErrorResponse(c *gin.Context, err error, types ...string) { function abortWithErrorResponse (line 43) | func abortWithErrorResponse(c *gin.Context, err error, types ...string) { FILE: manager/router.go function Register (line 9) | func Register(app *gin.RouterGroup) { FILE: manager/types.go type Message (line 9) | type Message struct type ImageUrl (line 18) | type ImageUrl struct type MessageContent (line 23) | type MessageContent struct type MessageContents (line 29) | type MessageContents type RelayForm (line 31) | type RelayForm struct type Choice (line 47) | type Choice struct type StreamMessage (line 53) | type StreamMessage struct type Usage (line 62) | type Usage struct type RelayResponse (line 68) | type RelayResponse struct type ChoiceDelta (line 78) | type ChoiceDelta struct type RelayStreamResponse (line 84) | type RelayStreamResponse struct type RelayErrorResponse (line 95) | type RelayErrorResponse struct type TranshipmentError (line 99) | type TranshipmentError struct type RelayImageForm (line 104) | type RelayImageForm struct type RelayImageData (line 110) | type RelayImageData struct type RelayImageResponse (line 115) | type RelayImageResponse struct type RelayVideoForm (line 120) | type RelayVideoForm struct type RelayVideoError (line 128) | type RelayVideoError struct type RelayVideoJob (line 133) | type RelayVideoJob struct function transformContent (line 149) | func transformContent(content interface{}) string { function transform (line 173) | func transform(m []Message) []globals.Message { FILE: manager/usage.go type BillingResponse (line 10) | type BillingResponse struct type SubscriptionResponse (line 15) | type SubscriptionResponse struct function GetBillingUsage (line 25) | func GetBillingUsage(c *gin.Context) { function GetSubscription (line 40) | func GetSubscription(c *gin.Context) { FILE: manager/videos.go function VideosRelayAPI (line 18) | func VideosRelayAPI(c *gin.Context) { function VideosContentRelayAPI (line 152) | func VideosContentRelayAPI(c *gin.Context) { FILE: middleware/auth.go function ProcessToken (line 12) | func ProcessToken(c *gin.Context, token string) *auth.User { function ProcessKey (line 26) | func ProcessKey(c *gin.Context, key string) *auth.User { function ProcessAuthorization (line 53) | func ProcessAuthorization(c *gin.Context) *auth.User { function AuthMiddleware (line 75) | func AuthMiddleware() gin.HandlerFunc { FILE: middleware/builtins.go function BuiltinMiddleWare (line 9) | func BuiltinMiddleWare(db *sql.DB, cache *redis.Client) gin.HandlerFunc { FILE: middleware/cors.go function CORSMiddleware (line 9) | func CORSMiddleware() gin.HandlerFunc { FILE: middleware/middleware.go function RegisterMiddleware (line 8) | func RegisterMiddleware(app *gin.Engine) func() { FILE: middleware/throttle.go type Limiter (line 12) | type Limiter struct method RateLimit (line 17) | func (l *Limiter) RateLimit(client *redis.Client, ip string, path stri... function GetPrefixMap (line 46) | func GetPrefixMap[T comparable](s string, p map[string]T) *T { function ThrottleMiddleware (line 59) | func ThrottleMiddleware() gin.HandlerFunc { FILE: utils/base.go function Intn (line 12) | func Intn(n int) int { function Intn64 (line 18) | func Intn64(n int64) int64 { function IntnSeed (line 24) | func IntnSeed(n int, seed int) int { function IntnSeq (line 31) | func IntnSeq(n int, len int) (res []int) { function Sum (line 39) | func Sum[T int | int64 | float32 | float64](arr []T) T { function Contains (line 47) | func Contains[T comparable](value T, slice []T) bool { function ToPtr (line 56) | func ToPtr[T any](value T) *T { function TryGet (line 60) | func TryGet[T any](arr []T, index int) T { function Debug (line 67) | func Debug[T any](v T) T { function Insert (line 72) | func Insert[T any](arr []T, index int, value T) []T { function InsertSlice (line 79) | func InsertSlice[T any](arr []T, index int, value []T) []T { function Collect (line 86) | func Collect[T any](arr ...[]T) []T { function Append (line 95) | func Append[T any](arr []T, value T) []T { function AppendSlice (line 99) | func AppendSlice[T any](arr []T, value []T) []T { function Prepend (line 103) | func Prepend[T any](arr []T, value T) []T { function PrependSlice (line 107) | func PrependSlice[T any](arr []T, value []T) []T { function Remove (line 111) | func Remove[T any](arr []T, index int) []T { function RemoveSlice (line 115) | func RemoveSlice[T any](arr []T, index int, length int) []T { function ToJson (line 119) | func ToJson(value interface{}) string { function UnmarshalJson (line 127) | func UnmarshalJson[T any](value string) T { function DeepCopy (line 136) | func DeepCopy[T any](value T) T { function GetSegment (line 140) | func GetSegment[T any](arr []T, length int) []T { function GetSegmentString (line 147) | func GetSegmentString(arr string, length int) string { function GetLatestSegment (line 154) | func GetLatestSegment[T any](arr []T, length int) []T { function Reverse (line 161) | func Reverse[T any](arr []T) []T { function Multi (line 168) | func Multi[T comparable](condition bool, tval, fval T) T { function MultiF (line 176) | func MultiF[T comparable](condition bool, tval func() T, fval T) T { function InsertChannel (line 184) | func InsertChannel[T any](ch chan T, value T, index int) { function Sort (line 195) | func Sort[T any](arr []T, compare func(a, b T) bool) []T { function Each (line 232) | func Each[T any, U any](arr []T, f func(T) U) []U { function EachObject (line 240) | func EachObject[T any, V any](arr []T, f func(T) (string, V)) map[string... function EachNotNil (line 249) | func EachNotNil[T any, U any](arr []T, f func(T) *U) []U { function Filter (line 259) | func Filter[T any](arr []T, f func(T) bool) []T { function Sleep (line 269) | func Sleep(ms int) { function GetPtrVal (line 273) | func GetPtrVal[T any](ptr *T, def T) T { function LimitMax (line 280) | func LimitMax[T int | int64 | float32 | float64](value T, max T) T { function LimitMin (line 287) | func LimitMin[T int | int64 | float32 | float64](value T, min T) T { function InRange (line 294) | func InRange[T int | int64 | float32 | float64](value T, min T, max T) b... function GetError (line 298) | func GetError(err error) string { function GetIndexSafe (line 305) | func GetIndexSafe[T any](arr []T, index int) *T { function All (line 312) | func All(arr ...bool) bool { function Any (line 321) | func Any(arr ...bool) bool { function Range (line 330) | func Range(start int, end int) []int { function GetStringConfs (line 338) | func GetStringConfs(key ...string) string { FILE: utils/bootstrap.go function ReadConf (line 13) | func ReadConf() { function NewEngine (line 42) | func NewEngine() *gin.Engine { FILE: utils/buffer.go type Charge (line 10) | type Charge interface type Buffer (line 21) | type Buffer struct method GetCursor (line 84) | func (b *Buffer) GetCursor() int { method GetQuota (line 88) | func (b *Buffer) GetQuota() float32 { method GetRecordQuota (line 92) | func (b *Buffer) GetRecordQuota() float32 { method Write (line 97) | func (b *Buffer) Write(data string) string { method WriteChunk (line 105) | func (b *Buffer) WriteChunk(data *globals.Chunk) string { method GetChunk (line 117) | func (b *Buffer) GetChunk() string { method InitVisionRecall (line 121) | func (b *Buffer) InitVisionRecall() { method AddImage (line 126) | func (b *Buffer) AddImage(image *Image) { method GetImages (line 141) | func (b *Buffer) GetImages() Images { method SetToolCalls (line 145) | func (b *Buffer) SetToolCalls(toolCalls *globals.ToolCalls) { method AddToolCalls (line 196) | func (b *Buffer) AddToolCalls(toolCalls *globals.ToolCalls) { method SetFunctionCall (line 204) | func (b *Buffer) SetFunctionCall(functionCall *globals.FunctionCall) { method GetToolCalls (line 212) | func (b *Buffer) GetToolCalls() *globals.ToolCalls { method GetFunctionCall (line 219) | func (b *Buffer) GetFunctionCall() *globals.FunctionCall { method IsFunctionCalling (line 223) | func (b *Buffer) IsFunctionCalling() bool { method IsEmpty (line 227) | func (b *Buffer) IsEmpty() bool { method GetModel (line 231) | func (b *Buffer) GetModel() string { method GetCharge (line 235) | func (b *Buffer) GetCharge() Charge { method ToChargeInfo (line 239) | func (b *Buffer) ToChargeInfo() string { method SetPrompts (line 256) | func (b *Buffer) SetPrompts(prompts interface{}) { method Read (line 260) | func (b *Buffer) Read() string { method ReadBytes (line 264) | func (b *Buffer) ReadBytes() []byte { method ReadWithDefault (line 268) | func (b *Buffer) ReadWithDefault(_default string) string { method ReadTimes (line 275) | func (b *Buffer) ReadTimes() int { method SetInputTokens (line 279) | func (b *Buffer) SetInputTokens(tokens int) { method CountInputToken (line 283) | func (b *Buffer) CountInputToken() int { method CountOutputToken (line 287) | func (b *Buffer) CountOutputToken(running bool) int { method CountToken (line 297) | func (b *Buffer) CountToken() int { method GetDuration (line 301) | func (b *Buffer) GetDuration() float32 { method GetStartTime (line 309) | func (b *Buffer) GetStartTime() *time.Time { method GetPrompts (line 313) | func (b *Buffer) GetPrompts() string { method GetTokenName (line 317) | func (b *Buffer) GetTokenName() string { method SetTokenName (line 325) | func (b *Buffer) SetTokenName(tokenName string) { method GetRecordPrompts (line 329) | func (b *Buffer) GetRecordPrompts() string { method GetRecordResponsePrompts (line 337) | func (b *Buffer) GetRecordResponsePrompts() string { function initInputToken (line 40) | func initInputToken(model string, history []globals.Message) int { function NewBuffer (line 69) | func NewBuffer(model string, history []globals.Message, charge Charge) *... function hitTool (line 149) | func hitTool(tool globals.ToolCall, tools globals.ToolCalls) (int, *glob... function appendTool (line 168) | func appendTool(tool globals.ToolCall, chunk globals.ToolCall) string { function mixTools (line 175) | func mixTools(source *globals.ToolCalls, target *globals.ToolCalls) *glo... FILE: utils/cache.go function Incr (line 11) | func Incr(cache *redis.Client, key string, delta int64) (int64, error) { function Decr (line 15) | func Decr(cache *redis.Client, key string, delta int64) (int64, error) { function GetInt (line 19) | func GetInt(cache *redis.Client, key string) (int64, error) { function MustInt (line 23) | func MustInt(cache *redis.Client, key string) int64 { function SetInt (line 31) | func SetInt(cache *redis.Client, key string, value int64, expiration int... function SetJson (line 35) | func SetJson(cache *redis.Client, key string, value interface{}, expirat... function GetCacheStore (line 40) | func GetCacheStore[T any](cache *redis.Client, key string) *T { function GetCache (line 48) | func GetCache(cache *redis.Client, key string) (string, error) { function SetCache (line 52) | func SetCache(cache *redis.Client, key string, value string, expiration ... function IncrWithLimit (line 56) | func IncrWithLimit(cache *redis.Client, key string, delta int64, limit i... function DecrInt (line 77) | func DecrInt(cache *redis.Client, key string, delta int64) bool { function IncrIP (line 82) | func IncrIP(cache *redis.Client, ip string) int64 { function IncrWithExpire (line 94) | func IncrWithExpire(cache *redis.Client, key string, delta int64, expira... function IncrOnce (line 101) | func IncrOnce(cache *redis.Client, key string, expiration time.Duration) { function IsInBlackList (line 105) | func IsInBlackList(cache *redis.Client, ip string) bool { FILE: utils/char.go function GetRandomInt (line 13) | func GetRandomInt(min int, max int) int { function GenerateCode (line 17) | func GenerateCode(length int) string { function GenerateChar (line 27) | func GenerateChar(length int) string { function ConvertTime (line 38) | func ConvertTime(t []uint8) *time.Time { function Unmarshal (line 46) | func Unmarshal[T interface{}](data []byte) (form T, err error) { function UnmarshalString (line 51) | func UnmarshalString[T interface{}](data string) (form T, err error) { function UnmarshalForm (line 56) | func UnmarshalForm[T interface{}](data string) *T { function Marshal (line 64) | func Marshal[T interface{}](data T) string { function MarshalWithIndent (line 72) | func MarshalWithIndent[T interface{}](data T, length ...int) string { function MapToStruct (line 87) | func MapToStruct[T any](data interface{}) *T { function MapToRawStruct (line 96) | func MapToRawStruct[T any](data interface{}) (*T, error) { function ParseInt (line 110) | func ParseInt(value string) int { function ParseInt64 (line 118) | func ParseInt64(value string) int64 { function ParseFloat32 (line 126) | func ParseFloat32(value string) float32 { function ParseBool (line 134) | func ParseBool(value string) bool { function ConvertSqlTime (line 142) | func ConvertSqlTime(t time.Time) string { function GetImageMarkdown (line 146) | func GetImageMarkdown(url string) string { function GetBase64ImageMarkdown (line 150) | func GetBase64ImageMarkdown(b64 string, _desc ...string) string { function SplitItem (line 171) | func SplitItem(data string, sep string) []string { function SplitItems (line 187) | func SplitItems(data string, seps []string) []string { function SplitLangItems (line 203) | func SplitLangItems(data string) []string { function Extract (line 207) | func Extract(data string, length int, flow_ ...string) string { function ExtractUrls (line 221) | func ExtractUrls(data string) []string { function ExtractImages (line 226) | func ExtractImages(data string, includeBase64 bool) (content string, ima... function ExtractImagesFromMarkdown (line 242) | func ExtractImagesFromMarkdown(data string) (images []string) { function GetVideoMarkdown (line 254) | func GetVideoMarkdown(url string, _desc ...string) string { function ExtractBase64FromMarkdown (line 263) | func ExtractBase64FromMarkdown(data string) (images []string) { function ExtractBase64Images (line 278) | func ExtractBase64Images(data string) []string { function ExtractExternalImages (line 284) | func ExtractExternalImages(data string) []string { function ContainUnicode (line 291) | func ContainUnicode(data string) bool { function DecodeUnicode (line 297) | func DecodeUnicode(data string) string { function EscapeChar (line 310) | func EscapeChar(data string) string { function ProcessRobustnessChar (line 328) | func ProcessRobustnessChar(data string) string { function SortString (line 338) | func SortString(arr []string) []string { function SafeSplit (line 376) | func SafeSplit(data string, sep string, seglen int) (res []string) { function HideSecret (line 408) | func HideSecret(raw string, _flowLength ...int) string { function ToMarkdownCode (line 427) | func ToMarkdownCode(lang string, code string) string { function ToMarkdownError (line 431) | func ToMarkdownError(err error, body string) error { FILE: utils/compress.go function GenerateCompressTask (line 13) | func GenerateCompressTask(hash string, base, path, replacer string) (str... function GenerateCompressTaskAsync (line 34) | func GenerateCompressTaskAsync(hash string, base, path, replacer string)... function handlePath (line 55) | func handlePath(path string) string { function CreateZipObject (line 59) | func CreateZipObject(output string, files []string, replacer string) err... function addFileToZip (line 80) | func addFileToZip(zipWriter *zip.Writer, path string, replacer string) e... function CreateGzipObject (line 109) | func CreateGzipObject(output string, files []string, replacer string) er... function addFileToTar (line 134) | func addFileToTar(tarWriter *tar.Writer, filePath string, replacer strin... FILE: utils/config.go function SaveConfig (line 27) | func SaveConfig(key string, value interface{}) error { function ApplySeo (line 65) | func ApplySeo(title, icon string) { function ApplyPWAManifest (line 94) | func ApplyPWAManifest(content string) { function ReadPWAManifest (line 119) | func ReadPWAManifest() (content string) { function RegisterStaticRoute (line 139) | func RegisterStaticRoute(engine *gin.Engine) { FILE: utils/ctx.go function GetDBFromContext (line 9) | func GetDBFromContext(c *gin.Context) *sql.DB { function GetCacheFromContext (line 13) | func GetCacheFromContext(c *gin.Context) *redis.Client { function GetUserFromContext (line 17) | func GetUserFromContext(c *gin.Context) string { function GetAdminFromContext (line 21) | func GetAdminFromContext(c *gin.Context) bool { function GetAgentFromContext (line 25) | func GetAgentFromContext(c *gin.Context) string { FILE: utils/encrypt.go function Sha2Encrypt (line 14) | func Sha2Encrypt(raw string) string { function Sha2EncryptForm (line 20) | func Sha2EncryptForm(form interface{}) string { function Base64Encode (line 26) | func Base64Encode(raw string) string { function Base64EncodeBytes (line 30) | func Base64EncodeBytes(raw []byte) string { function Base64Decode (line 34) | func Base64Decode(raw string) ([]byte, error) { function Base64DecodeBytes (line 38) | func Base64DecodeBytes(raw string) []byte { function Md5Encrypt (line 46) | func Md5Encrypt(raw string) string { function Md5EncryptForm (line 52) | func Md5EncryptForm(form interface{}) string { function AES256Encrypt (line 58) | func AES256Encrypt(key string, data string) (string, error) { function AES256Decrypt (line 77) | func AES256Decrypt(key string, data string) (string, error) { FILE: utils/fs.go function CreateFolder (line 14) | func CreateFolder(path string) bool { function Exists (line 21) | func Exists(path string) bool { function DirSafe (line 26) | func DirSafe(path string) string { function FileDirSafe (line 31) | func FileDirSafe(file string) string { function FileSafe (line 39) | func FileSafe(file string) string { function WriteFile (line 44) | func WriteFile(path string, data string, folderSafe bool) error { function ReadFile (line 67) | func ReadFile(path string) (string, error) { function Walk (line 88) | func Walk(path string) []string { function GetFileSize (line 105) | func GetFileSize(path string) int64 { function GetFileCreated (line 124) | func GetFileCreated(path string) string { function IsFileExist (line 143) | func IsFileExist(path string) bool { function CopyFile (line 148) | func CopyFile(src string, dst string) error { function DeleteFile (line 176) | func DeleteFile(path string) error { function ReadFileLatestLines (line 180) | func ReadFileLatestLines(path string, length int) (string, error) { FILE: utils/image.go type Image (line 19) | type Image struct method GetWidth (line 106) | func (i *Image) GetWidth() int { method GetHeight (line 110) | func (i *Image) GetHeight() int { method GetPixel (line 114) | func (i *Image) GetPixel(x int, y int) (uint32, uint32, uint32, uint32) { method GetPixelColor (line 118) | func (i *Image) GetPixelColor(x int, y int) (int, int, int) { method CountTokens (line 123) | func (i *Image) CountTokens(model string) int { method IsBase64 (line 139) | func (i *Image) IsBase64() bool { method GetType (line 143) | func (i *Image) GetType() string { method ToBase64 (line 168) | func (i *Image) ToBase64() string { method ToRawBase64 (line 183) | func (i *Image) ToRawBase64() string { type Images (line 23) | type Images function NewImage (line 25) | func NewImage(url string) (*Image, error) { function NewImageContent (line 78) | func NewImageContent(content string) *Image { function ConvertToBase64 (line 82) | func ConvertToBase64(url string) (string, error) { function DownloadImage (line 199) | func DownloadImage(url string, path string) error { function StoreImage (line 228) | func StoreImage(url string) string { FILE: utils/net.go function newClient (line 21) | func newClient(c []globals.ProxyConfig) *http.Client { function fillHeaders (line 81) | func fillHeaders(req *http.Request, headers map[string]string) { function formatBodyForLog (line 87) | func formatBodyForLog(data []byte, contentType string) string { function formatSize (line 139) | func formatSize(bytes int) string { function Http (line 152) | func Http(uri string, method string, ptr interface{}, headers map[string... function HttpRaw (line 218) | func HttpRaw(uri string, method string, headers map[string]string, body ... function Get (line 272) | func Get(uri string, headers map[string]string, config ...globals.ProxyC... function GetRaw (line 277) | func GetRaw(uri string, headers map[string]string, config ...globals.Pro... function Post (line 285) | func Post(uri string, headers map[string]string, body interface{}, confi... function ToString (line 290) | func ToString(data interface{}) string { function PostRaw (line 312) | func PostRaw(uri string, headers map[string]string, body interface{}, co... function ConvertBody (line 320) | func ConvertBody(body interface{}) (form io.Reader) { function EventSource (line 327) | func EventSource(method string, uri string, headers map[string]string, b... FILE: utils/scanner.go type EventScannerProps (line 14) | type EventScannerProps struct type EventScannerError (line 23) | type EventScannerError struct function getErrorBody (line 28) | func getErrorBody(resp *http.Response) string { function EventScanner (line 40) | func EventScanner(props *EventScannerProps, config ...globals.ProxyConfi... function processFullSSE (line 96) | func processFullSSE(body io.ReadCloser, callback func(string) error) *Ev... function processLegacySSE (line 170) | func processLegacySSE(body io.ReadCloser, callback func(string) error) *... FILE: utils/smtp.go type SmtpPoster (line 11) | type SmtpPoster struct method Valid (line 31) | func (s *SmtpPoster) Valid() bool { method SendMail (line 35) | func (s *SmtpPoster) SendMail(to string, subject string, body string) ... method RenderTemplate (line 62) | func (s *SmtpPoster) RenderTemplate(filename string, data interface{})... method RenderMail (line 76) | func (s *SmtpPoster) RenderMail(filename string, data interface{}, to ... function NewSmtpPoster (line 20) | func NewSmtpPoster(host string, protocol bool, port int, username string... FILE: utils/sse.go type StreamEvent (line 15) | type StreamEvent struct method Render (line 55) | func (r StreamEvent) Render(w http.ResponseWriter) error { method WriteContentType (line 60) | func (r StreamEvent) WriteContentType(w http.ResponseWriter) { type stringWriter (line 21) | type stringWriter interface type stringWrapper (line 26) | type stringWrapper struct method writeString (line 30) | func (w stringWrapper) writeString(str string) (int, error) { function checkWriter (line 34) | func checkWriter(writer io.Writer) stringWriter { function encode (line 42) | func encode(writer io.Writer, event StreamEvent) error { function writeData (line 47) | func writeData(w stringWriter, data interface{}) error { function NewEvent (line 69) | func NewEvent(data interface{}) StreamEvent { function NewEndEvent (line 76) | func NewEndEvent() StreamEvent { FILE: utils/tokenizer.go function GetWeightByModel (line 15) | func GetWeightByModel(model string) int { function NumTokensFromMessages (line 49) | func NumTokensFromMessages(messages []globals.Message, model string, res... function NumTokensFromResponse (line 85) | func NumTokensFromResponse(response string, model string) int { function CountInputQuota (line 93) | func CountInputQuota(charge Charge, token int) float32 { function CountOutputToken (line 101) | func CountOutputToken(charge Charge, token int) float32 { FILE: utils/websocket.go function init (line 19) | func init() { function increaseConns (line 24) | func increaseConns() { function decreaseConns (line 35) | func decreaseConns() { function GetConns (line 46) | func GetConns() int64 { type WebSocket (line 50) | type WebSocket struct method Init (line 105) | func (w *WebSocket) Init() { method SetMaxTimeout (line 119) | func (w *WebSocket) SetMaxTimeout(timeout time.Duration) { method GetMaxTimeout (line 123) | func (w *WebSocket) GetMaxTimeout() time.Duration { method Read (line 130) | func (w *WebSocket) Read() (int, []byte, error) { method Write (line 134) | func (w *WebSocket) Write(messageType int, data []byte) error { method Close (line 138) | func (w *WebSocket) Close() error { method DeferClose (line 142) | func (w *WebSocket) DeferClose() { method NextWriter (line 149) | func (w *WebSocket) NextWriter(messageType int) (io.WriteCloser, error) { method ReadJSON (line 153) | func (w *WebSocket) ReadJSON(v interface{}) error { method SendJSON (line 157) | func (w *WebSocket) SendJSON(v interface{}) error { method Send (line 161) | func (w *WebSocket) Send(v interface{}) bool { method Receive (line 165) | func (w *WebSocket) Receive(v interface{}) bool { method SendText (line 169) | func (w *WebSocket) SendText(message string) bool { method DecrRate (line 173) | func (w *WebSocket) DecrRate(key string) bool { method IncrRate (line 178) | func (w *WebSocket) IncrRate(key string) bool { method IncrRateWithLimit (line 184) | func (w *WebSocket) IncrRateWithLimit(key string, limit int64, expirat... method GetCtx (line 190) | func (w *WebSocket) GetCtx() *gin.Context { method GetDB (line 194) | func (w *WebSocket) GetDB() *sql.DB { method GetCache (line 198) | func (w *WebSocket) GetCache() *redis.Client { method GetConn (line 202) | func (w *WebSocket) GetConn() *websocket.Conn { method IsClosed (line 206) | func (w *WebSocket) IsClosed() bool { function CheckUpgrader (line 59) | func CheckUpgrader(c *gin.Context, strict bool) *websocket.Upgrader { function NewWebsocket (line 74) | func NewWebsocket(c *gin.Context, strict bool) *WebSocket { function NewWebsocketClient (line 93) | func NewWebsocketClient(url string) *WebSocket { function ReadForm (line 210) | func ReadForm[T interface{}](w *WebSocket) (*T, error) {