Skip to main content
Documentation menu

Slidev and demo mode

Understand generated question output, token permissions, and rehearsal behavior.

Slidev and demo mode

Inalia provides generated question output for presentation integrations, including Slidev. This article describes the concepts and output available in this application; it is not a complete addon installation guide.

Question output

Use a question's output controls to choose HTML, JSON, or YAML.

Before the talk is finished, the output references the question number for live use. For example, HTML output for question 1 is:

<Inalia
  questionId="1"
/>

This component requires a compatible Inalia presentation integration; pasting it into an arbitrary slide deck is not sufficient.

Finished-talk snapshots

Once a talk is finished, generated output includes the question, type, chart where applicable, and saved result data instead of just a live reference.

Generate and copy the output again after finishing if you want the static snapshot. Previously copied snippets do not rewrite themselves.

Text snapshots include the submitted text. Review that content before publishing a deck or committing its output to a public repository.

Sign in from the Slidev addon

A compatible version of slidev-addon-inalia can connect using Sign in with Inalia instead of asking you to copy an API token.

The separate inalia package provides the CLI; slidev-addon-inalia provides only the Slidev add-on, not a command-line executable. With Node.js 22.12 or newer, run npx inalia slidev setup in the deck directory. It reuses your sign-in or opens browser sign-in, then lets you choose a talk and configures the deck. For an already-installed deck, run npx inalia talk select and restart Slidev. Use npx inalia auth login to sign in separately; signing in alone does not configure a deck. The bare command shows help.

Approve only the permissions you need:

  • Read lets the addon retrieve your talks, questions and live results.
  • Present also lets it start your talks. Use auth login --read-only if you do not need this.

OAuth does not grant access to other people's talks or bypass account verification, access requirements, or plan restrictions. Slidev permissions do not grant MCP access or administrative access.

Credentials are stored outside the deck in a private file in your user configuration directory, not in the slides or browser. This file is permission-restricted but is not an encrypted keychain. Treat your local user account and configuration backups as sensitive.

Open Slidev through localhost on the machine that signed in. The addon uses its local development server to keep tokens out of browser code; LAN viewers, hosted/static decks and preview servers do not support this OAuth connection. Exported PDFs are static snapshots and do not carry a login session. Use generated finished-talk snapshots or explicit static data when publishing a deck.

Access is refreshed automatically while presenting. If authorization expires or is revoked, sign in again. Run npx inalia auth logout to revoke the current access token and its refresh token and delete the local file. Those credentials can no longer access your talks or renew access. To disconnect every authorization for the app, use Connected Apps in your profile's Security settings. If the server cannot be reached, local credentials are still deleted and the command reports that remote revocation failed.

The browser sign-in flow requires a deployed Inalia backend and addon version that both support Slidev OAuth.

Access tokens

Create a named token from your account's token settings.

For API-token setup, the official Slidev add-on needs only VITE_INALIA_API_KEY and VITE_INALIA_TALK_NUMBER for a live connection. It automatically retrieves your username from the token. Self-hosted backends must support GET /api/me before updating the add-on.

  • read retrieves talks and questions.
  • write, alongside read, can run talks and change demo mode.

Copy a new token when it is shown and store it securely. Never put it in public slide source or browser-delivered code. Delete tokens you no longer use.

Integration requests still require an eligible, verified account and access to the requested talk.

Choose a talk for a Slidev deck

After installing the official add-on and enabling it in slides.md, run npx inalia talk select in your Slidev project (Node.js 22.12+). It lists all talks belonging to your account by title and number. Choose one to save its number in the project's .env without removing unrelated settings. No authentication-mode variable is needed. OAuth credentials stay outside the deck. The add-on discovers your username automatically at runtime; it does not need a username in .env.

The command reuses your OAuth session or opens browser sign-in. If an API token is already set in your shell environment or .env, that token takes precedence; shell values win. A dedicated read token is sufficient and is saved with the selection. The CLI never prompts for a token and does not read user-wide ~/.inaliarc settings. Cancelling, a failed request, or having no talks leaves the deck files unchanged, although browser sign-in may have created a local session. Restart Slidev after selecting a talk.

Keep .env out of source control. In API-token mode, the add-on sends its token from browser-side code, so do not publicly host a live-configured deck. Browser sign-in is local-only and is not available in published decks. See Your first Slidev integration for setup and security guidance.

Live reactions in Slidev

The official add-on keeps up to 20 active emoji reactions in the overlay by default. Reactions received at capacity are dropped rather than queued; accepted reactions expire after three seconds.

Use inalia.emoji.limit in the deck's root frontmatter to change the presentation-wide limit. Use inalia.emoji: false to hide the overlay globally or on an individual slide. A slide's emoji: true overrides global hiding. These settings affect the overlay, not whether Inalia accepts audience reactions. Hiding the overlay retains its bounded buffer briefly, so unexpired reactions can reappear when shown again.

See Live reactions in the Slidev reference for configuration examples and limit rules.

Demo mode

Demo mode is a per-talk setting. In a connected Slidev deck using the official add-on, choose Enter Demo Mode (the debug icon) in the navigation controls. Choose Exit Demo Mode to turn it off. Each successful change reloads the deck and requires a token with both read and write permissions. Closing Slidev does not turn demo mode off.

It lets participation events be demonstrated without saving new poll answers, audience questions, feedback messages, or feedback reactions.

It does not erase data already collected. It also does not bypass the talk's running state or feature requirements.

Voting and audience-question highlighting are unavailable in demo mode. Disable demo mode before a real session; otherwise participation may appear live without being saved.

A duplicated talk inherits the original's demo-mode setting, so review it before presenting.