Skip to content

Releases: NX1X/OpenMila

OpenMila 1.9.5-beta.2+port.5

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 11:26
Immutable release. Only release title and notes can be modified.

OpenMila for Linux and Windows, matching Mila v1.9.5-beta.2, so it carries
that release's features and its beta status.

This build adds local AI, set up from inside the app. Settings > AI
Provider > Set up local AI installs a model server on the machine (Ollama, at
a pinned release, checked against the digest its vendor publishes before
anything is run), downloads an open model - Mistral 7B by default, with
Mistral NeMo, OLMo 2, Gemma 3, Llama 3.1 and SmolLM2 offered beside it - and
selects it as the provider. From then on titles, summaries, action items and
Live AI run with no network at all. Nothing system-wide, no administrator.

Also in this build:

  • The AI Provider settings show the endpoint presets by name (Ollama, OpenAI,
    OpenRouter, Groq, DeepSeek, custom) and fill the URL in, hide the key field
    where no key is needed, and carry a Test button.
  • The Windows caption bar follows the app's light or dark theme instead of
    staying white over a dark window.
  • The port no longer downloads Mila's CoreML encoder on Windows and Linux,
    where nothing can load it: about 1 GB per model saved, and a spurious
    "unzip failed" line gone from the log.
  • Uninstall keeps the local AI server and models on a plain uninstall and
    removes them, stating their size, on a purge.

New since the first build

  • A Windows installer. OpenMila-1.9.5-beta.2+port.5-win64-setup.exe
    installs per user, with no administrator prompt, and gives you a Start menu
    entry, an optional desktop shortcut, the .milaconfig file association and
    a working Uninstall entry in Installed Apps. The portable zip is still
    there; both come from the same payload.
  • Uninstall keeps your data. On either system, removing OpenMila removes
    the application, its shortcuts, its autostart entry, its file association
    and its MCP registration, and leaves recordings, models and settings alone.
    Deleting those is a separate request: --purge on Linux, or answering Yes
    to a question that defaults to No on Windows. The AppImage now has
    --install and --uninstall of its own, and still runs with neither.
  • Meetings in a browser tab are detected on Wayland. The display protocol
    refuses to show one application another's windows, so the title comes from
    the accessibility bus instead. Firefox and Chromium publish their windows
    there only once the desktop's accessibility support is on, so Settings and
    openmila-cli windows now say where titles come from and name the command
    that turns it on, rather than finding nothing and saying nothing.
  • Proton Meet joins Google Meet, Zoom and Teams in meeting detection, on
    both systems. Windows reads window captions now too, which it never did.
  • Choose which graphics card. A machine with two devices, or a laptop
    whose integrated GPU enumerates before its discrete card, can now be told
    which to use: Settings names every device, and automatic prefers discrete
    over integrated. Settings also names the backend in use and carries the
    switch that forces the processor if a driver misbehaves.
  • Watched folders proposes a folder instead of opening an empty field, and
    will not quietly end up watching your home directory.
  • The window can no longer be dragged narrow enough to wrap a label to one
    word per line.

What this build does

Everything happens on your machine. Nothing is uploaded unless you point the
app at a server you chose yourself.

  • Record from the microphone, from one application's audio, or both mixed
    into one meeting recording. Pause and resume; the pause is absent from the
    audio and the clock.

  • Transcribe Hebrew and English with whisper.cpp and the same two models
    Mila uses, downloaded on first launch and checked against their SHA-256.
    Live transcription runs while you record.

  • Speakers: pyannote diarization, live speaker labels, a speaker directory
    you can rename and merge, and opt-in recognition across recordings.

  • Dictate into whatever window has focus, with your own hotkeys.

  • AI: automatic titles and summaries, action items, Live AI during a
    recording, and Send to LLM, through the Claude, Cursor or Gemini CLI or any
    OpenAI-compatible endpoint.

  • MCP server so Claude Code and other tools can read your transcripts -
    off until you turn it on, and it refuses every request while it is off.

  • Watched folders, Obsidian export, .milaconfig team setup (double-click
    one on Linux), SRT export, playback from 0.5x to 2x with voices at their
    natural pitch.

  • Your graphics card, when it is worth using. whisper.cpp is built with
    the Vulkan backend on both systems. OpenMila asks the machine what it has
    first: a real GPU gets the model, a software Vulkan driver (llvmpipe,
    lavapipe) is refused because it is slower than the processor, and a machine
    with neither simply uses the processor. openmila-cli gpu says which.
    This has not been measured on real GPU hardware yet.

  • Capture that recovers. If the microphone stops delivering audio mid
    recording, because it was unplugged or the audio server restarted, OpenMila
    notices within about twelve seconds and reopens it rather than writing
    silence to the end of your meeting.

  • Portable zip on Windows: run WindowsAppRuntimeInstall-x64.exe from the
    folder once before the first start. README-WINDOWS.txt in the zip says the
    same. The installer edition does this for you.

Install

Linux (Ubuntu 26.04 and anything with GTK 4):

  • OpenMila-1.9.5-beta.2+port.5-x86_64.AppImage - chmod +x it and run it. Run
    it with --install to add a desktop entry, --uninstall to remove one.
  • openmila_1.9.5-beta.2+port.5_amd64.deb - sudo apt install ./openmila_*.deb.

Per-application audio capture needs PipeWire's tools (pipewire-bin). AAC
recordings use ffmpeg where it is installed and GStreamer otherwise.

On a Wayland session, dictation hotkeys go through the desktop's own
GlobalShortcuts portal, which asks you once. Typing the dictated text into the
focused window needs one more permission: run openmila-cli grant-typing and
answer the dialog. Until you do, dictation leaves the text on the clipboard
and tells you so; it never stops to ask in the middle of a dictation.

Windows 11: run OpenMila-1.9.5-beta.2+port.5-win64-setup.exe, which
installs for your user only and needs no administrator. If you would rather
install nothing, unzip OpenMila-1.9.5-beta.2+port.5-win64.zip anywhere and
run openmila.exe; everything it needs travels in the zip.

docs/port/INSTALL.md
covers installing, upgrading and uninstalling on both systems, and says exactly
what an uninstall keeps.

Read this before you install it on Windows

The Windows build compiles and passes its tests in CI, its payload is checked
at packaging time to start with no Swift installed, and that is all anyone can
say about it so far: almost nothing on Windows has been exercised by a
human
. The installer has never been compiled anywhere but the release
runner. Treat
this release as Linux-first. Per-application audio on Windows is written against WASAPI
process loopback and has never captured a byte; the speaker-diarization runtime
builds but has never been loaded; and signing in to the managed Claude install
needs a terminal.

docs/port/PARITY.md
lists every Mila feature with its status on each system and the evidence behind
it. If something there is marked done and does not work for you, that is a bug
worth reporting.

Verifying what you downloaded

SHA256SUMS covers every file, and each one carries a GitHub build
attestation: gh attestation verify <file> --repo NX1X/OpenMila.

Thanks to the upstream

Mila's engine, data model and application logic are reused unchanged wherever
the platform allows; only what is tied to macOS was rewritten.
CHANGES.md lists
every upstream file the port modifies and why.

OpenMila 1.9.5-beta.2+port.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 08:45
Immutable release. Only release title and notes can be modified.

OpenMila for Linux and Windows, matching Mila v1.9.5-beta.2, so it carries
that release's features and its beta status.

This build fixes a Windows app that could not start. The previous one
installed, then showed a console window for a moment and disappeared: the
interface is built on WinUI, which needs Microsoft's Windows App Runtime, and
the package shipped neither that runtime nor the library that looks for it. It
also left behind the files the app build puts beside the executable. All of
that now travels in the package, the installer sets up the runtime for your
user with no administrator prompt, and packaging refuses to produce a package
whose application does not start: it runs the app itself, on a machine with no
Swift and nothing else installed, before the zip is written.

The console window is gone too. It was there because the executable was linked
as a console program rather than a window one.

Everything else is as in the previous build: the Windows installer, an
uninstall that keeps your recordings, meeting detection that works on a
Wayland session, and a way to choose which graphics card transcribes.

OpenMila is an independent community port of
Mila by Uri Harduf at Island Technology,
Inc., licensed under Apache 2.0. It is not affiliated with or endorsed by
Island. On a Mac, use the original - OpenMila does not build for macOS.

New since the first build

  • A Windows installer. OpenMila-1.9.5-beta.2+port.3-win64-setup.exe
    installs per user, with no administrator prompt, and gives you a Start menu
    entry, an optional desktop shortcut, the .milaconfig file association and
    a working Uninstall entry in Installed Apps. The portable zip is still
    there; both come from the same payload.
  • Uninstall keeps your data. On either system, removing OpenMila removes
    the application, its shortcuts, its autostart entry, its file association
    and its MCP registration, and leaves recordings, models and settings alone.
    Deleting those is a separate request: --purge on Linux, or answering Yes
    to a question that defaults to No on Windows. The AppImage now has
    --install and --uninstall of its own, and still runs with neither.
  • Meetings in a browser tab are detected on Wayland. The display protocol
    refuses to show one application another's windows, so the title comes from
    the accessibility bus instead. Firefox and Chromium publish their windows
    there only once the desktop's accessibility support is on, so Settings and
    openmila-cli windows now say where titles come from and name the command
    that turns it on, rather than finding nothing and saying nothing.
  • Proton Meet joins Google Meet, Zoom and Teams in meeting detection, on
    both systems. Windows reads window captions now too, which it never did.
  • Choose which graphics card. A machine with two devices, or a laptop
    whose integrated GPU enumerates before its discrete card, can now be told
    which to use: Settings names every device, and automatic prefers discrete
    over integrated. Settings also names the backend in use and carries the
    switch that forces the processor if a driver misbehaves.
  • Watched folders proposes a folder instead of opening an empty field, and
    will not quietly end up watching your home directory.
  • The window can no longer be dragged narrow enough to wrap a label to one
    word per line.

What this build does

Everything happens on your machine. Nothing is uploaded unless you point the
app at a server you chose yourself.

  • Record from the microphone, from one application's audio, or both mixed
    into one meeting recording. Pause and resume; the pause is absent from the
    audio and the clock.

  • Transcribe Hebrew and English with whisper.cpp and the same two models
    Mila uses, downloaded on first launch and checked against their SHA-256.
    Live transcription runs while you record.

  • Speakers: pyannote diarization, live speaker labels, a speaker directory
    you can rename and merge, and opt-in recognition across recordings.

  • Dictate into whatever window has focus, with your own hotkeys.

  • AI: automatic titles and summaries, action items, Live AI during a
    recording, and Send to LLM, through the Claude, Cursor or Gemini CLI or any
    OpenAI-compatible endpoint.

  • MCP server so Claude Code and other tools can read your transcripts -
    off until you turn it on, and it refuses every request while it is off.

  • Watched folders, Obsidian export, .milaconfig team setup (double-click
    one on Linux), SRT export, playback from 0.5x to 2x with voices at their
    natural pitch.

  • Your graphics card, when it is worth using. whisper.cpp is built with
    the Vulkan backend on both systems. OpenMila asks the machine what it has
    first: a real GPU gets the model, a software Vulkan driver (llvmpipe,
    lavapipe) is refused because it is slower than the processor, and a machine
    with neither simply uses the processor. openmila-cli gpu says which.
    This has not been measured on real GPU hardware yet.

  • Capture that recovers. If the microphone stops delivering audio mid
    recording, because it was unplugged or the audio server restarted, OpenMila
    notices within about twelve seconds and reopens it rather than writing
    silence to the end of your meeting.

  • Portable zip on Windows: run WindowsAppRuntimeInstall-x64.exe from the
    folder once before the first start. README-WINDOWS.txt in the zip says the
    same. The installer edition does this for you.

Install

Linux (Ubuntu 26.04 and anything with GTK 4):

  • OpenMila-1.9.5-beta.2+port.3-x86_64.AppImage - chmod +x it and run it. Run
    it with --install to add a desktop entry, --uninstall to remove one.
  • openmila_1.9.5-beta.2+port.3_amd64.deb - sudo apt install ./openmila_*.deb.

Per-application audio capture needs PipeWire's tools (pipewire-bin). AAC
recordings use ffmpeg where it is installed and GStreamer otherwise.

On a Wayland session, dictation hotkeys go through the desktop's own
GlobalShortcuts portal, which asks you once. Typing the dictated text into the
focused window needs one more permission: run openmila-cli grant-typing and
answer the dialog. Until you do, dictation leaves the text on the clipboard
and tells you so; it never stops to ask in the middle of a dictation.

Windows 11: run OpenMila-1.9.5-beta.2+port.3-win64-setup.exe, which
installs for your user only and needs no administrator. If you would rather
install nothing, unzip OpenMila-1.9.5-beta.2+port.3-win64.zip anywhere and
run openmila.exe; everything it needs travels in the zip.

docs/port/INSTALL.md
covers installing, upgrading and uninstalling on both systems, and says exactly
what an uninstall keeps.

Read this before you install it on Windows

The Windows build compiles and passes its tests in CI, its payload is checked
at packaging time to start with no Swift installed, and that is all anyone can
say about it so far: almost nothing on Windows has been exercised by a
human
. The installer has never been compiled anywhere but the release
runner. Treat
this release as Linux-first. Per-application audio on Windows is written against WASAPI
process loopback and has never captured a byte; the speaker-diarization runtime
builds but has never been loaded; and signing in to the managed Claude install
needs a terminal.

docs/port/PARITY.md
lists every Mila feature with its status on each system and the evidence behind
it. If something there is marked done and does not work for you, that is a bug
worth reporting.

Verifying what you downloaded

SHA256SUMS covers every file, and each one carries a GitHub build
attestation: gh attestation verify <file> --repo NX1X/OpenMila.

Thanks to the upstream

Mila's engine, data model and application logic are reused unchanged wherever
the platform allows; only what is tied to macOS was rewritten.
CHANGES.md lists
every upstream file the port modifies and why.

OpenMila 1.9.5-beta.2+port.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 07:18
Immutable release. Only release title and notes can be modified.

OpenMila for Linux and Windows, matching Mila v1.9.5-beta.2, so it carries
that release's features and its beta status. This build adds a Windows
installer, an uninstall that keeps your recordings, meeting detection that
works on Wayland, and a way to choose which graphics card transcribes.

OpenMila is an independent community port of
Mila by Uri Harduf at Island Technology,
Inc., licensed under Apache 2.0. It is not affiliated with or endorsed by
Island. On a Mac, use the original - OpenMila does not build for macOS.

New since the first build

  • A Windows installer. OpenMila-1.9.5-beta.2+port.2-win64-setup.exe
    installs per user, with no administrator prompt, and gives you a Start menu
    entry, an optional desktop shortcut, the .milaconfig file association and
    a working Uninstall entry in Installed Apps. The portable zip is still
    there; both come from the same payload.
  • Uninstall keeps your data. On either system, removing OpenMila removes
    the application, its shortcuts, its autostart entry, its file association
    and its MCP registration, and leaves recordings, models and settings alone.
    Deleting those is a separate request: --purge on Linux, or answering Yes
    to a question that defaults to No on Windows. The AppImage now has
    --install and --uninstall of its own, and still runs with neither.
  • Meetings in a browser tab are detected on Wayland. The display protocol
    refuses to show one application another's windows, so the title comes from
    the accessibility bus instead. Firefox and Chromium publish their windows
    there only once the desktop's accessibility support is on, so Settings and
    openmila-cli windows now say where titles come from and name the command
    that turns it on, rather than finding nothing and saying nothing.
  • Proton Meet joins Google Meet, Zoom and Teams in meeting detection, on
    both systems. Windows reads window captions now too, which it never did.
  • Choose which graphics card. A machine with two devices, or a laptop
    whose integrated GPU enumerates before its discrete card, can now be told
    which to use: Settings names every device, and automatic prefers discrete
    over integrated. Settings also names the backend in use and carries the
    switch that forces the processor if a driver misbehaves.
  • Watched folders proposes a folder instead of opening an empty field, and
    will not quietly end up watching your home directory.
  • The window can no longer be dragged narrow enough to wrap a label to one
    word per line.

What this build does

Everything happens on your machine. Nothing is uploaded unless you point the
app at a server you chose yourself.

  • Record from the microphone, from one application's audio, or both mixed
    into one meeting recording. Pause and resume; the pause is absent from the
    audio and the clock.
  • Transcribe Hebrew and English with whisper.cpp and the same two models
    Mila uses, downloaded on first launch and checked against their SHA-256.
    Live transcription runs while you record.
  • Speakers: pyannote diarization, live speaker labels, a speaker directory
    you can rename and merge, and opt-in recognition across recordings.
  • Dictate into whatever window has focus, with your own hotkeys.
  • AI: automatic titles and summaries, action items, Live AI during a
    recording, and Send to LLM, through the Claude, Cursor or Gemini CLI or any
    OpenAI-compatible endpoint.
  • MCP server so Claude Code and other tools can read your transcripts -
    off until you turn it on, and it refuses every request while it is off.
  • Watched folders, Obsidian export, .milaconfig team setup (double-click
    one on Linux), SRT export, playback from 0.5x to 2x with voices at their
    natural pitch.
  • Your graphics card, when it is worth using. whisper.cpp is built with
    the Vulkan backend on both systems. OpenMila asks the machine what it has
    first: a real GPU gets the model, a software Vulkan driver (llvmpipe,
    lavapipe) is refused because it is slower than the processor, and a machine
    with neither simply uses the processor. openmila-cli gpu says which.
    This has not been measured on real GPU hardware yet.
  • Capture that recovers. If the microphone stops delivering audio mid
    recording, because it was unplugged or the audio server restarted, OpenMila
    notices within about twelve seconds and reopens it rather than writing
    silence to the end of your meeting.

Install

Linux (Ubuntu 26.04 and anything with GTK 4):

  • OpenMila-1.9.5-beta.2+port.2-x86_64.AppImage - chmod +x it and run it. Run
    it with --install to add a desktop entry, --uninstall to remove one.
  • openmila_1.9.5-beta.2+port.2_amd64.deb - sudo apt install ./openmila_*.deb.

Per-application audio capture needs PipeWire's tools (pipewire-bin). AAC
recordings use ffmpeg where it is installed and GStreamer otherwise.

On a Wayland session, dictation hotkeys go through the desktop's own
GlobalShortcuts portal, which asks you once. Typing the dictated text into the
focused window needs one more permission: run openmila-cli grant-typing and
answer the dialog. Until you do, dictation leaves the text on the clipboard
and tells you so; it never stops to ask in the middle of a dictation.

Windows 11: run OpenMila-1.9.5-beta.2+port.2-win64-setup.exe, which
installs for your user only and needs no administrator. If you would rather
install nothing, unzip OpenMila-1.9.5-beta.2+port.2-win64.zip anywhere and
run openmila.exe; everything it needs travels in the zip.

docs/port/INSTALL.md
covers installing, upgrading and uninstalling on both systems, and says exactly
what an uninstall keeps.

Read this before you install it on Windows

The Windows build compiles and passes its tests in CI, its payload is checked
at packaging time to start with no Swift installed, and that is all anyone can
say about it so far: almost nothing on Windows has been exercised by a
human
. The installer has never been compiled anywhere but the release
runner. Treat
this release as Linux-first. Per-application audio on Windows is written against WASAPI
process loopback and has never captured a byte; the speaker-diarization runtime
builds but has never been loaded; and signing in to the managed Claude install
needs a terminal.

docs/port/PARITY.md
lists every Mila feature with its status on each system and the evidence behind
it. If something there is marked done and does not work for you, that is a bug
worth reporting.

Verifying what you downloaded

SHA256SUMS covers every file, and each one carries a GitHub build
attestation: gh attestation verify <file> --repo NX1X/OpenMila.

Thanks to the upstream

Mila's engine, data model and application logic are reused unchanged wherever
the platform allows; only what is tied to macOS was rewritten.
CHANGES.md lists
every upstream file the port modifies and why.

OpenMila 1.9.5-beta.2+port.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 07:17
Immutable release. Only release title and notes can be modified.

Superseded, kept only as history. The Windows zip in this build starts,
but there is no installer, meeting detection does not work on a Wayland
session, and a machine with two graphics cards cannot be told which to use.
Use the newest release instead.

The first OpenMila build: Mila for Linux, and the Windows build that goes with
it. This matches Mila v1.9.5-beta.2, so it carries that release's features
and its beta status.

OpenMila is an independent community port of
Mila by Uri Harduf at Island Technology,
Inc., licensed under Apache 2.0. It is not affiliated with or endorsed by
Island. On a Mac, use the original - OpenMila does not build for macOS.

What this build does

Everything happens on your machine. Nothing is uploaded unless you point the
app at a server you chose yourself.

  • Record from the microphone, from one application's audio, or both mixed
    into one meeting recording. Pause and resume; the pause is absent from the
    audio and the clock.
  • Transcribe Hebrew and English with whisper.cpp and the same two models
    Mila uses, downloaded on first launch and checked against their SHA-256.
    Live transcription runs while you record.
  • Speakers: pyannote diarization, live speaker labels, a speaker directory
    you can rename and merge, and opt-in recognition across recordings.
  • Dictate into whatever window has focus, with your own hotkeys.
  • AI: automatic titles and summaries, action items, Live AI during a
    recording, and Send to LLM, through the Claude, Cursor or Gemini CLI or any
    OpenAI-compatible endpoint.
  • MCP server so Claude Code and other tools can read your transcripts -
    off until you turn it on, and it refuses every request while it is off.
  • Watched folders, Obsidian export, .milaconfig team setup (double-click
    one on Linux), SRT export, playback from 0.5x to 2x with voices at their
    natural pitch.
  • Your graphics card, when it is worth using. whisper.cpp is built with
    the Vulkan backend on both systems. OpenMila asks the machine what it has
    first: a real GPU gets the model, a software Vulkan driver (llvmpipe,
    lavapipe) is refused because it is slower than the processor, and a machine
    with neither simply uses the processor. openmila-cli gpu says which.
    This has not been measured on real GPU hardware yet.
  • Capture that recovers. If the microphone stops delivering audio mid
    recording, because it was unplugged or the audio server restarted, OpenMila
    notices within about twelve seconds and reopens it rather than writing
    silence to the end of your meeting.

Install

Linux (Ubuntu 26.04 and anything with GTK 4):

  • OpenMila-1.9.5-beta.2+port.1-x86_64.AppImage - chmod +x it and run it.
  • openmila_1.9.5-beta.2+port.1_amd64.deb - sudo apt install ./openmila_*.deb.

Per-application audio capture needs PipeWire's tools (pipewire-bin). AAC
recordings use ffmpeg where it is installed and GStreamer otherwise.

On a Wayland session, dictation hotkeys go through the desktop's own
GlobalShortcuts portal, which asks you once. Typing the dictated text into the
focused window needs one more permission: run openmila-cli grant-typing and
answer the dialog. Until you do, dictation leaves the text on the clipboard
and tells you so; it never stops to ask in the middle of a dictation.

Windows 11: unzip OpenMila-1.9.5-beta.2+port.1-win64.zip anywhere and run
openmila.exe. Everything it needs travels in the zip.

Read this before you install it on Windows

The Windows build compiles and passes its tests in CI, and that is all anyone
can say about it so far: nobody has run it on a Windows desktop yet. Treat
this release as Linux-first. Per-application audio on Windows is written against WASAPI
process loopback and has never captured a byte; the speaker-diarization runtime
builds but has never been loaded; and signing in to the managed Claude install
needs a terminal.

docs/port/PARITY.md
lists every Mila feature with its status on each system and the evidence behind
it. If something there is marked done and does not work for you, that is a bug
worth reporting.

Verifying what you downloaded

SHA256SUMS covers every file, and each one carries a GitHub build
attestation: gh attestation verify <file> --repo NX1X/OpenMila.

Thanks to the upstream

Mila's engine, data model and application logic are reused unchanged wherever
the platform allows; only what is tied to macOS was rewritten.
CHANGES.md lists
every upstream file the port modifies and why.

OpenMila 1.9.5-beta.2+port.0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 07:17
Immutable release. Only release title and notes can be modified.

This build does not work on Windows and is kept only as history. Its zip
was packaged without the Swift runtime, so openmila.exe stops at "the code
execution cannot proceed because Foundation.dll was not found". The Linux
packages in it are sound. Use the newest release instead.

The first OpenMila build: Mila for Linux, and the Windows build that goes with
it. This matches Mila v1.9.5-beta.2, so it carries that release's features
and its beta status.

OpenMila is an independent community port of
Mila by Uri Harduf at Island Technology,
Inc., licensed under Apache 2.0. It is not affiliated with or endorsed by
Island. On a Mac, use the original - OpenMila does not build for macOS.

What this build does

Everything happens on your machine. Nothing is uploaded unless you point the
app at a server you chose yourself.

  • Record from the microphone, from one application's audio, or both mixed
    into one meeting recording. Pause and resume; the pause is absent from the
    audio and the clock.
  • Transcribe Hebrew and English with whisper.cpp and the same two models
    Mila uses, downloaded on first launch and checked against their SHA-256.
    Live transcription runs while you record.
  • Speakers: pyannote diarization, live speaker labels, a speaker directory
    you can rename and merge, and opt-in recognition across recordings.
  • Dictate into whatever window has focus, with your own hotkeys.
  • AI: automatic titles and summaries, action items, Live AI during a
    recording, and Send to LLM, through the Claude, Cursor or Gemini CLI or any
    OpenAI-compatible endpoint.
  • MCP server so Claude Code and other tools can read your transcripts -
    off until you turn it on, and it refuses every request while it is off.
  • Watched folders, Obsidian export, .milaconfig team setup (double-click
    one on Linux), SRT export, playback from 0.5x to 2x with voices at their
    natural pitch.
  • Your graphics card, when it is worth using. whisper.cpp is built with
    the Vulkan backend on both systems. OpenMila asks the machine what it has
    first: a real GPU gets the model, a software Vulkan driver (llvmpipe,
    lavapipe) is refused because it is slower than the processor, and a machine
    with neither simply uses the processor. openmila-cli gpu says which.
    This has not been measured on real GPU hardware yet.
  • Capture that recovers. If the microphone stops delivering audio mid
    recording, because it was unplugged or the audio server restarted, OpenMila
    notices within about twelve seconds and reopens it rather than writing
    silence to the end of your meeting.

Install

Linux (Ubuntu 26.04 and anything with GTK 4):

  • OpenMila-1.9.5-beta.2+port.0-x86_64.AppImage - chmod +x it and run it.
  • openmila_1.9.5-beta.2~port.0_amd64.deb - sudo apt install ./openmila_*.deb.

Per-application audio capture needs PipeWire's tools (pipewire-bin). AAC
recordings use ffmpeg where it is installed and GStreamer otherwise.

On a Wayland session, dictation hotkeys go through the desktop's own
GlobalShortcuts portal, which asks you once. Typing the dictated text into the
focused window needs one more permission: run openmila-cli grant-typing and
answer the dialog. Until you do, dictation leaves the text on the clipboard
and tells you so; it never stops to ask in the middle of a dictation.

Windows 11: unzip OpenMila-1.9.5-beta.2+port.0-win64.zip anywhere and run
openmila.exe. Everything it needs travels in the zip.

Read this before you install it on Windows

The Windows build compiles and passes its tests in CI, and that is all anyone
can say about it so far: nobody has run it on a Windows desktop yet. Treat
this release as Linux-first. Per-application audio on Windows is written against WASAPI
process loopback and has never captured a byte; the speaker-diarization runtime
builds but has never been loaded; and signing in to the managed Claude install
needs a terminal.

docs/port/PARITY.md
lists every Mila feature with its status on each system and the evidence behind
it. If something there is marked done and does not work for you, that is a bug
worth reporting.

Verifying what you downloaded

SHA256SUMS covers every file, and each one carries a GitHub build
attestation: gh attestation verify <file> --repo NX1X/OpenMila.

Thanks to the upstream

Mila's engine, data model and application logic are reused unchanged wherever
the platform allows; only what is tied to macOS was rewritten.
CHANGES.md lists
every upstream file the port modifies and why.