|
| 1 | +--- |
| 2 | +title: "Programmierbare API" |
| 3 | +description: "Vollständige Klassen-, Methoden- und Typenreferenz für DocmdAssistantEngine." |
| 4 | +--- |
| 5 | + |
| 6 | +Das Paket `docmd-assistant` exportiert die Hauptklasse `DocmdAssistantEngine`, Hilfsfunktionen und TypeScript-Typdefinitionen. |
| 7 | + |
| 8 | +```typescript |
| 9 | +import { |
| 10 | + DocmdAssistantEngine, |
| 11 | + createStandardTools, |
| 12 | + DEFAULT_SYSTEM_PROMPT, |
| 13 | + ENGINE_VERSION |
| 14 | +} from 'docmd-assistant'; |
| 15 | +``` |
| 16 | + |
| 17 | +## Klasse: DocmdAssistantEngine |
| 18 | + |
| 19 | +### Konstruktor |
| 20 | + |
| 21 | +```typescript |
| 22 | +new DocmdAssistantEngine(options?: AssistantOptions) |
| 23 | +``` |
| 24 | + |
| 25 | +Initialisiert eine neue Engine-Instanz mit der angegebenen Konfiguration. |
| 26 | + |
| 27 | +```typescript |
| 28 | +const assistant = new DocmdAssistantEngine({ |
| 29 | + provider: 'openai', |
| 30 | + model: 'gpt-4o-mini', |
| 31 | + apiKey: process.env.OPENAI_API_KEY, |
| 32 | + systemPrompt: 'Sie sind ein KI-Dokumentationsassistent.' |
| 33 | +}); |
| 34 | +``` |
| 35 | + |
| 36 | +## Nachrichteneigenschaften & Methoden |
| 37 | + |
| 38 | +### sendMessage(content, overrideOptions?) |
| 39 | + |
| 40 | +Hängt eine Benutzernachricht an den Verlauf an, führt die Konversationsrunde aus und gibt ein `ChatResponse`-Promise zurück. |
| 41 | + |
| 42 | +```typescript |
| 43 | +public async sendMessage( |
| 44 | + content: string, |
| 45 | + overrideOptions?: Partial<AssistantOptions> |
| 46 | +): Promise<ChatResponse> |
| 47 | +``` |
| 48 | + |
| 49 | +**Parameter:** |
| 50 | + |
| 51 | +| Parameter | Typ | Beschreibung | |
| 52 | +| :-------- | :--- | :---------- | |
| 53 | +| `content` | `string` | Nachrichtentext des Benutzers | |
| 54 | +| `overrideOptions` | `Partial<AssistantOptions>` | Optionale Konfigurations-Overrides für eine Runde | |
| 55 | + |
| 56 | +**Rückgabewert:** `Promise<ChatResponse>` |
| 57 | + |
| 58 | +```typescript |
| 59 | +interface ChatResponse { |
| 60 | + message: string; |
| 61 | + role: 'assistant'; |
| 62 | + unconfigured?: boolean; |
| 63 | + unconfiguredData?: any; |
| 64 | + history: ChatMessage[]; |
| 65 | + usage?: { |
| 66 | + promptTokens?: number; |
| 67 | + completionTokens?: number; |
| 68 | + totalTokens?: number; |
| 69 | + }; |
| 70 | +} |
| 71 | +``` |
| 72 | + |
| 73 | +## Werkzeug-Verwaltungsmethoden |
| 74 | + |
| 75 | +### registerTool(tool) |
| 76 | + |
| 77 | +Registriert einen Werkzeug-Handler auf der Engine-Instanz. |
| 78 | + |
| 79 | +```typescript |
| 80 | +public registerTool(tool: AssistantTool): this |
| 81 | +``` |
| 82 | + |
| 83 | +### unregisterTool(name) |
| 84 | + |
| 85 | +Enfernt ein Werkzeug nach Namen. Gibt `true` zurück, wenn das Werkzeug gefunden und gelöscht wurde. |
| 86 | + |
| 87 | +```typescript |
| 88 | +public unregisterTool(name: string): boolean |
| 89 | +``` |
| 90 | + |
| 91 | +### getTools() |
| 92 | + |
| 93 | +Gibt ein Array aller registrierten Werkzeuge zurück. |
| 94 | + |
| 95 | +```typescript |
| 96 | +public getTools(): AssistantTool[] |
| 97 | +``` |
| 98 | + |
| 99 | +### getTool(name) |
| 100 | + |
| 101 | +Gibt eine spezifische Werkzeugdefinition nach Namen zurück oder `undefined`, falls nicht registriert. |
| 102 | + |
| 103 | +```typescript |
| 104 | +public getTool(name: string): AssistantTool | undefined |
| 105 | +``` |
| 106 | + |
| 107 | +### executeTool(name, args) |
| 108 | + |
| 109 | +Führt ein registriertes Werkzeug manuell mit Argumenten aus. |
| 110 | + |
| 111 | +```typescript |
| 112 | +public async executeTool(name: string, args: any): Promise<any> |
| 113 | +``` |
| 114 | + |
| 115 | +## Konfigurations- & System-Prompt-Methoden |
| 116 | + |
| 117 | +### updateOptions(newOptions) |
| 118 | + |
| 119 | +Aktualisiert Engine-Optionen dynamisch. |
| 120 | + |
| 121 | +```typescript |
| 122 | +public updateOptions(newOptions: Partial<AssistantOptions>): this |
| 123 | +``` |
| 124 | + |
| 125 | +### setSystemPrompt(prompt) |
| 126 | + |
| 127 | +Ersetzt den aktiven System-Prompt. |
| 128 | + |
| 129 | +```typescript |
| 130 | +public setSystemPrompt(prompt: string): this |
| 131 | +``` |
| 132 | + |
| 133 | +### appendSystemPrompt(additionalPrompt) |
| 134 | + |
| 135 | +Hängt zusätzlichen Text an den bestehenden System-Prompt an. |
| 136 | + |
| 137 | +```typescript |
| 138 | +public appendSystemPrompt(additionalPrompt: string): this |
| 139 | +``` |
| 140 | + |
| 141 | +### getSystemPrompt() |
| 142 | + |
| 143 | +Gibt den aktuell aktiven System-Prompt als String zurück. |
| 144 | + |
| 145 | +```typescript |
| 146 | +public getSystemPrompt(): string |
| 147 | +``` |
| 148 | + |
| 149 | +## Verlaufs-Verwaltungsmethoden |
| 150 | + |
| 151 | +### getHistory() |
| 152 | + |
| 153 | +Gibt eine Kopie des aktuellen Konversationsverlaufs zurück. |
| 154 | + |
| 155 | +```typescript |
| 156 | +public getHistory(): ChatMessage[] |
| 157 | +``` |
| 158 | + |
| 159 | +### setHistory(history) |
| 160 | + |
| 161 | +Ersetzt den aktuellen Konversationsverlauf. |
| 162 | + |
| 163 | +```typescript |
| 164 | +public setHistory(history: ChatMessage[]): this |
| 165 | +``` |
| 166 | + |
| 167 | +### clearHistory() |
| 168 | + |
| 169 | +Löscht alle Nachrichten im Verlauf und löst das Event `'clear'` aus. |
| 170 | + |
| 171 | +```typescript |
| 172 | +public clearHistory(): this |
| 173 | +``` |
| 174 | + |
| 175 | +### addMessage(message) |
| 176 | + |
| 177 | +Fügt ein Nachrichtenobjekt direkt zum Verlauf hinzu. |
| 178 | + |
| 179 | +```typescript |
| 180 | +public addMessage(message: ChatMessage): this |
| 181 | +``` |
| 182 | + |
| 183 | +## Event-Subskriptionsmethoden |
| 184 | + |
| 185 | +### on(event, listener) |
| 186 | + |
| 187 | +Registriert einen Event-Listener für Engine-Events (`'message'`, `'tool_call'`, `'tool_result'`, `'error'`, `'clear'`). |
| 188 | + |
| 189 | +```typescript |
| 190 | +public on(event: AssistantEventType, listener: AssistantEventListener): this |
| 191 | +``` |
| 192 | + |
| 193 | +### off(event, listener) |
| 194 | + |
| 195 | +Entfernt einen registrierten Event-Listener. |
| 196 | + |
| 197 | +```typescript |
| 198 | +public off(event: AssistantEventType, listener: AssistantEventListener): this |
| 199 | +``` |
| 200 | + |
| 201 | +## Exportierte Typdefinitionen |
| 202 | + |
| 203 | +Alle TypeScript-Schnittstellen werden direkt aus `docmd-assistant` exportiert: |
| 204 | + |
| 205 | +```typescript |
| 206 | +import type { |
| 207 | + AssistantOptions, |
| 208 | + AssistantTool, |
| 209 | + AssistantToolParameters, |
| 210 | + AssistantToolParameterProperty, |
| 211 | + ChatMessage, |
| 212 | + ChatResponse, |
| 213 | + SearchResultItem, |
| 214 | + AssistantEventType, |
| 215 | + AssistantEvent, |
| 216 | + AssistantEventListener |
| 217 | +} from 'docmd-assistant'; |
| 218 | +``` |
0 commit comments