# Ekorbia v0.4 & v0.5 — Spaces, an offline UI, and voice input

> Source: <https://ekorbia.com/blog/2026-07-03-ekorbia-v0-4-and-v0-5.html>
> Published: 2026-07-03 00:00:00+00:00

[← All posts](./index.html)

#
Ekorbia *v0.4 & v0.5* — Spaces, an offline
UI, and voice input

Two releases have landed since the cross-platform v0.3.
**v0.4** brings guided setup, in-app model
management, and a UI that runs fully offline.
**v0.5** gives Ekorbia a voice: on-device dictation
you can trigger from anywhere.

## v0.4 — the "no terminal required" release

Up to v0.3, getting started still required running
`ollama pull`

in a terminal. v0.4 removes
that requirement.

### Guided first-run setup

Launch Ekorbia with no model installed and it now looks
at your machine's memory, recommends a right-sized Gemma
4 (`e2b`

for 8 GB or less, up to
`31b`

for 64 GB and beyond), and downloads it
in-app with a progress bar. If you want folder search it
grabs the `nomic-embed-text`

embedding model
in the same step. No terminal, no guessing which model
fits.

### An in-app model manager

A new **Settings → Models** tab lists your installed
models with their on-disk sizes, deletes them with a
confirmation, and pulls new ones with a live,
cancellable progress bar. It's reachable from wherever
you'd want it — **Manage models…** in the composer's
model picker, a **Download a model…** button when
nothing is installed, and the startup "Model not found"
dialog all lead to the same place.

### Spaces

v0.4 replaces the lightweight sidebar chat groups with
**Spaces** — a named workspace that bundles the
context a project needs:

-
a
**default model** for new chats in the Space, -
optional
**pinned files and folders** that attach themselves to every new chat, - optional
**pinned prompts**, and - an optional
**Space-scoped memory file**.

Any pinned file, folder, or prompt can be
**locked**, which forces it to stay attached and
removes the × from its composer chip so it can't be
detached mid-chat — handy for a system-prompt-style
instruction you always want in force. A Space with no
pins and no memory file behaves as a plain
organisational bucket, so the old "just a folder" use
case still works.

### Watch recipes and a Today digest

Creating a watch used to mean filling out a blank form.
Now it starts from one-click **recipes** — Summarise
new downloads, Watch a price, Watch job listings, Follow
a blog, or Custom — that pre-fill the kind, prompt,
cadence, and a model picker that defaults to a model you
actually have pulled.

The Watches panel gained an **All / Today** toggle
and a **Chat about today** button that opens a chat
seeded with the last 24 hours of summaries. And folder
watches can now skip files already present, so pointing
one at a busy folder like Downloads doesn't summarise
the entire backlog on the first poll.

### Snappier reasoning models

Ekorbia now detects thinking-capable models
(`qwen3.x`

, `deepseek-r1`

,
`gpt-oss`

, …) via Ollama's
`/api/show`

probe and sends
`think: false`

by default — so they answer
right away instead of streaming a long hidden
chain-of-thought first. You get the model's response,
not a wait.

### A fully offline UI

This one's invisible until you unplug the network.
React, ReactDOM, Babel-standalone, marked, highlight.js,
DOMPurify, and the Inter / JetBrains Mono / Instrument
Serif fonts now ship *inside* the app under
`ui/vendor/`

(pinned versions and checksums)
instead of loading from unpkg.com and Google Fonts at
runtime.

The only network traffic Ekorbia produces is to your
local Ollama server on `127.0.0.1:11434`

. A
new Playwright spec (`offline-boot.spec.js`

)
boots the UI with every non-localhost request blocked
and fails the build if any external request is even
attempted — so "fully offline" stays true, release over
release.

## v0.5 — your voice, on your machine

v0.5 adds voice input, and it holds the same line the
rest of the app does: nothing leaves your machine.
Speech is transcribed on-device with
[whisper.cpp](https://github.com/ggml-org/whisper.cpp)
— no audio is ever uploaded.

### Push-to-talk dictation

There's a new **mic button** in the composer, between
the prompt button and the model picker. Click it, speak,
and click again to insert the transcript at your cursor;
`Esc` cancels. First use downloads a small
English model (`base.en`

, about 142 MB;
`tiny.en`

and `small.en`

are also
offered) with a cancellable progress bar, and you manage
them under **Settings → Voice**.

On Apple Silicon it's Metal-accelerated — a short dictation transcribes in a few hundred milliseconds. Voice is macOS-first for now; the mic permission prompt appears the first time you record.

### Hands-free: auto-stop and auto-send

You don't have to click twice. **Auto-stop**
(energy-based voice-activity detection) ends the
recording a moment after you stop speaking, and
**auto-send** submits the finished dictation for you
— so you can just speak and let it go, no Enter, no
second click. Both are on by default and toggleable
under **Settings → Voice**;
`Esc` mid-recording still cancels without
sending.

### Dictate from anywhere

The same mic button lives in the Spotlight-style
quick-query overlay, so you can dictate a question
without switching to the main window (recording keeps
the overlay open rather than auto-dismissing). And a
system-wide, rebindable
**global voice hotkey** (default `⌘⇧V` on
macOS, `Alt+Shift+V` on Windows) opens the
overlay already listening — dictate from any app without
clicking anything first. Rebind it under
**Settings → General → Voice input**.

### 99 languages, and translate-to-English

Alongside the English-only models, multilingual Whisper
models (`base`

, `small`

,
`large-v3-turbo`

) cover 99 languages.
**Settings → Voice** adds a language picker
(auto-detect or a specific language) and a
**Translate to English** toggle — speak in one
language and have the transcript land in English. Both
apply to the multilingual models; the English-only
models always transcribe English.

## How to get it

The
[releases page](https://github.com/ekorbia/ekorbia-desktop/releases/latest)
has the latest bundles for macOS, Windows, and Linux.
Existing users upgrade in place — your chats, prompts,
and settings carry over, and any old chat groups migrate
to Spaces automatically on first launch.

Voice input is macOS-first this release; everything else in v0.4 and v0.5 works across all three platforms.
