Skip to content

Meetings

Record a meeting, get a transcript while it is still running, and turn it into a summary with decisions and action items when it ends.

Everything that matters happens on your own machine: the audio never leaves it, and the transcription runs against a local Whisper server. Only the optional summary step can involve a hosted model, and even that defaults to a local one.

A finished meeting: summary, decisions, action items, and the full transcript.
A finished meeting: summary, decisions, action items, and the full transcript.

Open it with the microphone icon in the panel header. From a project row's context, it opens pre-filtered to that project.

First run: the model

Transcription needs a model, and models are large, so XTop does not ship one inside the installer. The first time you press Start recording it downloads the default (base.en, about 142 MB) with a progress bar you can cancel, and starts as soon as it lands.

To choose a different one, open ⚙ → Manage model… (also reachable from Settings → Meetings).

ModelEngineSizeGood for
tiny.enwhisper75 MBA slow machine, or English you mostly just need indexed
base.enwhisper142 MBThe default — the usual balance
small.enwhisper488 MBNoticeably better on accents and crosstalk
medium.enwhisper1.5 GBBest quality, needs the RAM and the patience
parakeet-tdt-0.6b-v3parakeet397 MBFaster than whisper at similar quality

You can also browse for a model you already have, or point the app at a Whisper server binary of your own.

Keep the model path plain ASCII

Whisper cannot open a path containing non-English characters. If your Windows user name is in Arabic, keep models in the default C:\ProgramData\DevNexus\models rather than under your profile.

whisper or parakeet

whisper runs a long-lived local server and streams segments to it — steady, and the default. parakeet shells out to a CLI once per segment; it is faster per segment but pays process-start cost each time. Pick it in the model dialog if whisper cannot keep up on your machine.

What is recorded

Two sources, mixed into one mono stream:

  • Your microphone.
  • Your speakers — on Windows, the system audio loopback, so the other side of the call is transcribed too, not just you.

If loopback is unavailable, recording continues with the microphone alone and says so rather than silently capturing half the meeting.

The mixed stream is cut into segments on voice activity rather than on a fixed timer, resampled to the 16 kHz mono WAV Whisper wants, and sent segment by segment. Overlapping words at a segment boundary are stitched, so a sentence cut in half does not come back with its middle repeated.

While it runs

  • A Recording · mm:ss pill in the title bar.
  • The transcript grows as segments come back.
  • If transcription falls behind the audio, the window says "N segments behind". Nothing is lost — the audio is queued and catches up. This is normal on a large model or a busy machine.
  • The machine is kept awake for the duration, so a sleep timer cannot cut the recording short.

Press Stop to end it. The meeting is saved immediately, transcript and all, before any summarising happens.

The summary

Summarize turns the transcript into three things:

  • Summary — a short paragraph.
  • Decisions — what was actually settled.
  • Action items — each with an owner, where the transcript names one.

Providers

ProviderCostWhere it runsNeeds a key
OllamaFreeYour machineNo
GroqFree tierHostedYes
OpenRouterFree tierHostedYes
AnthropicPaidHostedYes

Ollama is the default, because it keeps the whole feature local: point it at your Ollama URL and pick a model you have pulled. The hosted providers each carry a Get key link, and the key is stored in the app's own data folder — not in any project, and never in a backup you would commit.

The archive

Past meetings are listed in the sidebar with their title, a preview, the project they belong to, and the date. Search filters them; the project dropdown narrows to one project.

For any meeting you can rename it, export it as Markdown, reveal its folder, or delete it. Meetings live at:

<userData>/meetings/<id>/meeting.json

When something is wrong

The window states the problem in plain language instead of a stack trace. The ones worth knowing:

What it saysWhat to do
The bundled Whisper server is missingReinstall, or point at a server binary in the model dialog
Choose or download a local Whisper model firstOpen Manage model… and download one
No free local port was availableSomething is holding the port range; try again
The Whisper server stopped unexpectedlyRecording keeps going. Press record again to restart transcription
The server did not finish startingA smaller model loads faster
Microphone access was deniedWindows Settings → Privacy → Microphone
System audio loopback is unavailableExpected on some setups — the microphone is still recorded