Providers
Providers implement contracts using specific database clients.Enterprise Mode Providers
Postgres Provider
Implements:ObjectStore, OutboxStore, AdminStore
items,passages,entities,artifacts,agent_actionsoutbox_eventstenants,users,connector_configs,run_logs
OpenSearch Provider
Implements:TextSearchProvider
kos_passages
Features:
- Full-text search with highlighting
- Faceted aggregations (source, content_type, date)
- Term vectors for snippets
Neo4j Provider
Implements:GraphSearchProvider
:Entity {kos_id, tenant_id, name, type}:Item {kos_id, tenant_id, title, source}:Passage {kos_id, tenant_id}
(Item)-[:HAS_PASSAGE]->(Passage)(Passage)-[:MENTIONS]->(Entity)(Entity)-[:RELATED_TO {type}]->(Entity)
Qdrant Provider
Implements:VectorSearchProvider
kos_passages_vectors
Payload: kos_id, tenant_id, user_id, item_id, source
Solo Mode Provider
SurrealDB Provider
Implements: ALL contractsmentions, has_passage, related_to
Provider Selection
Providers are selected based onKOS_MODE:
Adding Custom Providers
To add a new provider:- Create a new package in
kos/providers/ - Implement the required contracts
- Add to dependency extras in
pyproject.toml - Update the dependency injection in
kos/kernel/api/http/dependencies.py
Adaptive Cognitive Plane Providers
The ACP introduces three new contracts that providers must implement:Additional Tables (Both Modes)
Next Steps
Adaptive Cognitive Plane
How providers power self-evolution
Agents
Learn about the agent subsystem