Open Source Radar
xdLawless2/

horseflow

GitHub

Horseflow is a self-hosted dictation tool that records on a hotkey, uses local Whisper for transcription, then cleans up with a local LLM before pasting the result into the focused app. It includes Linux and macOS clients and runs a server with Docker Compose.

19stars
0forks
0issues
MITlicense
2026since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Reviewgenerated from repository data · Jul 18, 2026

What it is

Horseflow is a self-hosted push-to-talk dictation system. It records while a global hotkey is held, transcribes locally with Whisper, cleans punctuation and false starts with a local LLM, then pastes the result into the focused application. It operates without cloud APIs and can run the server and clients on the same machine or over a private network.

How it works

Architecture: keyboard hotkey -> local recording -> Horseflow API -> Whisper large-v3 -> Ollama cleanup model -> clipboard -> synthetic paste. The server and clients may run on the same machine or communicate over a private network such as Tailscale. The Linux client uses evdev to capture input, pipes/mounts through PipeWire, and pastes via ydotool; the macOS client uses a native app to record and paste. The server requires Docker Compose, NVIDIA GPU with the NVIDIA Container Toolkit, and approximately 11 GB VRAM for Whisper large-v3 plus a quantized LLM.

Getting started

Install and run the server (example commands):

cd deploy
cp .env.example .env
nvidia-smi --query-gpu=uuid,name --format=csv

Edit .env, setting HORSEFLOW_GPU, HORSEFLOW_BIND_ADDRESS, and model paths. Start the stack:

docker compose up -d ollama
docker compose exec ollama ollama pull qwen3:8b
docker compose up -d --build api
curl http://127.0.0.1:8100/health

The API docs are at /docs. For cross-machine setups, use Tailnet HTTPS endpoints like:

https://horseflow-server.example-tailnet.ts.net/dictate

Linux client installation and usage is:

mkdir -p ~/.config/horseflow
cp clients/linux/client.env.example ~/.config/horseflow/client.env
clients/linux/install.sh
journalctl --user -u horseflow.service -f

Hold Ctrl+Space to record, speak, and release a key to paste.

macOS client installation is:

clients/macos/install.sh \
  https://horseflow-server.example-tailnet.ts.net/dictate

Getting started (continued) – Configuration

Server settings are environment variables. Key variables include:

  • OLLAMA_URL (required) – Ollama base URL
  • HORSEFLOW_LLM_MODEL (required) – Cleanup model
  • HORSEFLOW_ASR_MODEL (optional) – Whisper model; default large-v3
  • HORSEFLOW_LANGUAGE (optional) – Transcription language; default en
  • HORSEFLOW_COMPUTE_TYPE (optional) – Whisper compute type; default float16
  • HORSEFLOW_DICTIONARY (optional) – Comma-separated vocabulary
  • HORSEFLOW_ASR_PROMPT (optional) – Natural-language ASR context

Recent releases

RELEASES (latest 0): - none

Traction

Stars: 19 Forks: 0 Open issues: 0

Behind the repo

No linked startup/company information provided in the README.

Caveats

License: MIT. The server requires Linux with Docker Compose and an NVIDIA GPU with the NVIDIA Container Toolkit; approximately 11 GB VRAM for Whisper large-v3 and an 8B/9B quantized LLM. The Linux client requires Python 3.10+ and several external tools (pw-record, wl-copy, ydotool, notify-send) and may require user group memberships. The macOS client requires macOS 15+ and Xcode Command Line Tools. No authentication is implemented in Horseflow, and exposure should be limited to localhost or a private network.

SharePost on XLinkedIn
All trending reposRevenue-verified startups →