Das Paket docmd-assistant exportiert die Hauptklasse DocmdAssistantEngine, Hilfsfunktionen und TypeScript-Typdefinitionen.
import {
DocmdAssistantEngine,
createStandardTools,
DEFAULT_SYSTEM_PROMPT,
ENGINE_VERSION
} from 'docmd-assistant';
Klasse: DocmdAssistantEngine
Konstruktor
new DocmdAssistantEngine(options?: AssistantOptions)
Initialisiert eine neue Engine-Instanz mit der angegebenen Konfiguration.
const assistant = new DocmdAssistantEngine({
provider: 'openai',
model: 'gpt-4o-mini',
apiKey: process.env.OPENAI_API_KEY,
systemPrompt: 'Sie sind ein KI-Dokumentationsassistent.'
});
Nachrichteneigenschaften & Methoden
sendMessage(content, overrideOptions?)
Hängt eine Benutzernachricht an den Verlauf an, führt die Konversationsrunde aus und gibt ein ChatResponse-Promise zurück.
public async sendMessage(
content: string,
overrideOptions?: Partial<AssistantOptions>
): Promise<ChatResponse>
Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
content |
string |
Nachrichtentext des Benutzers |
overrideOptions |
Partial<AssistantOptions> |
Optionale Konfigurations-Overrides für eine Runde |
Rückgabewert: Promise<ChatResponse>
interface ChatResponse {
message: string;
role: 'assistant';
unconfigured?: boolean;
unconfiguredData?: any;
history: ChatMessage[];
usage?: {
promptTokens?: number;
completionTokens?: number;
totalTokens?: number;
};
}
Werkzeug-Verwaltungsmethoden
registerTool(tool)
Registriert einen Werkzeug-Handler auf der Engine-Instanz.
public registerTool(tool: AssistantTool): this
unregisterTool(name)
Enfernt ein Werkzeug nach Namen. Gibt true zurück, wenn das Werkzeug gefunden und gelöscht wurde.
public unregisterTool(name: string): boolean
getTools()
Gibt ein Array aller registrierten Werkzeuge zurück.
public getTools(): AssistantTool[]
getTool(name)
Gibt eine spezifische Werkzeugdefinition nach Namen zurück oder undefined, falls nicht registriert.
public getTool(name: string): AssistantTool | undefined
executeTool(name, args)
Führt ein registriertes Werkzeug manuell mit Argumenten aus.
public async executeTool(name: string, args: any): Promise<any>
Konfigurations- & System-Prompt-Methoden
updateOptions(newOptions)
Aktualisiert Engine-Optionen dynamisch.
public updateOptions(newOptions: Partial<AssistantOptions>): this
setSystemPrompt(prompt)
Ersetzt den aktiven System-Prompt.
public setSystemPrompt(prompt: string): this
appendSystemPrompt(additionalPrompt)
Hängt zusätzlichen Text an den bestehenden System-Prompt an.
public appendSystemPrompt(additionalPrompt: string): this
getSystemPrompt()
Gibt den aktuell aktiven System-Prompt als String zurück.
public getSystemPrompt(): string
Verlaufs-Verwaltungsmethoden
getHistory()
Gibt eine Kopie des aktuellen Konversationsverlaufs zurück.
public getHistory(): ChatMessage[]
setHistory(history)
Ersetzt den aktuellen Konversationsverlauf.
public setHistory(history: ChatMessage[]): this
clearHistory()
Löscht alle Nachrichten im Verlauf und löst das Event 'clear' aus.
public clearHistory(): this
addMessage(message)
Fügt ein Nachrichtenobjekt direkt zum Verlauf hinzu.
public addMessage(message: ChatMessage): this
Event-Subskriptionsmethoden
on(event, listener)
Registriert einen Event-Listener für Engine-Events ('message', 'tool_call', 'tool_result', 'error', 'clear').
public on(event: AssistantEventType, listener: AssistantEventListener): this
off(event, listener)
Entfernt einen registrierten Event-Listener.
public off(event: AssistantEventType, listener: AssistantEventListener): this
Exportierte Typdefinitionen
Alle TypeScript-Schnittstellen werden direkt aus docmd-assistant exportiert:
import type {
AssistantOptions,
AssistantTool,
AssistantToolParameters,
AssistantToolParameterProperty,
ChatMessage,
ChatResponse,
SearchResultItem,
AssistantEventType,
AssistantEvent,
AssistantEventListener
} from 'docmd-assistant';