Model orchestration · BYOK
Pick model, temperature and response format per project. Bring your own key for any provider — OpenAI, Anthropic, Google and more. Keys stay yours; swap providers without a rewrite.
The seat of your AI’s mind. No backend to build, no vector DB to run, no guardrails to wire — one /ask endpoint with the whole brain behind it.
Scroll to read on
/ask, your ergonomicsYou’re on Node/TypeScript and want streaming, automatic retries, webhook verification and thread helpers without writing plumbing.
You’re in Python, Go, Ruby, PHP — or anywhere else. One authenticated POST and you get the same orchestrated answer.
1 call
replaces your whole AI stack
8 steps
in every deterministic /ask
100%
tenant-isolated by design
0 logs
needed to debug a turn
EgoX isn’t “just an orchestrator.” It’s the placement of the LLM brain in your stack — the RAG, the tools, the guardrails and the memory, handled. No backend to build, no vector database to run. You connect your agent and ship.
Without EgoX
With EgoX
/ask — we handle itEgoX is BYOK-only. Your model keys stay yours — billed directly by your provider, never resold or marked up. Bring whichever model you trust; EgoX respects it and orchestrates the rest.
In Freud’s model the Ego mediates between raw instinct and conscience, grounded in reality. EgoX plays exactly that role for your AI: it reconciles what the user wants with what’s allowed — and what’s true.
Id
Every request lands as raw intent — unfiltered, immediate, hungry for an answer. It is your app’s drive to act.
→ Incoming /ask messages
Ego · this is EgoX
EgoX reconciles impulse with reality — routing the model, retrieving knowledge, calling tools and remembering context, so instinct becomes a grounded, defensible answer.
Superego
Safety rails, compliance guard, quotas and audit hold every response within bounds. It keeps the system honest.
→ Guardrails · compliance · quota
Id → Ego → Superego · the psyche returns on the pricing page as two plans: Id Ego, free — and Superego, in charge.
/askEvery request runs the same deterministic pipeline. Expensive LLM calls only fire when intent classification says they’re justified.
Nothing touches data before EgoX knows whose isolated path it's on.
Config, enabled tools, knowledge-base scope, prompt overrides, extensions.
Prior turns from the thread — by EgoX id or externalThreadId.
vanilla / RAG / tools / RAG+tools — cheap, deterministic, language-agnostic.
History + retrieved chunks + tool catalog, exactly as the intent needs.
The right model and system prompt for the classified intent.
Dedup, per-tool caps, error classification, transient retry, iteration cap.
Message, token usage, intent and audit flags — then a rich response payload.
Configuration over forking. Behaviour differences between projects live as data — never as branched code.
Pick model, temperature and response format per project. Bring your own key for any provider — OpenAI, Anthropic, Google and more. Keys stay yours; swap providers without a rewrite.
Ingest documents, chunk and embed with pgvector, and retrieve the right context automatically — scoped strictly to the tenant.
Register REST / GraphQL endpoints the LLM can call. Storm-protected with dedup, per-tool caps and transient-error retry.
Stateful threads with full turn history. Bring your own conversation id with externalThreadId — no UUID round-trips.
Prompt-injection detection, compliance guard and incident logging. Defense in depth — no single failure mode takes the system down.
Every row, read and cache key is scoped by tenant. There is no global data path that bypasses isolation.
If the only way to debug a feature is reading server logs, it’s half done. Every runtime event surfaces as a metric, an audit row, or an operator signal.
Usage, cost and token breakdowns by day, model and intent — with CSV export.
Execution tracking, failure classification and alerts over every tool run.
Inspect any conversation turn-by-turn with intent and recovery flags.
Incidents captured, classified and retained for review and reporting.
The Console speaks product language; the backend speaks domain language. Both are correct — neither leaks into the other.
Objective, observable, multi-tenant orchestration a non-ML team can run in production.