Local AI desktop app · In development

Your AI, kept close to home.

Inglenook runs open-weight models on your own computer. Download a model, chat with it, search a document you index yourself, and give your tools an OpenAI-style API that never leaves localhost.

  • No account
  • llama.cpp built in
  • macOS · Windows · Linux targets
Illustration of the Inglenook desktop app with a sample conversation and a model-catalog fit badge.

What it does

Everything a local model needs, in one window.

No terminal juggling between a runtime, a model folder and a chat client. Inglenook keeps them in one desktop app with a keyboard-first layout and light and dark themes.

01

Chat that streams from your machine

llama.cpp runs inside the app, so there is no separate server to install. Replies stream token by token with Markdown and highlighted code, and each conversation can carry its own system prompt.

02

A model shelf that knows your hardware

Pick from a curated GGUF catalog (Llama, Mistral, Qwen, Gemma) or register a file you already have. Each entry is checked against your RAM and suggests a smaller quantization when it will not fit.

03

Conversations that stay put

History lives in a SQLite database on your disk. Rename, archive, filter by title, and export any conversation to Markdown.

04

Search a document, locally

Drop a PDF, text, Markdown or HTML file on the window to index it on your machine, then search it by keyword. Results stay in the Documents view.

05

An OpenAI-style API on localhost

Turn on the built-in server and point existing OpenAI SDK tools at it. It serves chat completions (streaming or not), the model list and a health check, bound to 127.0.0.1.

06

Your GPU, if you have one

Choose how many layers to offload, from CPU-only to full GPU. The setting is saved and the model reloads with it on your next message.

Shortcuts · ⌘ on macOS, Ctrl elsewhere

⌘ NNew chat

⌘ 1–3Chat, Models, Documents

⌘ ,Settings

⌘ BToggle sidebar

Local API

Point your tools at localhost.

When the API server is on, anything that speaks the OpenAI chat format can use the model Inglenook has loaded. The UI and the API share one engine, so there is a single model in memory.

Ask the loaded model
curl http://localhost:11434/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "local-model",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": true
  }'
  • POST /v1/chat/completionsStreaming over SSE or a single response
  • GET /v1/modelsThe model that is loaded
  • GET /healthA quick liveness check
  • Off until you enable it in Settings. Port 11434 by default, bound to 127.0.0.1.

What leaves your machine

Only the models you choose to download.

Conversations, settings and indexed document text are stored in a SQLite database on your computer. Prompts go to the model running in the app, not to a cloud provider, and there is no account to create.

The one outbound request is a model download, fetched from its source on Hugging Face when you start it. A model you already have on disk can be registered without any download.

Get Inglenook

In development. No installer yet.

There is no download to offer yet: native builds, signing and offline use still need end-to-end testing. The source is shared by invitation; with access you can build and run it yourself.

Build from source
git clone git@github.com:aylith-labs/inglenook.git
cd inglenook/app && npm install

# Desktop app with real local inference
npm run tauri dev

# Or a native bundle in src-tauri/target/release/bundle/
npm run tauri build

Needs repository access. The first build compiles llama.cpp and takes a while.

  • Node.js 24 and Rust 1.95

    The interface is SvelteKit; the desktop shell and inference are Rust on Tauri 2.

  • Tauri system libraries

    Follow the Tauri 2 prerequisites for your OS, for example WebKitGTK on Linux.

  • CMake and a C++ compiler

    llama.cpp is compiled from source on the first build. Enable a GPU feature for Metal, CUDA or Vulkan.

Not built yet

Chatting with your documents (search does not feed the model), vector search, running several models side by side, and tool calling. GPU memory is not probed, so hardware fit is judged on system RAM.

Follow progress and the changelog