IMURUN v0.3.0 · MIT · Windows, macOS, Linux

AI that lives
on your machine.

Local-first AI chat with its own inference engine. One process, no cloud: FISH, our C++ engine, runs GGUF models on the CPU; a Python server hosts sessions, tools and connectors; the Liquid Paper UI opens in a native window or your browser.

Install

One command, then just imurun.

Everything IMURUN writes — sessions, models, logs, settings — goes to ~/.imurun. Nothing is written into site-packages, and nothing is sent anywhere.

Python 3.11–3.14. Wheels for Windows x64, Linux x64 and macOS arm64 include the FISH engine.

Inside IMURUN

Seven parts, one window.

How a turn works

From prompt to answer.

Should this turn search?

One short routing generation with the same local model (at most 60 tokens) decides whether the web is needed and writes the queries. Greetings and code pastes skip it entirely.

The research planner
2.1×int8 kernel vs the f32 path, per Q4_K row
5architecture families: llama, qwen2, qwen3, phi3, gemma2
8connected accounts, plus any MCP server
0bytes sent to a cloud by default

Kernel figure from the engine benchmarks (Ryzen 7 7435HS, Llama-3.2-1B Q4_K_M) — read the caveats.

Llama 3.xMistralQwen 2.5Qwen 3Phi-3Gemma 2DeepSeek-R1 distillsMixtralTinyLlamaSmolLMLlama 3.xMistralQwen 2.5Qwen 3Phi-3Gemma 2DeepSeek-R1 distillsMixtralTinyLlamaSmolLM

Security

Private by construction.

Local is not a setting you have to find. It is how the app is built.

  • Loopback onlyThe server binds to your machine, with a Host-header check.
  • Per-run tokenA bearer token injected into the page — never in URLs or logs.
  • Strict CSPdefault-src 'self': no CDN, no remote fonts or images.
  • KeychainOAuth tokens live in the OS keychain, not in a file.
  • Approval cardsEvery write action waits for you.
  • 1 MB capRequest bodies are capped; nothing runs unbounded.

Run it

Flags, and where the engine comes from.

The pip wheels for three platforms ship the engine inside. Elsewhere the app starts and tells you how to get one.

The full setup guide →
--window
native window (pywebview), the default when installed
--browser
open in your browser instead
--no-open
start the server only
--port N
choose the port
--model path.gguf
start with a model on disk
--get-engine
download the FISH engine for this platform, checksum-verified
PlatformEngineBuilt with
Windows x64fish.dllMinGW-w64 GCC, static
Linux x64libfish.soglibc 2.28+
macOS arm64libfish.dylibApple clang
Everything else—imurun --get-engine or a source build

Have a model on disk?
Let's give it a window.