DND.chat Docs
Reference

The AI Features Library

Every AI-powered feature across the DND family — the Autopilot DM, table assists, color and voice, character art, and the combat help that isn't AI at all. What each one does, what triggers it, whether it's live, and what it falls back to.

The DND family uses AI in a lot of small, opt-in places and one big one (the Autopilot DM). This page is the full catalogue: every feature that calls a model, what triggers it, whether it's live today, and — the part that matters most — what happens when there's no AI configured at all.

Three principles run through everything here, and they're worth stating up front because they shape every entry below:

  • AI is optional, everywhere. Chat, dice, character sheets, card conjuring, initiative, and combat resolution all work with no AI key at all. Nothing in the core loop depends on a model.
  • Every AI feature has a fallback. Where a feature can't reach a model, it either degrades to a free, deterministic version (templates, plain extraction) or it simply isn't offered — it never crashes the table.
  • The math is never the AI's. Dice, hit/miss, damage, HP, and saves are always computed by the audited roll engine, not generated by a language model. The AI narrates and suggests; it does not decide whether you hit.

At a glance

FeatureWhereWhat triggers itWithout AI
Autopilot DM — narrationDND.chatA live, unpaused session; fires after each player messageHuman DM runs the table
Autopilot DM — combat narrationDND.chatSame session, when an AI-owned fight is activeHuman DM narrates; engine still rolls
Async nudgeDND.chatScheduled job, when the table's been idle (async mode on)No nudge; the table waits
Adventure generatorDND.chat"Generate" from a one-line premiseTemplate scene scaffold
AI polish on importDND.chatOpt-in checkbox when shredding a PDF/MarkdownRaw extracted text
Scene memoryDND.chatAutomatic on adventure saveRetrieval simply stays off
/gm co-DMDND.chatDM types /gmStatic "the Chronicle is quiet" reply
/recall ChronicleDND.chatAnyone types /recallStatic reply
/catchupDND.chatAnyone types /catchupStatic reply
Session recapDND.chatDM opens the recap modalFree structured-markdown recap
Roll commentaryDND.chatAfter a crit / hit / nat-1Template one-liners (always on)
NPC & narrator voiceDND.chatNarration / NPC lines, roll outcomesSilent (or prebaked clips)
Character portraitsDNDCards"Generate art" on a characterNo art generated
Character blurbDNDCardsBuilder reveal stepDeterministic template blurb
Attack suggestionDND.chatYou type an attack in the composerNot AI — always on
Monster auto-resolveDNDWarDM clicks Auto-resolveNot AI — always on
Voice roomsDND.chatComing soon

The two rows marked Not AI are there on purpose: they feel like AI but are pure, deterministic logic. They're documented here so you know exactly where the model is — and isn't.

The Autopilot DM

The Autopilot DM is the family's flagship AI feature: a Dungeon Master that runs a structured adventure for your table in the DND.chat tavern. It is always available but never automatic — it does nothing until you import or generate an adventure and press Start. A table with no active session never invokes a model. The full walkthrough is in Running an AI-DM Game; this is what's under the hood.

Narration turns

Once a session is live, the client fires a turn after every player message. The model reads the current scene's read-aloud text, the recent table history, and the most relevant scenes pulled from scene memory, then posts exactly one Autopilot DM message. Alongside its prose it chooses a single next move:

MoveWhat the DM does
continueNarrates the current scene, ends on a hook or question
checkCalls for an ability check at a DC (you roll it)
advanceCloses the scene and posts the next one's read-aloud
combatNarrates violence breaking out and stands up a real encounter
jumpWrites a travel beat and moves non-linearly to a related scene

A short cooldown and a turn lock keep concurrent triggers from double-posting, so a noisy table still gets one clean DM turn at a time. The DM is told, in its instructions, to never speak or act for player characters — it ends on a question and waits for you.

Combat narration

When a fight is on, the same turn loop switches to a combat brain. It's given the round, the initiative order (in plain language — "bloodied," "down" — not raw numbers), and whose turn it is, and it decides only whether to keep narrating, advance the turn, or end the fight. It does not roll. Every monster attack, save, and point of damage is resolved by the deterministic engine through the same audited roll path a human DM uses. See Autopilot combat is mechanical.

The model's monster specs are also clamped server-side to sane bounds (AC, HP, to-hit, and creature counts all have caps) so a hallucinated stat block can't put an unkillable dragon on the table.

Async nudge (play-by-post)

If a campaign turns on Async mode, a scheduled job can advance the story while everyone's away — but only carefully. It nudges only when the DM (the AI) spoke last, players haven't replied, the table's been idle for several minutes, and the AI hasn't already monologued. When it does move the story, it emails the party a "the story moved — it's your turn" note. This is what makes a slow play-by-post table tick over without anyone watching it.

Adventure generator

Give it a one-line premise — "haunted lighthouse, coastal horror, 4 players at level 3" — and it returns a complete adventure as a scene list: titles, read-aloud paragraphs, NPCs, and exits. If the model is unreachable, a deterministic scaffold fills in placeholder scenes so you still get a runnable skeleton. To author an adventure by hand with no AI at all, see the Adventure Format reference.

AI polish on import

When you shred a PDF or Markdown module (the PDF Shredder), you can tick AI polish. It rewrites each scene's read-aloud into a few clean DM-facing paragraphs, stripping OCR noise, stat-block fragments, and DM-only asides. Every scene that fails to polish falls back to its raw extracted text, and the import as a whole succeeds either way — polish never blocks the shred.

Scene memory

On every adventure save, scene text is embedded into a compact per-campaign vector store (autopilot_vectors). On each narration turn, the table's recent messages are matched against it and the most relevant scenes are fed to the DM — which is how the Autopilot can answer questions about earlier scenes and jump around the adventure instead of marching strictly forward. The same store powers /recall. With no AI key, embedding is skipped and retrieval quietly stays off; the adventure still runs scene by scene.

Table assists

These are the small, on-demand helpers. Each is a slash command (except the recap, which is a panel), each needs an AI key, and each has a graceful "no AI" answer so the command never breaks.

/gm — co-DM

DM-only. Ask for the next beat, a quick NPC, a fair ruling, or a couple of sentences of read-aloud, grounded in the recent table log and the active scene. The answer appears as a private banner shown only to you — it's never written to the chat log and players never see it.

/recall — the Chronicle

Anyone can ask the Chronicle a campaign-memory question ("what was the duke's name?"). It answers from scene memory plus the recent log only — so it tells you what's actually been recorded and admits when it doesn't know, rather than inventing a name.

/catchup

Summarizes the last stretch of the table into a few bullet points — built for a player rejoining mid-session. Posts to the channel for everyone.

Session recap

DM-only, from the Session Plans channel. It always produces a structured recap (summary, highlights, notable rolls, party chatter, open threads) from the recent log and roll events. When AI billing is live and you have the credits, a model rewrites the summary into polished narrative prose; otherwise you get the free structured version. The LLM recap costs 50 credits when billing is on — and during beta nothing is charged. See Credits & Billing.

Color and voice

Atmosphere features. They make rolls and NPCs feel alive, and they're the most aggressively optional things in the family — all of them have a non-AI path or simply stay quiet.

Roll color commentary

After a notable roll — a crit, a solid hit, a natural 1 — a one-line narrator quip is added to the message. The template path (themed lines with the roller, target, and weapon filled in) is always on and free. When narration AI is enabled, a model can replace it with a richer line for 1 credit apiece. Tone is locked to PG-13 by default.

NPC and narrator voice

Optional spoken audio via ElevenLabs. Two flavours: a narrator voice for DM read-aloud, and per-NPC voices for in-character lines — each NPC is deterministically assigned one of a handful of curated voices by name, so the same character always sounds the same across every session. A short set of common roll outcomes (nat 20, nat 1, a clean hit, a crit, session start) are prebaked and play locally with no server call; everything else is on-demand and needs a voice key. With voice off, the table is simply silent. In-app and Discord live voice rooms are a separate thing — see coming soon.

Character creation AI (DNDCards)

The character builder on DNDCards.com uses AI in two spots, both optional.

Portraits

From a character's name, class, species, subclass, alignment, and level, a portrait is generated in the family's painterly "illuminated grimoire" style and saved as the character's art — and synced onto their player card so it shows up everywhere the card appears. It runs both for an existing character ("Generate art") and as a step in the builder before the character is even saved. With no image key, no art is generated and you keep the default card face.

"Who they are" blurb

At the builder's reveal step, a short flavour description is written from everything you chose — species, class, background, alignment, traits, bonds, flaws, quirks. If the model is unreachable, a deterministic template writes a perfectly serviceable blurb from the same fields.

The help that isn't AI

Two features feel like AI and are not. Calling that out is the whole point of listing them here.

Attack suggestion (DND.chat)

When you start typing an attack in the composer — "I swing at the goblin with my longsword" — a prompt appears offering the right roll: it parses your intent, finds your equipped weapon and sheet bonuses, reads the target's AC, and builds the to-hit and damage formula for you to confirm. This is regex and stat lookup, not a language model. It powers the end-of-turn attack prompt and is always on. See Dice & Rolls.

Monster auto-resolve (DNDWar)

On a monster's turn, the DM can let the engine play it. The planner is a deterministic greedy algorithm — it scores every (action, target) pairing by expected damage, distance, kill likelihood, and a few tactical bonuses, paths around walls, and picks the best legal move. No model is involved, which is exactly why monster turns are repeatable and never hallucinate an ability the stat block doesn't have. See Running a Battle on the VTT.

Coming soon

  • Voice rooms — live in-app (and Discord) voice for the table. Wiring exists; the feature isn't shipped.
  • Grisly tone — a per-campaign switch to loosen the PG-13 default on narration and commentary. The model supports it; the table-facing toggle isn't wired yet.
  • AI credit packs — pay-as-you-go credits for the metered AI features. Defined but not yet on sale; everything is free during beta. See Credits & Billing.

Guardrails, caps, and what it costs

A few honest details about how the AI is kept on a leash:

  • Usage caps. The Autopilot DM is capped at 150 turns per session and 400 per campaign per day. Hitting either auto-pauses with a hand-back message — the human DM takes the table.
  • TPK is a human decision. If the whole party drops, the engine forces defeat and pauses autopilot. The AI never declares your party dead.
  • The AI can't teleport the story. A scene jump is only allowed to a scene that memory retrieval actually surfaced that turn — the model can't leap to an arbitrary point in the adventure.
  • Credits. When billing is live, only two things meter: the LLM session recap (50 credits) and the optional LLM roll commentary (1 credit per line). Everything else, including the entire Autopilot DM loop, doesn't touch credits. Nothing is charged during beta.
  • Privacy of provider keys. AI features read a campaign/host-configured key; a table with no key configured shows the non-AI behaviour described in each entry above.

Where to go next