import { Context, Service } from 'koishi'; import { APIConfig, BehaviorConfig } from '../types/config'; import { ChatResult, ModelUsage, Msg } from '../types/message'; declare module 'koishi' { interface Context { chatAPI: ChatAPI; } } export type ChatAPIConfig = APIConfig & Pick; declare class ChatAPI extends Service { private key_number; private readonly pluginConfig; constructor(ctx: Context, config: ChatAPIConfig); /** * 带重试的聊天请求 * @param session_of_id 发送给 chatgpt 的消息列表 */ chat(session_of_id: Msg[]): Promise; /** * @param message 发送给chatgpt的json列表 * @returns 将返回文字处理成json */ chat_with_gpt(message: Msg[]): Promise; readableStreamDecoder(data: ReadableStream): Promise<{ contents: string; reasoning_content: string; usage: ModelUsage; }>; /** * 切换下一个 key */ key_number_pp(): void; /** * 当前 key 报错时切换 key * @param e Error */ switch_key(e: Error): Promise; } export default ChatAPI;