YAML-Konfigurationsreferenz
Sinaptic® DROID+ verwendet zwei Arten von YAML-Konfigurationsdateien:
- Hauptkonfiguration (
droid.yaml) — globale Server-, LLM-, Sicherheits- und Logging-Einstellungen - Agenten-Konfigurationen (
configs/agents/*.yaml) — modellspezifische Einstellungen, Persönlichkeit, Tools und Verhalten pro Agent
Alle Konfigurationswerte unterstützen die ${ENV_VAR}-Substitution — Sinaptic® DROID+ löst Umgebungsvariablen beim Start auf.
Hauptkonfiguration (droid.yaml)
edition (Edition)
| Wert | Beschreibung |
|---|---|
community | Kostenlose Edition, max. 2 Agenten, nur RegExp-Sicherheit (Standard) |
pro | Unbegrenzte Agenten, volle SinapticAI-Kaskade |
enterprise | Multi-Tenancy, Compliance, Hochverfügbarkeit (HA) |
server (Server)
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
openai_port | int | 8080 | Port für die OpenAI-kompatible API |
management_port | int | 8081 | Port für die Management-API |
cors_origins | []string | ["*"] | Erlaubte CORS-Ursprünge |
api_key | string | — | API-Key für die Authentifizierung (unterstützt ${ENV_VAR}) |
demo_mode | bool | false | Demo-Modus aktivieren |
llm
Konfiguration des primären LLM-Anbieters.
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
provider | string | openai | Name des LLM-Anbieters (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp) |
base_url | string | https://api.openai.com/v1 | API-Basis-URL |
api_key | string | ${OPENAI_API_KEY} | API-Key (unterstützt ${ENV_VAR}) |
default_model | string | gpt-4o-mini | Name des Standardmodells |
anthropic
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
base_url | string | https://api.anthropic.com | Anthropic API-Basis-URL |
api_key | string | ${ANTHROPIC_API_KEY} | API-Key |
gemini
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
base_url | string | https://generativelanguage.googleapis.com/v1beta | Gemini API-Basis-URL |
api_key | string | ${GEMINI_API_KEY} | API-Key |
grok
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
base_url | string | https://api.x.ai/v1 | Grok (xAI) API-Basis-URL |
api_key | string | ${GROK_API_KEY} | API-Key |
ollama
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
base_url | string | http://localhost:11434/v1 | Ollama API-Basis-URL |
lm_studio
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
base_url | string | http://localhost:1234/v1 | LM Studio API-Basis-URL |
llama_cpp
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
base_url | string | http://localhost:8080/v1 | llama.cpp Server-Basis-URL |
embedding
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
model | string | text-embedding-3-small | Name des Embedding-Modells |
base_url | string | (fällt auf llm.base_url zurück) | Embedding API-Basis-URL |
api_key | string | (fällt auf llm.api_key zurück) | Embedding API-Key |
sinaptic
Konfiguration der SinapticAI-Sicherheitsschicht.
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | bool | true | SinapticAI-Sicherheitsscan aktivieren |
mode | string | block | Aktion bei Bedrohungserkennung: block oder log |
log_blocked | bool | true | Blockierte Anfragen protokollieren |
sinaptic.pii
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | bool | true | PII-Erkennung aktivieren |
strategy | string | mask | Strategie für PII: mask (maskieren) oder block (blockieren) |
mcp
Konfiguration des Tool-Servers für das Model Context Protocol (MCP).
mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
| Feld | Typ | Beschreibung |
|---|---|---|
servers | map | Benannte MCP-Serverdefinitionen |
Pro Server:
| Feld | Typ | Beschreibung |
|---|---|---|
command | string | Befehl zum Starten des MCP-Servers |
args | []string | Befehlsargumente |
env | map[string]string | Umgebungsvariablen für den Serverprozess |
logging
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
level | string | info | Log-Level (debug, info, warn, error) |
format | string | json | Log-Format (json oder text) |
audit
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | bool | false | Audit-Logging aktivieren |
log_path | string | ./logs/audit | Pfad für Audit-Logdateien |
retention_days | int | 30 | Aufbewahrungsdauer für Audit-Logs in Tagen |
branding
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
show_badge | bool | (auto) | "Powered by Sinaptic® DROID+" Badge anzeigen. Auto: true für Community, false für Pro/Enterprise |
Top-Level-Pfade
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
data_dir | string | ./data | Verzeichnis für Laufzeitdaten (Embeddings, Status) |
agents_dir | string | ./configs/agents | Verzeichnis mit den Agenten-YAML-Konfigurationen |
Agenten-Konfiguration (configs/agents/*.yaml)
Top-Level-Felder
| Feld | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
name | string | Ja | (Dateiname) | Eindeutige Agenten-ID |
description | string | Nein | — | Menschenlesbare Beschreibung |
model | object | Ja | — | LLM-Modellkonfiguration |
personality | string | Ja | — | System-Prompt für den Agenten |
agent_type | string | Nein | plain | Verarbeitungsschleife: plain oder react |
execution_mode | string | Nein | sequential | Tool-Ausführung: sequential oder parallel |
chain_of_thought | bool | Nein | false | Chain-of-Thought-Reasoning aktivieren |
max_iterations | int | Nein | 10 | Maximale Iterationen der ReAct-Schleife |
tool_timeout | string | Nein | 30s | Standard-Timeout für Tool-Aufrufe |
model
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
name | string | — | Modellname (z. B. gpt-4o, claude-sonnet-4-20250514) |
base_url | string | (aus Hauptkonf.) | LLM API-Basis-URL überschreiben |
api_key | string | (aus Hauptkonf.) | API-Key überschreiben |
max_tokens | int | 1024 | Maximale Anzahl der Antwort-Token |
temperature | float | 0.7 | Sampling-Temperatur (0-2) |
memory.short_term (Kurzzeitgedächtnis)
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
max_messages | int | 50 | Größe des gleitenden Fensters für den Konversationsverlauf |
rag
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | bool | false | Retrieval-Augmented Generation aktivieren |
top_k | int | 3 | Anzahl der abzurufenden Chunks |
min_score | float | 0.7 | Schwellenwert für die Ähnlichkeitsbewertung |
tools
Array von Tool-Konfigurationen.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Ja | Tool-ID |
description | string | Nein | Tool-Beschreibung (wird dem LLM angezeigt) |
type | string | Ja | Tool-Typ: mcp, rest_api |
url | string | rest_api | Endpunkt-URL |
method | string | rest_api | HTTP-Methode (GET, POST, PUT, DELETE) |
headers | map | rest_api | HTTP-Header |
timeout | string | rest_api | Anfrage-Timeout (z. B. 10s) |
pipeline
Multi-LLM Pipeline-Schritte (optional). Wenn definiert, durchläuft die Anfrage jeden Schritt nacheinander.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Ja | Schritt-ID |
model | object | Ja | Modellkonfiguration für diesen Schritt |
personality | string | Ja | System-Prompt für diesen Schritt |
spawns
Konfiguration für Agent-to-Agent (A2A) Aufrufe.
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
max_spawns | int | 5 | Max. Sub-Agent-Aufrufe pro Anfrage (0 = unbegrenzt) |
max_tokens_per_spawn | int | 4096 | Token-Budget pro gespawntem Aufruf |
max_depth | int | 3 | Maximale Rekursionstiefe |
allowed_agents | []string | [] (alle) | Whitelist der erlaubten Agenten für Spawns |
spawn_timeout_secs | int | 60 | Timeout pro gespawntem Aufruf in Sekunden |
rate_limit (Rate-Limit)
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
requests_per_minute | int | 0 (unbegrenzt) | Maximale Anfragen pro Minute |
sinaptic
SinapticAI-Überschreibung pro Agent.
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | bool | (global erben) | Globalen SinapticAI-Status überschreiben |
Vollständiges Beispiel
droid.yaml
edition: community
server:
openai_port: 8080
management_port: 8081
cors_origins: ["*"]
llm:
provider: openai
base_url: https://api.openai.com/v1
api_key: ${OPENAI_API_KEY}
default_model: gpt-4o-mini
anthropic:
api_key: ${ANTHROPIC_API_KEY}
embedding:
model: text-embedding-3-small
sinaptic:
enabled: true
mode: block
pii:
enabled: true
strategy: mask
log_blocked: true
logging:
level: info
format: json
audit:
enabled: false
log_path: ./logs/audit
retention_days: 30
data_dir: ./data
agents_dir: ./configs/agents
configs/agents/support-bot.yaml
name: support-bot
description: Kundensupport-Agent mit RAG und Tools
model:
name: gpt-4o
max_tokens: 2048
temperature: 0.5
personality: |
Du bist ein hilfreicher Kundensupport-Agent.
Sei immer höflich, präzise und genau.
agent_type: react
execution_mode: parallel
chain_of_thought: true
max_iterations: 5
tool_timeout: 15s
memory:
short_term:
max_messages: 100
rag:
enabled: true
top_k: 5
min_score: 0.6
tools:
- name: lookup-order
type: rest_api
description: Bestellstatus anhand der Bestell-ID abfragen
url: https://api.example.com/orders/${order_id}
method: GET
headers:
Authorization: "Bearer ${INTERNAL_API_KEY}"
timeout: 10s
rate_limit:
requests_per_minute: 60
spawns:
max_spawns: 3
max_depth: 2
allowed_agents: ["billing-agent", "shipping-agent"]