> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# The AI Assistant That Builds Your Graph

# 🤖 The AI Assistant That Builds Your Graph

In the **Text** tab of the AI Generation window (`Cmd+Shift+G`), ask the AI to build your story — not to tell it to you. It works in the graph you have in front of you: blocks appear and wire themselves together while it answers.

---

${frame}[Video: the AI assistant that builds the graph](https://celestory-docs-videos.netlify.app/en/panorama-ia/assistant-ia-qui-construit-le-graphe.html)

## ⚠️ The Model You Pick Must Be Able to Use Tools

Not all of them can. When yours cannot, a banner warns you: it cannot touch the graph and will just answer in the conversation.

🔺 Switch model before sending your request.

---

## 🧱 Building the Story

- **Adding, removing and renaming blocks**, within the limits of your subscription.
- **Connecting two points**, flow (`in` / `out`) as well as values, and **disconnecting** them.
- **Writing the content of an input**: the text of a **Narrator** or an **Alert**, a number.
- **Setting the options of a Choice block**: each one becomes an output, wired up in the same move.
- **Creating, renaming and removing characters**, then **writing the lines** of a **Dialogue** or **Choice with dialogue** block. A line with no character becomes narration.
- **Creating, renaming and removing variables** (Text, Number, Boolean) and **pointing an input at one**, so the story remembers.
- **Writing the page of an HTML5 block** (mini-game, form, simulation), if your plan allows it.
- **Configuring an integration block**: on a **Baserow** block, it offers the databases, then the tables, and wires the block to the one you name.

## 🗂️ Organising and Navigating

- **Moving a block**, **grouping blocks** into a named group, editing or removing that group (the blocks stay).
- **Showing a block**: it centres and selects it to point it out to you.
- **Listing the project's graphs**, working on a different one, or **creating a module** with its graph and its start block.
- **Reading back** the graph and the content of an input, then **checking the project**: what would stop the story from running, outputs that lead nowhere, inputs that read nothing, HTML5 pages with no way out.
- **Saving the project** to the server. Before that, its work only lives in your browser.

🔺 It cannot create a connection the editor would refuse: the same checks apply to it.

---

## 🔎 Everything It Does Is Shown

Every action is written on a line in the conversation, in plain English: "Adding the character Alex", "Setting 3 choices", "Saving the project". Unfold it for the detail; a failure shows in the error colour. This is deliberate: you must be able to read what was done.

---

## ✍️ An Example Request

> Create the beginning of my story: the hero arrives in front of a locked door, Nora speaks to him, then a three-way choice — knock, pick the lock, walk away. Each branch leads to a short scene. Put the whole thing in a group called "Prologue".

No need to specify the graph: it is the one that is open.

---

## ↩️ Undoing a Whole Turn

Under the message that started the work, an **Undo this turn** button puts the project back as it was before: the unit being undone is the complete turn, not each individual change. **Redo this turn** puts it back as the assistant left it.

🔺 That restore **also overwrites whatever you changed by hand since** that message, and empties your usual undo history: your earlier steps are gone.

---

## 🚧 Known Limits

- **Layout stays imperfect.** It is supposed to lay its graph out from left to right, but nothing guarantees it: blocks can overlap. Ask it to move them.
- **Progress during the turn.** Blocks appear in the graph before the conversation comments on them: do not conclude too early that nothing is happening.
- **It does not know the text already written.** It knows which blocks exist, not what they contain: it reads an input back before changing it, and a rewrite replaces the entire content.
- **Turns are bounded.** After twelve rounds of tool calls, it stops; what it has built stays in the graph.
- **Characters have no image**: a name, a biography, nothing more.

---

→ Next step: read the **Choice** block page again, then ask the assistant to complete a branch you left open.