Dokumentacja konfiguracji YAML
Sinaptic® DROID+ używa dwóch rodzajów plików konfiguracyjnych YAML:
- Główna konfiguracja (
droid.yaml) — globalne ustawienia serwera, LLM, bezpieczeństwa i logowania - Konfiguracje agentów (
configs/agents/*.yaml) — model, osobowość, narzędzia i zachowanie dla każdego agenta
Wszystkie wartości konfiguracyjne obsługują podstawianie ${ENV_VAR} — Sinaptic® DROID+ rozwiązuje zmienne środowiskowe podczas uruchamiania.
Główna konfiguracja (droid.yaml)
edition (edycja)
| Wartość | Opis |
|---|---|
community | Darmowa edycja, maks. 2 agentów, bezpieczeństwo tylko RegExp (domyślnie) |
pro | Nielimitowana liczba agentów, pełna kaskada SinapticAI |
enterprise | Multi-tenancy, zgodność, wysoka dostępność (HA) |
server (serwer)
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
openai_port | int | 8080 | Port dla API kompatybilnego z OpenAI |
management_port | int | 8081 | Port dla Management API |
cors_origins | []string | ["*"] | Dozwolone źródła CORS |
api_key | string | — | Klucz API do uwierzytelniania (obsługuje ${ENV_VAR}) |
demo_mode | bool | false | Włącz tryb demo |
llm
Podstawowa konfiguracja dostawcy LLM.
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
provider | string | openai | Nazwa dostawcy LLM (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp) |
base_url | string | https://api.openai.com/v1 | Bazowy URL API |
api_key | string | ${OPENAI_API_KEY} | Klucz API (obsługuje ${ENV_VAR}) |
default_model | string | gpt-4o-mini | Domyślna nazwa modelu |
anthropic
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
base_url | string | https://api.anthropic.com | Bazowy URL API Anthropic |
api_key | string | ${ANTHROPIC_API_KEY} | Klucz API |
gemini
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
base_url | string | https://generativelanguage.googleapis.com/v1beta | Bazowy URL API Gemini |
api_key | string | ${GEMINI_API_KEY} | Klucz API |
grok
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
base_url | string | https://api.x.ai/v1 | Bazowy URL API Grok (xAI) |
api_key | string | ${GROK_API_KEY} | Klucz API |
ollama
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
base_url | string | http://localhost:11434/v1 | Bazowy URL API Ollama |
lm_studio
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
base_url | string | http://localhost:1234/v1 | Bazowy URL API LM Studio |
llama_cpp
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
base_url | string | http://localhost:8080/v1 | Bazowy URL serwera llama.cpp |
embedding
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
model | string | text-embedding-3-small | Nazwa modelu embeddingów |
base_url | string | (używa llm.base_url) | Bazowy URL API embeddingów |
api_key | string | (używa llm.api_key) | Klucz API embeddingów |
sinaptic
Konfiguracja warstwy bezpieczeństwa SinapticAI.
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
enabled | bool | true | Włącz skanowanie bezpieczeństwa SinapticAI |
mode | string | block | Działanie po wykryciu zagrożenia: block (blokuj) lub log (tylko loguj) |
log_blocked | bool | true | Loguj zablokowane żądania |
sinaptic.pii
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
enabled | bool | true | Włącz wykrywanie PII (danych osobowych) |
strategy | string | mask | Strategia obsługi PII: mask (maskuj) lub block (blokuj) |
mcp
Konfiguracja serwerów narzędzi Model Context Protocol (MCP).
mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
| Pole | Typ | Opis |
|---|---|---|
servers | map | Nazwane definicje serwerów MCP |
Dla każdego serwera:
| Pole | Typ | Opis |
|---|---|---|
command | string | Komenda do uruchomienia serwera MCP |
args | []string | Argumenty komendy |
env | map[string]string | Zmienne środowiskowe dla procesu serwera |
logging (logowanie)
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
level | string | info | Poziom logowania (debug, info, warn, error) |
format | string | json | Format logów (json lub text) |
audit (audyt)
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
enabled | bool | false | Włącz logowanie audytu |
log_path | string | ./logs/audit | Ścieżka do plików logów audytu |
retention_days | int | 30 | Liczba dni przechowywania logów audytu |
branding
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
show_badge | bool | (auto) | Pokaż plakietkę "Powered by Sinaptic® DROID+". Auto: true dla community, false dla pro/enterprise |
Ścieżki najwyższego poziomu
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
data_dir | string | ./data | Katalog danych runtime (embeddingi, stan) |
agents_dir | string | ./configs/agents | Katalog zawierający konfiguracje YAML agentów |
Konfiguracja agenta (configs/agents/*.yaml)
Pola najwyższego poziomu
| Pole | Typ | Wymagane | Domyślnie | Opis |
|---|---|---|---|---|
name | string | tak | (nazwa pliku) | Unikalny identyfikator agenta |
description | string | nie | — | Opis czytelny dla człowieka |
model | object | tak | — | Konfiguracja modelu LLM |
personality | string | tak | — | Prompt systemowy dla agenta |
agent_type | string | nie | plain | Pętla przetwarzania: plain lub react |
execution_mode | string | nie | sequential | Wykonywanie narzędzi: sequential lub parallel |
chain_of_thought | bool | nie | false | Włącz rozumowanie chain-of-thought |
max_iterations | int | nie | 10 | Maks. liczba iteracji pętli ReAct |
tool_timeout | string | nie | 30s | Domyślny timeout dla wywołań narzędzi |
model
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
name | string | — | Nazwa modelu (np. gpt-4o, claude-sonnet-4-20250514) |
base_url | string | (z głównej konf.) | Nadpisz bazowy URL API LLM |
api_key | string | (z głównej konf.) | Nadpisz klucz API |
max_tokens | int | 1024 | Maksymalna liczba tokenów odpowiedzi |
temperature | float | 0.7 | Temperatura próbkowania (0-2) |
memory.short_term (pamięć krótkotrwała)
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
max_messages | int | 50 | Rozmiar przesuwnego okna historii konwersacji |
rag
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
enabled | bool | false | Włącz retrieval-augmented generation |
top_k | int | 3 | Liczba fragmentów do pobrania |
min_score | float | 0.7 | Próg minimalnego wyniku podobieństwa |
tools (narzędzia)
Tablica konfiguracji narzędzi.
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
name | string | tak | Identyfikator narzędzia |
description | string | nie | Opis narzędzia (widoczny dla LLM) |
type | string | tak | Typ narzędzia: mcp, rest_api |
url | string | rest_api | URL punktu końcowego |
method | string | rest_api | Metoda HTTP (GET, POST, PUT, DELETE) |
headers | map | rest_api | Nagłówki HTTP |
timeout | string | rest_api | Timeout żądania (np. 10s) |
pipeline
Kroki potoku wielu LLM (opcjonalnie). Gdy zdefiniowane, żądanie przechodzi przez każdy krok sekwencyjnie.
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
name | string | tak | Identyfikator kroku |
model | object | tak | Konfiguracja modelu dla tego kroku |
personality | string | tak | Prompt systemowy dla tego kroku |
spawns
Konfiguracja wywołań agent-agent (A2A).
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
max_spawns | int | 5 | Maks. liczba wywołań sub-agentów na żądanie (0 = bez limitu) |
max_tokens_per_spawn | int | 4096 | Budżet tokenów na wywołanie sub-agenta |
max_depth | int | 3 | Maksymalna głębokość rekurencji |
allowed_agents | []string | [] (wszystkie) | Biała lista agentów, których można wywołać |
spawn_timeout_secs | int | 60 | Timeout na wywołanie sub-agenta w sekundach |
rate_limit (limitowanie zapytań)
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
requests_per_minute | int | 0 (nielimitowane) | Maks. liczba żądań na minutę |
sinaptic
Nadpisanie SinapticAI dla konkretnego agenta.
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
enabled | bool | (dziedziczone) | Nadpisz globalną flagę włączenia SinapticAI |
Pełny przykład
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: Agent wsparcia klienta z RAG i narzędziami
model:
name: gpt-4o
max_tokens: 2048
temperature: 0.5
personality: |
Jesteś pomocnym agentem wsparcia klienta.
Zawsze bądź uprzejmy, zwięzły i dokładny.
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: Sprawdź status zamówienia po 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"]