From request routing to persistent memory to symbolic reasoning — all self-hosted, all auditable.
A mixture-of-experts classifier (lightweight, <5ms overhead) reads request content and intent, then dispatches to the best available backend. Classifications: code, reasoning, long-context, creative, fast-lookup.
Override auto-routing with explicit model IDs: qwen3:8b, codestral:22b, claude-sonnet-4-6, gpt-5.4, gemini-3.1-pro, and more. Full model list via GET /v1/models.
Define routing policies in config: block cloud backends for specific API keys, force local for regex-matched content, rate-limit by backend cost tier. Policies are YAML, version-controlled, hot-reloadable.
Configure fallback chains per model class. If the primary backend times out or errors, the request falls to the next in chain — transparently, with the same response format. No client-side retry logic needed.
1024-dim embeddings stored in Postgres. Cosine similarity search across all stored memories with configurable threshold. Results injected into prompt context automatically or on demand.
Episodic memory captures conversation turns. Semantic memory stores facts and documents. Working memory (via LSR) holds structured facts for the current reasoning session.
Exposes memory as MCP tools: dw_memory_search, dw_memory_store, dw_health. Any MCP-aware client can read and write the memory layer.
LSR is an optional reasoning pod that augments LLM responses with Prolog-style symbolic rules. Structured queries — rule-following, constraint satisfaction, fact-checking — get hybrid answers that don't hallucinate facts the logic already knows.
LSR can infer new rules from provided examples using ILP. Feed it positive and negative instances; it derives the Horn clauses. Persists rules in the working memory session store.
POST facts as Prolog terms via /reasoning/working-memory. Query via /reasoning/query. Facts persist for the session lifecycle and can be exported/imported.
openai-python, openai-node, langchain, llama-index, pydantic-ai, instructor, litellm
OpenAI Chat Completions v1, Embeddings v1, Models list. Streaming SSE. Function calling. JSON mode.
Ollama (all models), llama.cpp, vLLM, TGI, any OpenAI-compatible local server
Anthropic, OpenAI, Google Gemini, Mistral, Cohere, Together, OpenRouter, Groq, any OpenAI-compat API
Early access is open for teams with local GPU hardware or data privacy requirements.