The storage configuration defines how agent interactions, messages, and tool usage are logged. It's defined at the root level of the manifest.
Configuration Reference¶
SQLStorageConfig¶
SQL database storage configuration.
FileStorageConfig¶
File storage configuration.
TextLogConfig¶
Text log configuration.
MemoryStorageConfig¶
In-memory storage configuration for testing.
Overview¶
Storage providers define how agent interactions, messages, and tool usage are persisted. The system supports multiple providers including SQL databases, file storage, text logs, and in-memory storage.
Key features:
- Multiple Providers: Use multiple storage backends simultaneously
- Agent Filtering: Control which agents are logged per provider
- Flexible Logging: Configure what gets logged (messages, conversations, commands, context)
- Provider Selection: Automatic or explicit provider selection for queries
Usage Example¶
agents.yml
# yaml-language-server: $schema=https://raw.githubusercontent.com/phil65/llmling-agent/refs/heads/main/schema/config-schema.json
storage:
# Global settings
agents: ["planner", "executor"]
filter_mode: "and"
log_messages: true
log_conversations: true
default_provider: "sql"
providers:
- type: "sql"
url: "sqlite:///history.db"
pool_size: 5
auto_migration: true
- type: "text_file"
path: "logs/chat.log"
format: "chronological"
Configuration Notes¶
- Multiple providers can be used simultaneously
- Agent filtering works at both global and provider levels
- Provider flags are combined with global flags using AND logic
- SQL provider is recommended for production use
- Memory provider is useful for testing
- Text logs support custom Jinja2 templates for flexible formatting