Skip to content
Sponsor

Free and open source. Runs on your machine.

Wire up AI that stays on.

Boltjar is a visual node editor. Wire triggers, models, stores and outputs on one canvas, press On, and the graph keeps running on your machine: a chat assistant, a webhook, a morning digest, an agent with tools.

Windows, macOS and Linux. AGPL-3.0 with a node pack exception.

Chat InputtriggertextLLMtriggerpromptresponsetriggerGemma 4 e4b (Ollama)Chatuser_triggeruserreply_triggerreplyChat InputLLMChat

Install

Three steps, then press On

  1. Get the code

    Clone the repo, or download the ZIP and unpack it anywhere.

    git clone https://github.com/Boltjar/Boltjar.git
  2. Start it

    On Windows, double-click start.bat. On macOS or Linux, run the start script from the folder.

    ./start.sh
  3. Open the link it prints

    The editor runs at this address, and your browser opens it on its own when it can.

    http://127.0.0.1:8770

The first start needs Node.js 18 or newer, because it builds the editor once. No Python 3.11 to 3.13 on the machine? The start script fetches a portable Python 3.12 and checks its SHA-256 before it uses it.

Coming soonA one-line installer.

Install guide, options and manual setup

What you can build

Six graphs to start from

Each one is a guide in the docs, wired from the nodes that ship with Boltjar.

How it works

ComfyUI's typed graph, with n8n's triggers

Every trigger, model, store, transform, condition and output is a node, and behaviour is how you wire them.

  • A graph is a server

    Press On and it keeps running, triggers listening, until you turn it Off or stop Boltjar. Closing the browser tab does not stop it.

  • Triggers push, data is pulled

    A trigger fires an event. The node it reaches pulls its inputs at that moment, so a Template never runs on a clock: it runs when the LLM needs its text.

  • Typed pipes

    Every port has a type, and a wire only lands where the types fit. The editor checks it while you drag, and the server checks it again before the graph turns On.

  • Nodes are Python

    A node is a class with a decorator. Drop a pack folder into packs/, restart, and its nodes sit next to the built-in ones.

Local-first

Your graphs run on your machine

  • Runs on your computer

    The server listens on 127.0.0.1. Its API checks the Host, the Origin and a token your install creates, which keeps web pages you visit away from it.

  • Your files stay yours

    Graphs, snapshots, stores and the keys you add in the editor live in the user/ folder, which git ignores.

  • No telemetry, no account

    The editor talks only to your own Boltjar server and loads nothing from anywhere else. The server calls only what you set up: the models and URLs your wired nodes use, Ollama, and the providers and endpoints you connect, which it also asks for their model lists.

  • Offline with Ollama

    Chat, tool calls and embeddings run on local models through Ollama. With no model picked, or a cloud model without its key, the LLM node answers with a mock reply, so a chat graph still runs.

How the server keeps other pages and machines out

Support

Support Boltjar

Boltjar is free, and I build it in the open. If it saves you time or keeps something you care about running, sponsoring it on GitHub is the most direct way to keep it moving. Clear bug reports, node packs and doc fixes help just as much.