Spaces:
Runtime error
Runtime error
| export class ConfigState { | |
| timeoutMs?: number | |
| apiKey?: string | |
| accessToken?: string | |
| accessTokenExpiredTime?: string | |
| apiBaseUrl?: string | |
| apiModel?: APIMODEL | |
| reverseProxy?: string | |
| socksProxy?: string | |
| socksAuth?: string | |
| httpsProxy?: string | |
| balance?: number | |
| siteConfig?: SiteConfig | |
| mailConfig?: MailConfig | |
| auditConfig?: AuditConfig | |
| } | |
| // https://platform.openai.com/docs/models/overview | |
| export type CHATMODEL = 'gpt-3.5-turbo' | 'gpt-3.5-turbo-0301' | 'gpt-4' | 'gpt-4-0314' | 'gpt-4-32k' | 'gpt-4-32k-0314' | 'text-davinci-002-render-sha' | 'text-davinci-002-render-sha-mobile' | 'gpt-4-mobile' | 'gpt-4-browsing' | |
| export class UserConfig { | |
| chatModel?: CHATMODEL | |
| } | |
| export class SiteConfig { | |
| siteTitle?: string | |
| loginEnabled?: boolean | |
| loginSalt?: string | |
| registerEnabled?: boolean | |
| registerReview?: boolean | |
| registerMails?: string | |
| siteDomain?: string | |
| } | |
| export class MailConfig { | |
| smtpHost?: string | |
| smtpPort?: number | |
| smtpTsl?: boolean | |
| smtpUserName?: string | |
| smtpPassword?: string | |
| } | |
| export type TextAuditServiceProvider = 'baidu' // | 'ali' | |
| export interface TextAuditServiceOptions { | |
| apiKey: string | |
| apiSecret: string | |
| label?: string | |
| } | |
| export enum TextAudioType { | |
| None = 0, | |
| Request = 1 << 0, // 二进制 01 | |
| Response = 1 << 1, // 二进制 10 | |
| All = Request | Response, // 二进制 11 | |
| } | |
| export class AuditConfig { | |
| enabled?: boolean | |
| provider?: TextAuditServiceProvider | |
| options?: TextAuditServiceOptions | |
| textType?: TextAudioType | |
| customizeEnabled?: boolean | |
| sensitiveWords?: string | |
| } | |
| export enum Status { | |
| Normal = 0, | |
| Deleted = 1, | |
| InversionDeleted = 2, | |
| ResponseDeleted = 3, | |
| PreVerify = 4, | |
| AdminVerify = 5, | |
| Disabled = 6, | |
| } | |
| export enum UserRole { | |
| Admin = 0, | |
| User = 1, | |
| Guest = 2, | |
| Support = 3, | |
| Viewer = 4, | |
| Contributor = 5, | |
| Developer = 6, | |
| Tester = 7, | |
| Partner = 8, | |
| } | |
| export class KeyConfig { | |
| _id?: string | |
| key: string | |
| keyModel: APIMODEL | |
| chatModels: CHATMODEL[] | |
| userRoles: UserRole[] | |
| status: Status | |
| remark: string | |
| constructor(key: string, keyModel: APIMODEL, chatModels: CHATMODEL[], userRoles: UserRole[], remark: string) { | |
| this.key = key | |
| this.keyModel = keyModel | |
| this.chatModels = chatModels | |
| this.userRoles = userRoles | |
| this.status = Status.Normal | |
| this.remark = remark | |
| } | |
| } | |
| export type APIMODEL = 'ChatGPTAPI' | 'ChatGPTUnofficialProxyAPI' | undefined | |
| export const apiModelOptions = ['ChatGPTAPI', 'ChatGPTUnofficialProxyAPI'].map((model: string) => { | |
| return { | |
| label: model, | |
| key: model, | |
| value: model, | |
| } | |
| }) | |
| export const userRoleOptions = Object.values(UserRole).filter(d => isNaN(Number(d))).map((role) => { | |
| return { | |
| label: role as string, | |
| key: role as string, | |
| value: UserRole[role as keyof typeof UserRole], | |
| } | |
| }) | |
| export class UserInfo { | |
| _id?: string | |
| roles: UserRole[] | |
| constructor(roles: UserRole[]) { | |
| this.roles = roles | |
| } | |
| } |