Skip to content

Commit 4bd9056

Browse files
authored
Merge pull request #17 from docmd-io/dev-0.9.0
Update docs for 0.9.0 + Added spanish translations
2 parents 089a2b0 + a5aacad commit 4bd9056

553 files changed

Lines changed: 29757 additions & 15544 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docmd-assistant/de/api.md

Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
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+
```
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: "Konfiguration"
3+
description: "Vollständige Referenz der Optionen für die Initialisierung und dynamische Runtime-Updates von docmd-assistant."
4+
---
5+
6+
`docmd-assistant` akzeptiert bei der Initialisierung ein flexibles `AssistantOptions`-Konfigurationsobjekt. Alle Einstellungen können auch dynamisch zur Laufzeit aktualisiert werden.
7+
8+
## Optionenschema-Referenz
9+
10+
```typescript
11+
interface AssistantOptions {
12+
provider?: string;
13+
model?: string;
14+
apiKey?: string;
15+
baseURL?: string;
16+
relayUrl?: string;
17+
endpoint?: string;
18+
projectId?: string;
19+
systemPrompt?: string;
20+
history?: ChatMessage[];
21+
tools?: AssistantTool[];
22+
temperature?: number;
23+
maxTokens?: number;
24+
reasoning?: boolean | 'none' | 'low' | 'medium' | 'high';
25+
headers?: Record<string, string>;
26+
}
27+
```
28+
29+
## Parameter-Details
30+
31+
| Feld | Typ | Beschreibung | Standard |
32+
| :---- | :--- | :---------- | :------ |
33+
| `provider` | `string` | Ziel-KI-Anbieter (`'openai'`, `'anthropic'`, `'gemini'`, `'deepseek'`, `'groq'`, `'minimax'`, `'ollama'`) | Dynamisch |
34+
| `model` | `string` | Modell-Bezeichner (z. B. `'gpt-4o-mini'`, `'claude-3-5-haiku-20241022'`) | Dynamisch |
35+
| `apiKey` | `string` | Anbieter-API-Schlüssel für direkte Verbindung via `aiplug` | `undefined` |
36+
| `baseURL` | `string` | Benutzerdefinierte Basis-API-Gateway-URL | `undefined` |
37+
| `relayUrl` | `string` | Cloud-Relay-Endpunkt-URL für schlüsselloses Routing | `undefined` |
38+
| `endpoint` | `string` | Alias für `relayUrl` | `'https://api.docmd.io/v1/ai/chat'` |
39+
| `projectId` | `string` | Projekt-Bezeichner, der mit Relay-Anfragen gesendet wird | `undefined` |
40+
| `systemPrompt` | `string` | Anweisungen zur Identität und zum Verhalten des Assistenten | System-Standard |
41+
| `history` | `ChatMessage[]` | Vorbefüllter Konversationsverlauf | `[]` |
42+
| `tools` | `AssistantTool[]` | Initiales Array registrierter Werkzeuge | `[]` |
43+
| `temperature` | `number` | Sampling-Temperatur (0.0 bis 1.0) | Anbieter-Standard |
44+
| `maxTokens` | `number` | Maximale Token pro Antwort | Anbieter-Standard |
45+
| `reasoning` | `boolean \| string` | Umschalten des erweiterten Reasoning-Modus (`false`, `'low'`, `'medium'`, `'high'`) | `false` |
46+
| `headers` | `Record<string, string>` | Benutzerdefinierte HTTP-Header für Relay-Anfragen | `{}` |
47+
48+
::: callout tip "Standard-System-Prompt"
49+
Wenn kein `systemPrompt` angegeben ist, wendet die Engine einen Standard-Prompt an, der Regeln für die Assistentenidentität, bevorzugte Werkzeugaufrufe und klickbare Zitationslinks durchsetzt.
50+
:::
51+
52+
## Aktualisieren von Optionen zur Laufzeit
53+
54+
Ändern Sie Konfigurationsoptionen dynamisch während einer aktiven Sitzung mit `updateOptions()`:
55+
56+
```typescript
57+
assistant.updateOptions({
58+
provider: 'anthropic',
59+
model: 'claude-3-5-haiku-20241022',
60+
temperature: 0.2
61+
});
62+
```
63+
64+
## System-Prompt-Verwaltung
65+
66+
`docmd-assistant` bietet dedizierte Methoden zum Aktualisieren oder Anhängen von Systemanweisungen:
67+
68+
```typescript
69+
// System-Prompt vollständig ersetzen
70+
assistant.setSystemPrompt('Sie sind ein technischer Support-Spezialist für eine Entwicklerplattform.');
71+
72+
// Zusätzlichen Kontext anhängen
73+
assistant.appendSystemPrompt('Antworten Sie immer auf Deutsch und stellen Sie Schritt-für-Schritt-Codebeispiele bereit.');
74+
75+
// Aktuellen System-Prompt abrufen
76+
const currentPrompt = assistant.getSystemPrompt();
77+
```
78+
79+
## Unterstützung für den Reasoning-Modus
80+
81+
Für Modelle, die erweitertes Reasoning unterstützen (wie DeepSeek-R1 oder OpenAI o3-mini), stellen Sie die Option `reasoning` ein:
82+
83+
```typescript
84+
const assistant = new DocmdAssistantEngine({
85+
provider: 'deepseek',
86+
model: 'deepseek-reasoner',
87+
apiKey: process.env.DEEPSEEK_API_KEY,
88+
reasoning: 'medium'
89+
});
90+
```
91+
92+
## Benutzerdefinierte Relay-Header
93+
94+
Übergeben Sie benutzerdefinierte Header beim Routing durch Unternehmens-API-Gateways:
95+
96+
```typescript
97+
const assistant = new DocmdAssistantEngine({
98+
relayUrl: 'https://internal-ai-gateway.company.com/v1/chat',
99+
headers: {
100+
'Authorization': 'Bearer my_enterprise_token',
101+
'X-Custom-Tenant-ID': 'tenant_12345'
102+
}
103+
});
104+
```

0 commit comments

Comments
 (0)