YAML-configuratiereferentie
Sinaptic® DROID+ maakt gebruik van twee soorten YAML-configuratiebestanden:
- Hoofdconfiguratie (
droid.yaml) — globale server-, LLM-, beveiligings- en logging-instellingen - Agent-configuraties (
configs/agents/*.yaml) — model, persoonlijkheid, tools en gedrag per agent
Alle configuratiewaarden ondersteunen de ${ENV_VAR} substitutie — Sinaptic® DROID+ resolvert omgevingsvariabelen bij het opstarten.
Hoofdconfiguratie (droid.yaml)
edition (editie)
| Waarde | Beschrijving |
|---|---|
community | Gratis editie, max 2 agenten, alleen RegExp-beveiliging (standaard) |
pro | Onbeperkt aantal agenten, volledige SinapticAI-cascade |
enterprise | Multi-tenancy, compliance, hoge beschikbaarheid (HA) |
server (server)
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
openai_port | int | 8080 | Poort voor de OpenAI-compatibele API |
management_port | int | 8081 | Poort voor de Management API |
cors_origins | []string | ["*"] | Toegestane CORS-origins |
api_key | string | — | API-sleutel voor authenticatie (ondersteunt ${ENV_VAR}) |
demo_mode | bool | false | Demo-modus inschakelen |
llm
Primaire LLM-provider configuratie.
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
provider | string | openai | LLM-provider naam (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp) |
base_url | string | https://api.openai.com/v1 | API base URL |
api_key | string | ${OPENAI_API_KEY} | API-sleutel (ondersteunt ${ENV_VAR}) |
default_model | string | gpt-4o-mini | Standaard modelnaam |
anthropic
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
base_url | string | https://api.anthropic.com | Anthropic API base URL |
api_key | string | ${ANTHROPIC_API_KEY} | API-sleutel |
gemini
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
base_url | string | https://generativelanguage.googleapis.com/v1beta | Gemini API base URL |
api_key | string | ${GEMINI_API_KEY} | API-sleutel |
grok
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
base_url | string | https://api.x.ai/v1 | Grok (xAI) API base URL |
api_key | string | ${GROK_API_KEY} | API-sleutel |
ollama
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
base_url | string | http://localhost:11434/v1 | Ollama API base URL |
lm_studio
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
base_url | string | http://localhost:1234/v1 | LM Studio API base URL |
llama_cpp
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
base_url | string | http://localhost:8080/v1 | llama.cpp server base URL |
embedding
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
model | string | text-embedding-3-small | Embedding modelnaam |
base_url | string | (valt terug op llm.base_url) | Embedding API base URL |
api_key | string | (valt terug op llm.api_key) | Embedding API-sleutel |
sinaptic
Configuratie van de SinapticAI-beveiligingslaag.
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
enabled | bool | true | SinapticAI beveiligingsscanning inschakelen |
mode | string | block | Actie bij dreigingsdetectie: block of log |
log_blocked | bool | true | Geblokkeerde verzoeken loggen |
sinaptic.pii
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
enabled | bool | true | PII-detectie inschakelen |
strategy | string | mask | PII-afhandelingsstrategie: mask of block |
mcp
Model Context Protocol (MCP) tool server configuratie.
mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
| Veld | Type | Beschrijving |
|---|---|---|
servers | map | Benoemde MCP-serverdefinities |
Per server:
| Veld | Type | Beschrijving |
|---|---|---|
command | string | Commando om de MCP-server te starten |
args | []string | Commando-argumenten |
env | map[string]string | Omgevingsvariabelen voor het serverproces |
logging
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
level | string | info | Logniveau (debug, info, warn, error) |
format | string | json | Logformaat (json of text) |
audit
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
enabled | bool | false | Audit-logging inschakelen |
log_path | string | ./logs/audit | Pad voor audit-logbestanden |
retention_days | int | 30 | Aantal dagen om audit-logs te bewaren |
branding
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
show_badge | bool | (auto) | "Powered by Sinaptic® DROID+" badge weergeven. Auto: true voor community, false voor pro/enterprise |
Paden op het hoogste niveau
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
data_dir | string | ./data | Map voor runtime gegevens (embeddings, status) |
agents_dir | string | ./configs/agents | Map met agent YAML-configuraties |
Agent-configuratie (configs/agents/*.yaml)
Velden op het hoogste niveau
| Veld | Type | Vereist | Standaard | Beschrijving |
|---|---|---|---|---|
name | string | ja | (bestandsnaam) | Unieke agent-identificatie |
description | string | nee | — | Voor mensen leesbare beschrijving |
model | object | ja | — | LLM-modelconfiguratie |
personality | string | ja | — | Systeemprompt voor de agent |
agent_type | string | nee | plain | Verwerkingsloop: plain of react |
execution_mode | string | nee | sequential | Tool-uitvoering: sequential of parallel |
chain_of_thought | bool | nee | false | Chain-of-thought redenering inschakelen |
max_iterations | int | nee | 10 | Max ReAct loop iteraties |
tool_timeout | string | nee | 30s | Standaard timeout voor tool-aanroepen |
model
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
name | string | — | Modelnaam (bijv. gpt-4o, claude-sonnet-4-20250514) |
base_url | string | (uit hoofdconfiguratie) | LLM API base URL overschrijven |
api_key | string | (uit hoofdconfiguratie) | API-sleutel overschrijven |
max_tokens | int | 1024 | Maximum aantal response-tokens |
temperature | float | 0.7 | Sampling-temperatuur (0-2) |
memory.short_term (kortetermijngeheugen)
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
max_messages | int | 50 | Grootte van het sliding-window voor de gespreksgeschiedenis |
rag
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
enabled | bool | false | Retrieval-augmented generation inschakelen |
top_k | int | 3 | Aantal op te halen fragmenten |
min_score | float | 0.7 | Minimale drempelwaarde voor gelijkenis-score |
tools
Array van tool-configuraties.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
name | string | ja | Tool-identificatie |
description | string | nee | Tool-beschrijving (getoond aan het LLM) |
type | string | ja | Tool-type: mcp, rest_api |
url | string | rest_api | Eindpunt URL |
method | string | rest_api | HTTP-methode (GET, POST, PUT, DELETE) |
headers | map | rest_api | HTTP-headers |
timeout | string | rest_api | Verzoek timeout (bijv. 10s) |
pipeline
Multi-LLM pipeline stappen (optioneel). Indien gedefinieerd, gaat het verzoek opeenvolgend door elke stap.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
name | string | ja | Stap-identificatie |
model | object | ja | Modelconfiguratie voor deze stap |
personality | string | ja | Systeemprompt voor deze stap |
spawns
Configuratie voor agent-naar-agent (A2A) aanroepen.
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
max_spawns | int | 5 | Max sub-agent aanroepen per verzoek (0 = onbeperkt) |
max_tokens_per_spawn | int | 4096 | Token-budget per gespawnede aanroep |
max_depth | int | 3 | Maximale recursiediepte |
allowed_agents | []string | [] (alle) | Whitelist van agenten die gespawnd kunnen worden |
spawn_timeout_secs | int | 60 | Timeout per gespawnede aanroep in seconden |
rate_limit
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
requests_per_minute | int | 0 (onbeperkt) | Maximaal aantal verzoeken per minuut |
sinaptic
SinapticAI-overschrijving per agent.
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
enabled | bool | (overnemen van globaal) | Globale SinapticAI enabled vlag overschrijven |
Volledig voorbeeld
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: Klantenservice-agent met RAG en tools
model:
name: gpt-4o
max_tokens: 2048
temperature: 0.5
personality: |
Je bent een behulpzame klantenservice-agent.
Wees altijd beleefd, beknopt en nauwkeurig.
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: Bestelstatus opzoeken via bestel-ID
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"]