Skip to main content

Complete schema

sundew.yaml
# ─── Trap surfaces ────────────────────────────────
traps:
  mcp_server: true            # MCP server trap
  rest_api: true              # REST API trap with OpenAPI
  ai_discovery: true          # .well-known, robots.txt, sitemap

# ─── Persona ──────────────────────────────────────
persona: auto                 # "auto" | path to persona.yaml

# ─── LLM (for persona generation) ────────────────
llm:
  provider: ollama            # ollama | anthropic | openai | none
  model: llama3               # Model name
  base_url: null              # Custom API base URL
  api_key: null               # API key (prefer env vars)
  temperature: 0.7            # Generation temperature
  max_tokens: 2048            # Max tokens per generation

# ─── Server ───────────────────────────────────────
server:
  host: 0.0.0.0               # Listen address
  port: 8080                  # Listen port

# ─── Storage ──────────────────────────────────────
storage:
  database: ./data/sundew.db  # SQLite path
  log_file: ./data/events.jsonl  # JSONL event log path

# ─── Logging ──────────────────────────────────────
logging:
  level: info                 # debug | info | warning | error
  output: stdout              # stdout | file path

Field details

traps

FieldTypeDefaultDescription
mcp_serverbooltrueEnable the MCP server trap
rest_apibooltrueEnable the REST API trap
ai_discoverybooltrueEnable AI discovery endpoints

persona

ValueBehavior
autoGenerate a random persona using configured LLM or fallback packs
File pathLoad a custom persona from the specified YAML file

llm

FieldTypeDefaultDescription
providerstringollamaLLM provider for persona generation
modelstringllama3Model name
base_urlstringnullCustom API endpoint
api_keystringnullAPI key (prefer environment variables)
temperaturefloat0.7Generation randomness
max_tokensint2048Maximum output tokens

server

FieldTypeDefaultDescription
hoststring0.0.0.0Listen address
portint8080Listen port

storage

FieldTypeDefaultDescription
databasestring./data/sundew.dbSQLite database file path
log_filestring./data/events.jsonlJSONL event log file path

logging

FieldTypeDefaultDescription
levelstringinfoLog level: debug, info, warning, error
outputstringstdoutLog output: stdout or a file path

Environment variables

VariableOverrides
ANTHROPIC_API_KEYllm.api_key when provider is anthropic
OPENAI_API_KEYllm.api_key when provider is openai
SUNDEW_LOG_LEVELlogging.level