Your whole installation at a glance — live numbers, and anything that needs your attention before a client notices it.
Each school using Nordi is a separate client, kept apart from every other school's data. Unlock with the operator root token to see everything on the server, then log into any client to work on it.
Username & password accounts with the run of this whole console — easier to remember than the root token, same power. Uses the root token above.
Uses the operator root token above.
The whole path a question takes — and where credit is spent, and where it stops being spent.
On the client's website through the chat widget, or from their own app through the API. Every conversation starts here.
Instant, and only ever from answers a human has approved. Nothing is guessed, nothing is billed. Most questions end here once the knowledge base has grown.
Only when the client's mode is "Knowledge base + AI". The model answers strictly from the knowledge base — it refuses rather than inventing a fee or a date. The visitor gets the answer once, and the draft is queued for a human.
In the Review tab: read what the AI said, fix the wording if it needs it, approve or reject. Nothing the AI writes is ever reused until someone approves it.
The same question is answered from the database from then on, at no cost. Credit is spent once per new question, then becomes a permanent asset — so the AI's share of answers falls as the knowledge base grows.
Steps 1, 2, 4 and 5 cost nothing. Only step 3 uses credit, and every time it runs, an approval in step 4 removes that question from ever costing credit again. The two numbers to watch on the dashboard are Answered free, from KB (should grow) and Answered by AI (should shrink as a share of the total).
Every AI provider this Nordi installation can serve, which models it offers, and which clients are using each one right now. A client can also bring their own key — that lives in the client's own AI model tab and is billed to them, not to you.
From build.nvidia.com you only need one thing: the model's ID — the
"model": value in the page's code sample (e.g.
stepfun-ai/step-3.7-flash). No new API key — your existing NVIDIA
key already unlocks every model on that catalogue, so skip “Generate API Key”
entirely. The model appears in every client's dropdown immediately.
A new key: set the provider's environment variable in .env and restart
— every client without their own key can then use it.
A new provider: one adapter file in src/llm/ plus one line in the
registry; the console and every client pick it up automatically.
Live health of every client's plumbing — checked right now, not from a cache: is the API key actually accepted by the provider, is the webhook endpoint reachable and delivering, and is the embed script really running on their website (and where).
Every client on this installation, and what they are consuming. A token is a small piece of text — roughly three-quarters of an English word. Each AI call reports how many tokens it read (your question plus the whole knowledge base) and wrote (the answer); Nordi records those numbers on every call and sums them here. Knowledge-base answers involve no AI call, so they cost zero tokens — always.
Answers Claude wrote for a real visitor, waiting on you. Read one, correct the wording if it needs it, and approve — it becomes a knowledge base entry and Nordi answers that question from the database from then on, at no cost.
Questions nobody has drafted an answer for yet — either Claude is switched off, or it declined because the knowledge base did not cover them. Write the answer yourself, or ask Claude to draft one and then approve it.
Highest priority wins; a tie goes to the rule. Rules are regexes, entries are scored keywords.
What the chat asks a visitor for before it answers — and where a completed enquiry or visit booking is sent. Required fields are asked up front; everything else is asked only if the conversation actually needs it.
The same fields above, in a shape that is not a chat bubble — for the client's own Enroll Now buttons and landing pages. One definition, three surfaces: change a field once and the chat, the form and the webhook payload all move together.
Username & password accounts for this school's workspace — what the principal or admissions head types at the login screen instead of the long access key. Each person gets their own; remove one and only that person is out.
Three ways to use Nordi, depending on what the client's developer wants to build.
Every conversation where a visitor gave at least one detail — proof the gate is actually collecting, independent of whether the webhook above accepted it.
The real widget, exactly as it runs on the client's website — same script, same knowledge base, same flows. Click the Nordi icon bottom-right of the frame. These conversations are real: they show up in Enquiries and the stats.
Which model answers for this site, and on whose subscription. A key saved here is used for this site only, so a tenant's questions are billed to that tenant. Leave it empty to use the server's own key instead.
Derived from the knowledge base itself — no test cases needed. Run this after adding entries, because a new keyword changes the scores of every existing answer.