Pythia

The built-in assistant that reads your table and writes automation for you to review before anything is saved.

What Pythia is

Pythia is an assistant built into the table that writes automation for you. You describe what you want in plain language ("deal five cards to every hand when I press this button") and Pythia proposes a sequence. Nothing is saved until you press Confirm.

Pythia is AI that runs on a large language model called DeepSeek. What it produces is ordinary automation: sequences and triggers exactly like the ones you build by hand, readable and editable in the Sequences panel afterwards.

Pythia never touches artwork. It cannot generate, alter, or replace an image on your table, and it never will.

Who can use it

Pythia is available to anyone who can edit the game: the owner and any collaborator. Players and spectators sitting at your table do not see it and cannot open it.

Opening Pythia

Press the sparkle button in the table toolbar. The panel opens on the right side of the table. You can drag it by its header to move it, or drag any edge to resize it, and it remembers where you put it.

The panel keeps your conversation for the session, so you can close it and come back without losing the thread. Use New Conversation to start clean when you move on to a different problem, since a long thread carries the earlier context with it.

Asking for something

Type what you want and press Enter. Shift+Enter gives you a new line.

Pythia can:

  • read your table to see what decks, bags, bowls, spaces, dice, counters, timers, buttons and seats exist
  • look up a specific card or token by name, colour, or tag when you name one
  • read a sequence you already have and explain or revise it
  • search the documentation and cite the pages it used
  • propose a new sequence
  • propose a change to an existing sequence, keeping its id so buttons wired to it stay wired
  • wire a proposed sequence to an existing button
  • do one small thing right now without saving a sequence

Good requests name the pieces the way they are named on your table. "Deal 7 from the Draw Deck to each hand" works better than "deal cards", because Pythia matches against the real names it can see.

Reviewing a proposal

When Pythia has something to offer, it appears as a proposal card in the conversation with the steps written out, including any Only-if guards on each step. Read it before you accept it.

  • Confirm creates the sequence (or applies the edit) and, if it targets a button, adds the case that wires it up.
  • Dismiss hides the card. Nothing is created.

Pythia only ever asks you to press Confirm when a card is actually there to press. If it could not put a proposal together, it says what went wrong instead of asking you to confirm something that does not exist.

Pythia also keeps a record of what happened to each card. When you confirm, it knows which sequence was saved, so asking it later to add a step or change something revises that same sequence in place rather than making a second one. If you did not press Confirm, Pythia knows nothing was saved and will say so rather than assuming.

A confirmed sequence is a plain sequence. It shows up in the Sequences panel, you can edit it, copy it, delete it, and undo it exactly like one you wrote yourself. Nothing records that Pythia authored it and nothing depends on Pythia to keep running it.

There are two kinds of card:

  • A sequence proposal is automation that gets saved and can run again.
  • A do-it-now proposal performs a single action once and saves nothing. Pythia uses this when you ask for something that is a one-off, like shuffling a set of tiles or setting a counter. It fires the same action you would fire yourself from the table, so it is recorded as your doing and can be undone the same way.

When Pythia says it cannot see something

Pythia reads a bounded sample of your table rather than the whole thing, so on a very large table it will tell you its view may be incomplete instead of guessing. Name the piece exactly and Pythia will look it up directly, which reaches pieces the summary never listed.

Tags are the exception, and the reliable way to point Pythia at a set of spaces. Pythia sees every tag on your table and how many pieces and spaces carry it, even when there are too many spaces for it to list them all by name. So "deal the Judge Deck to every space tagged judge card" works on a table of any size, while naming all four spaces one by one may not.

Pythia also refuses to save automation built against a stale view. If you rearrange the table between the proposal and the confirm, the confirm is rejected and you ask again. This is deliberate: it stops a sequence being saved against pieces that have since moved.

What Pythia sees, and what it does not

When you send a message, Pythia sends the model the text of your conversation plus a structured summary of your table: your decks, bags, bowls, spaces, dice, counters, timers, buttons, triggers and saved sequences by name, the tags, names and colours in use, counts, counter values, seat numbers, and the steps of any sequence you asked it to read.

Individual cards and tokens are not all listed, because a table can hold thousands. When you name one, Pythia looks it up. If you ask for something it cannot find, it will tell you rather than guess.

It does not send:

  • any image, artwork, or asset, in any form. No image data, no image URLs, no asset references
  • anything at all unless you open the panel and send a message. Pythia never runs in the background, never volunteers a suggestion, and makes no request when you are not using it

Tips

  • Ask for one behaviour at a time. A sequence you can read in one screen is one you can debug.
  • Let Pythia read an existing sequence before asking it to change one. "Read the Setup sequence, then add a step that resets the score counters" beats describing the sequence from memory.
  • If a proposal is nearly right, say what is wrong rather than starting over. Pythia revises in place.
  • Check the steps. Pythia is helpful, not infallible, and a sequence you confirmed is yours.