UNPKG

koishi-plugin-davinci-003

Version:
161 lines (160 loc) 4.43 kB
import { Context, segment, Element, Session, Next, Fragment } from "koishi"; import { Dvc } from "./type"; declare module "@koishijs/plugin-console" { interface Events { "davinci-003/getusage"(): string; "davinci-003/chatTest"(text: string): Promise<string>; "davinci-003/addPersonality"(personality: PersonalityConfig): Promise<string>; } } interface Personality { role: "system" | "user" | "assistant"; content: string; } interface PersonalityConfig { name: string; personality: Personality[]; } declare module "koishi" { interface Context { dvc: DVc; } } declare class DVc extends Dvc { pluginConfig: Dvc.Config; constructor(ctx: Context, config: Dvc.Config); /** * * @param lang 目标语言 * @param prompt 要翻译的内容 * @returns 翻译后的内容 */ translate(lang: string, prompt: string): Promise<string>; /** * * @param session 会话 * @param prompt 描述词 * @param n 生成数量 * @param size 图片大小 * @returns Promise<string|segment> */ paint(session: Session, prompt: string, n: number, size: string): Promise<string | segment>; /** * * @param session 会话 * @param prompt 会话内容 * @returns Promise<string | Element> */ dvc(session: Session, prompt: string): Promise<string | Element | void>; /** * * @param session 当前会话 * @param next 通过函数 * @returns 消息 */ middleware(session: Session, next: Next): Promise<string | string[] | segment | void | Fragment>; /** * * @param message 发送给chatgpt的json列表 * @returns 将返回文字处理成json */ chat_with_gpt(message: Dvc.Msg[]): Promise<string>; readableStreamDecoder(data: ReadableStream): Promise<{ contents: string; reasoning_content: string; }>; /** * 切换下一个 key */ key_number_pp(): void; /** * 先查询余额 ,如果余额为 0,切换key * @param session 会话 * @param e Error */ switch_key(e: Error): Promise<void>; /** * * @param sessionid QQ号 * @returns 对应QQ的会话 */ get_chat_session(sessionid: string): Dvc.Msg[]; /** * * @param msg prompt消息 * @param sessionid QQ号 * @returns json消息 */ chat(msg: string, sessionid: string, session: Session): Promise<string | segment>; /** * * @param cb chat 回调函数 chat_with_gpt * @param session 会话 * @param session_of_id 会话 ID * @returns */ try_control(session_of_id: Dvc.Msg[]): Promise<string>; /** * 删除人格逻辑 * @param session * @param nick_name * @returns */ rm_personality(session: Session, nick_name?: string): Promise<string>; /** * 删除人格 * @param session 会话 * @param nick_name 人格名称 * @returns 字符串 */ personality_rm(session: Session, nick_name: string[]): string; /** * * @param session 会话 * @param type 输出类型,字符串 * @returns Promise<string> */ switch_output(session: Session, type: string): Promise<string>; /** * * @param userId 用户QQ号 * @param resp gpt返回的json * @returns 文字,图片或聊天记录 */ getContent(userId: string, resp: Dvc.Msg[], messageId: string, botId: string): Promise<string | segment>; /** * * @param session 会话 * @returns 切换后的引擎 */ /** * * @param session 会话 * @param prompt 人格昵称 * @returns 人格切换状态 */ switch_personality(session: Session, prompt: string): Promise<string>; /** * 重置个人会话,保留人格 * @param session 会话 * @returns */ reset(session: Session): string; add_personality(session: Session, nick_name: string): Promise<string>; /** * 设置人格 * @param session 会话 * @param nick_name 人格昵称 * @param description 对话 * @returns 字符 */ set_personality(session: Session, nick_name: string): string; /** * * @param session 当前会话 * @returns 返回清空的消息 */ clear(session: Session): string; } declare namespace DVc { } export default DVc;