UNPKG

koishi-plugin-satori-ai

Version:

基于 Satori 适配器的智能对话插件,具备用户画像、长期记忆、常识管理和好感度系统

70 lines (69 loc) 2.44 kB
import { Context, Session } from 'koishi'; import { Sat, User } from './types'; import Puppeteer from 'koishi-plugin-puppeteer'; import { BroadcastManager } from './broadcast'; import { WeatherManager } from './weather'; export declare let puppeteer: Puppeteer | null; export declare function refreshPuppeteer(ctx: Context): void; export declare class SAT extends Sat { config: Sat.Config; private apiClient; private memoryManager; private portraitManager; private ChannelParallelCount; private onlineUsers; private moodManager; broadcastManager: BroadcastManager; weatherManager: WeatherManager; private usersToWarn; private puppeteer; private game; private galgame; private emojiManager; setPuppeteer(puppeteer: Puppeteer): void; private waitForPuppeteer; puppeteerReady(): boolean; constructor(ctx: Context, config: Sat.Config); private getAPIConfig; private getMemoryConfig; private getMiddlewareConfig; private getFavorabilityConfig; private registerCommands; private registerGalgameCommands; private handleSatCommand; private handleAuxiliaryDialogue; private checkFavorabilityBlock; private performPreChecks; private checkDuplicateDialogue; private handleFixedDialoguesCheck; private checkUserDialogueCount; private updateChannelParallelCount; private getChannelParallelCount; private processInput; generateResponse(session: Session, prompt: string): Promise<{ content: string; error: boolean; reasoning_content?: string; }>; getChatResponse(user: User, messages: Sat.Msg[], prompt: string): Promise<{ content: string; error: boolean; reasoning_content?: string; }>; private buildMessages; private buildSystemPrompt; private getThinkingPrompt; private formatResponse; private addUserToWarnList; getWarningList(session: Session): Promise<void>; private clearSession; private addCommonSense; addGroupCommonSense(session: Session, content: string, groupId: string): Promise<string>; private handleUserLevel; private handleUserUsage; handleRandomMiddleware(session: Session): Promise<string>; handleNickNameMiddleware(session: Session, prompt: string): Promise<string>; handleChannelMemoryManager(session: Session): Promise<void>; dispose(): Promise<void>; } export default SAT;