koishi-plugin-satori-ai
Version:
基于 Satori 适配器的智能对话插件,具备用户画像、长期记忆、常识管理和好感度系统
70 lines (69 loc) • 2.44 kB
TypeScript
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;