explaingit

xdlawless2/horseflow

Analysis updated 2026-05-18

20PythonAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

A self-hosted push-to-talk dictation tool that transcribes speech locally with Whisper and cleans it up with a local language model.

Mindmap

mindmap
  root((Horseflow))
    What it does
      Push to talk dictation
      Local speech transcription
      LLM cleanup of text
    Tech stack
      Python
      Whisper
      Ollama
      Docker
    Use cases
      Voice typing on desktop
      Private dictation without cloud
      Cross machine dictation setup
    Audience
      Developers
      Privacy conscious users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Dictate text into any focused application on Linux or macOS using a held hotkey.

USE CASE 2

Run speech to text entirely locally without sending audio to a cloud provider.

USE CASE 3

Set up a shared dictation server that multiple machines connect to over Tailscale.

USE CASE 4

Clean up messy spoken transcriptions automatically using a local language model.

What is it built with?

PythonWhisperOllamaDockerTailscale

How does it compare?

xdlawless2/horseflowalex72-py/aria-termuxanime0t4ku/gentleman
Stars202020
LanguagePythonPythonPython
Setup difficultyhardmoderatemoderate
Complexity4/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Server requires an NVIDIA GPU with about 11GB VRAM and Docker Compose.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Horseflow is a self-hosted dictation tool that lets you talk instead of type. You hold down a hotkey, Ctrl+Space on Linux or Command+Space on Mac, speak while it is held, and when you release it, the spoken words are transcribed and pasted into whatever application you have focused. Everything runs on your own hardware rather than sending audio to a cloud service or requiring any account. Speech is transcribed locally using a model called Whisper, and a separate local language model running through Ollama then cleans up the raw transcription, fixing punctuation and removing false starts and stumbles in speech. The whole pipeline, from hotkey press to pasted text, happens without any internet connection required, though the server and the client that listens for the hotkey can run on the same machine or on separate machines connected over a private network such as Tailscale. Running the server requires a Linux machine with Docker installed and an NVIDIA graphics card with enough video memory, roughly 11 gigabytes, to run both the Whisper transcription model and a compact large language model at the same time. The Linux client listens for keyboard input directly and records audio through PipeWire, while the separate macOS client is a native application that uses Apple's own frameworks to capture the hotkey, record from the microphone, and paste the result, requiring the user to grant accessibility, input monitoring, and microphone permissions. The project notes that Horseflow itself has no built in login or authentication, so it should only be exposed to your own computer or a trusted private network rather than made available publicly. The project's own source code is released under the MIT license, though the Whisper model, Ollama, and any downloaded model weights carry their own separate licenses.

Copy-paste prompts

Prompt 1
Walk me through setting up the Horseflow server with Docker Compose and an NVIDIA GPU.
Prompt 2
Help me install and configure the Linux client for Horseflow, including the required permissions.
Prompt 3
Show me how to expose the Horseflow server securely over Tailscale for a separate macOS client.
Prompt 4
Explain the environment variables I need to set for the Whisper and Ollama models.

Frequently asked questions

What is horseflow?

A self-hosted push-to-talk dictation tool that transcribes speech locally with Whisper and cleans it up with a local language model.

What language is horseflow written in?

Mainly Python. The stack also includes Python, Whisper, Ollama.

What license does horseflow use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is horseflow to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is horseflow for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.