UNPKG

koishi-plugin-koishiaimix

Version:

基于AiHubMix API的AI对话和绘图插件,支持多种AI模型的聊天对话和图像生成功能,现已支持xAI Grok绘图

170 lines (169 loc) 3.95 kB
export interface ChatMessage { role: 'system' | 'user' | 'assistant'; content: string | Array<{ type: 'text' | 'image_url'; text?: string; image_url?: { url: string; }; }>; } export interface ChatRequest { model: string; messages: ChatMessage[]; max_tokens?: number; temperature?: number; stream?: boolean; } export interface ChatResponse { choices: Array<{ message: { role: string; content: string; }; finish_reason: string; }>; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export interface ImageRequest { model: string; prompt: string; n?: number; size?: string; quality?: string; moderation?: 'low' | 'auto'; background?: 'transparent' | 'opaque' | 'auto'; } export interface ImageResponse { data: Array<{ b64_json?: string; url?: string; revised_prompt?: string; }>; usage?: { input_tokens: number; output_tokens: number; total_tokens: number; }; } export interface GeminiImageRequest { model: string; messages: Array<{ role: string; content: string; }>; modalities: string[]; temperature?: number; } export interface GeminiImageResponse { choices: Array<{ message: { content?: string; multi_mod_content?: Array<{ text?: string; inline_data?: { data: string; mimeType: string; }; }>; }; }>; usage?: { input_tokens: number; output_tokens: number; total_tokens: number; }; } export interface ModelInfo { id: string; object: string; created: number; owned_by: string; root?: string; } export interface ModelsResponse { data: ModelInfo[]; } export interface ImagenRequest { model: string; prompt: string; config: { number_of_images: number; aspect_ratio: string; }; } export interface ImagenResponse { generated_images: Array<{ image: { image_bytes: string; }; }>; } export interface XAIImageRequest { model: string; prompt: string; n?: number; size?: string; quality?: string; } export interface XAIImageResponse { data: Array<{ url?: string; b64_json?: string; revised_prompt?: string; }>; usage?: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export declare class AiHubMixAPI { private apiKey; private baseUrl; private timeout; private retryCount; private client; private logger; constructor(apiKey: string, baseUrl: string, timeout?: number, retryCount?: number); /** * 发送聊天请求 */ chat(request: ChatRequest): Promise<ChatResponse>; /** * 发送图像生成请求 */ generateImage(request: ImageRequest): Promise<ImageResponse>; /** * 发送Gemini智绘请求 */ generateImageWithGemini(request: GeminiImageRequest): Promise<GeminiImageResponse>; /** * 发送Imagen绘图请求 */ generateImageWithImagen(request: ImagenRequest): Promise<ImagenResponse>; /** * 发送xAI绘图请求 */ generateImageWithXAI(request: XAIImageRequest, xaiApiKey: string, xaiBaseUrl: string): Promise<XAIImageResponse>; /** * 获取可用模型列表 */ getModels(): Promise<ModelsResponse>; /** * 发送图像编辑请求 */ editImage(image: Buffer, prompt: string, mask?: Buffer, options?: Partial<ImageRequest>): Promise<ImageResponse>; /** * 错误处理 */ private handleError; /** * 测试API连接 */ testConnection(): Promise<boolean>; }