> ## Documentation Index
> Fetch the complete documentation index at: https://kagi.micr.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Demos

> Recorded terminal demos and how to regenerate them.

# Demos

The docs site ships with recorded terminal GIFs from the repo:

* auth
* search
* quick answer
* subscriber summarize
* news
* ask-page
* assistant
* translate

## Preview

### Auth

<img src="https://mintlify.s3.us-west-1.amazonaws.com/kagi-cli/images/demos/auth.gif" alt="Auth demo" />

### Search

<img src="https://mintcdn.com/kagi-cli/azau7DEucCKj5AfG/images/demos/search.gif?s=87cd0cfe70ef1b3f7e9339d9f7bfebde" alt="Search demo" width="789" height="450" data-path="images/demos/search.gif" />

### Quick Answer

<img src="https://mintlify.s3.us-west-1.amazonaws.com/kagi-cli/images/demos/quick.gif" alt="Quick Answer demo" />

### Subscriber Summarize

<img src="https://mintcdn.com/kagi-cli/azau7DEucCKj5AfG/images/demos/summarize.gif?s=c5e3f37edad76390c4e6eaf04ea4619d" alt="Summarize demo" width="789" height="450" data-path="images/demos/summarize.gif" />

### News

<img src="https://mintcdn.com/kagi-cli/azau7DEucCKj5AfG/images/demos/news.gif?s=6ab088d39fbebddb91d137c74ef19229" alt="News demo" width="789" height="450" data-path="images/demos/news.gif" />

### Assistant

<img src="https://mintcdn.com/kagi-cli/azau7DEucCKj5AfG/images/demos/assistant.gif?s=08a6827e9693b26fa9086aeca1fadb66" alt="Assistant demo" width="789" height="450" data-path="images/demos/assistant.gif" />

### Ask Page

<img src="https://mintlify.s3.us-west-1.amazonaws.com/kagi-cli/images/demos/ask-page.gif" alt="Ask Page demo" />

### Translate

<img src="https://mintlify.s3.us-west-1.amazonaws.com/kagi-cli/images/demos/translate.gif" alt="Translate demo" />

## Regenerate

Subscriber demos require `KAGI_SESSION_TOKEN`.

The demo scripts build the local debug binary, expose it as `kagi` through `/tmp/*kagi*-demo-bin`, and add short intro and outro pauses so the commands stay readable in the final GIFs.

The current demo commands are:

* `kagi search --format pretty --region us --time year --order recency "rust release notes"`
* `kagi quick --format pretty "what is rust"`
* `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...`
* `kagi news --category tech --limit 1 | jq -M ...`
* `kagi ask-page https://rust-lang.org/ "What is this page about in one sentence?" | jq -M ...`
* `kagi assistant "plan a private obsidian workflow for cafe work. give me 3 setup tips and a short checklist." | jq -M ...`
* `RESPONSE=$(kagi assistant --model gpt-5-4-nano "..."); THREAD_ID=...; kagi assistant --thread-id "$THREAD_ID" "..."; kagi assistant thread export "$THREAD_ID"`
* `kagi translate "Bonjour tout le monde" --to ja | jq -M ...`

```bash theme={null}
chmod +x scripts/demo-search.sh scripts/demo-quick.sh scripts/demo-summarize.sh scripts/demo-news.sh scripts/demo-ask-page.sh scripts/demo-assistant.sh scripts/demo-translate.sh

mkdir -p docs/demo-assets /tmp/kagi-demos

agg --version
KAGI_SESSION_TOKEN='...' asciinema rec -c ./scripts/demo-search.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/search.cast
KAGI_SESSION_TOKEN='...' asciinema rec -c ./scripts/demo-quick.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/quick.cast
KAGI_SESSION_TOKEN='...' asciinema rec -c ./scripts/demo-summarize.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/summarize.cast
asciinema rec -c ./scripts/demo-news.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/news.cast
KAGI_SESSION_TOKEN='...' asciinema rec -c ./scripts/demo-ask-page.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/ask-page.cast
KAGI_SESSION_TOKEN='...' asciinema rec -c ./scripts/demo-assistant.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/assistant.cast
KAGI_SESSION_TOKEN='...' asciinema rec -c ./scripts/demo-translate.sh -q -i 0.2 --cols 92 --rows 22 /tmp/kagi-demos/translate.cast
```

## Rendering

Use the official asciinema `agg` binary when exporting GIFs. On this machine, the correct binary may be the Cargo-installed one rather than an unrelated npm package that also installs `agg`.

```bash theme={null}
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/search.cast docs/demo-assets/search.gif
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/quick.cast docs/demo-assets/quick.gif
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/summarize.cast docs/demo-assets/summarize.gif
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/news.cast docs/demo-assets/news.gif
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/ask-page.cast docs/demo-assets/ask-page.gif
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/assistant.cast docs/demo-assets/assistant.gif
agg --theme asciinema --font-size 14 --idle-time-limit 2 --last-frame-duration 4 /tmp/kagi-demos/translate.cast docs/demo-assets/translate.gif
```
