LFM3 Workspace sits between a chat app and a file-working assistant. You get two surfaces backed by one engine: Chat for open-ended work, and Verified tasks for anything that must be machine-certified before it counts as done. A chat message can never satisfy a verified check — the two are deliberately kept apart.
Instead of one giant model, it runs four small local models, each with a single job: one writes and acts, one looks at images, one hears and speaks, and one routes each turn and checks evidence. All four run on a pinned llama.cpp CPU runtime that ships with the app, so there is nothing to configure and no GPU to buy. The sidebar always shows each role's state — Loaded, Installed, or Missing.
Under the hood it is Rust, React, and Tauri 2. The harness shows you every tool call it makes, keeps every file change behind an approval you must accept, and never reports unverified work as finished. After setup, the only network activity is the model download you explicitly choose — chat, tools, and voice all stay offline.
This is a packaging-and-platform release: the app's behavior is unchanged, but it now reaches one more desktop platform and cleans up how it manages processes on Unix.
The same Tauri interface now builds and runs on Linux x86_64 — as a .deb package for Debian/Ubuntu and as a portable AppImage — alongside the Windows NSIS installer. All three are produced from the same release tag by one workflow, so Linux users no longer have to fall back to the headless CLI archive.
Owned model servers, command tools, and lifecycle probes now spawn into their own process group on Unix and terminate together when the app exits. Unsupported platforms refuse to start children at all rather than leak them. In plain terms: closing the app leaves no orphaned background processes behind.
Every llama.cpp process the harness starts gets its own directory at the front of LD_LIBRARY_PATH, so the packaged libggml*, libllama*, and libmtmd* libraries are used even when a system copy exists. Windows behavior is unchanged, and a normal exit on either OS now deterministically reaps model servers.
State, SQLite journals, chat transcripts, attachments, and downloaded weights now live under $XDG_DATA_HOME/LFM3Harness (or ~/.local/share/LFM3Harness when unset). Windows keeps %LOCALAPPDATA%\LFM3Harness, with a safer fallback when that variable is missing.
A single GitHub Actions workflow builds the Windows installer, the Linux .deb/.AppImage, and the Linux CLI archive from the same tag, publishes them together, and generates a SHA-256 table from the uploaded files — so the checksums on the release page always match the assets.
The 32,000-token context, the model downloader, routing, the evidence gate, and verified tasks all behave exactly as in v0.1.0. Upgrading is an install-over: models, conversations, and settings stay where they are — no migrations, no model re-downloads.
All four roles are downloaded from inside the app's Models menu, which lists exact sizes and SHA-256 digests for every file. A download starts only when you click it, streams to a .part file with visible progress, verifies the digest, and only then moves into the models folder. Nothing is fetched in the background — and GGUF files you copy in yourself are detected automatically.
| Role | Files (pinned) | Size | What it does |
|---|---|---|---|
| Text & agent | LFM3-1.7B-Q4_K_M.gguf |
1.10 GB | Acts and writes — chat, drafting, and file tools |
| Vision | LFM3-VL-2B-QAD-Q4_0.gguf + mmproj |
1.25 GB | Reads attached images (PNG, JPEG, WebP, GIF up to 20 MB) |
| Voice | LFM3-Audio-2B-Q4_K_M.gguf + mmproj |
1.40 GB | Transcribes voice notes and speaks answers aloud, offline |
| Decision | d1-2B-Q4_K_M.gguf |
1.10 GB | Routes each turn, runs the write and evidence gates |
All four together take about 4.9 GB of disk — and you only need the roles you actually want. Text-only chat works with the 1.10 GB text model alone.
The part we appreciate most: LFM3 Workspace treats file changes as something you must approve, not something that happens to you. Every write or edit appears inline with its path and full content or diff — you press Allow once to execute it or Deny to leave the file untouched. Pending approvals expire after ten minutes but survive a restart, so nothing executes while you are away without an explicit yes from you.
Two smaller models act as decision gates rather than executors. The d1 router classifies each message into a task shape before the acting model runs; a write gate can withhold a change that contradicts your last request, and an evidence gate can tell the model to state what evidence is missing. Neither gate can approve, deny, or execute anything — the final decision on every write is always yours.
The toolset is confined to the single workspace folder you pick with the folder chip: list_files, read_file, search_files, related_files, write_file, and edit_file. Paths outside the workspace are rejected. look only appears once the vision model is installed, and transcribe only with the audio model. A turn is capped at twelve tool rounds, Stop cancels the stream and any pending approval immediately, and every tool call is shown in the transcript as it happens.
All assets are attached to the v0.1.1 release page and built from the same tag. None of them include GGUF weights — which is exactly why the Windows installer stays near 15 MB. Models are downloaded inside the app.
| Platform | Asset | Size | What it contains |
|---|---|---|---|
| Windows x64 · Desktop | LFM3.Workspace_0.1.1_x64-setup.exe |
15.2 MB | Desktop app, React UI, missions, pinned CPU llama.cpp runtime |
| Linux x64 · Desktop | LFM3.Workspace_0.1.1_amd64.deb |
37.1 MB | Debian/Ubuntu package with declared WebKitGTK and GTK dependencies |
| Linux x64 · Desktop | LFM3.Workspace_0.1.1_amd64.AppImage |
99.6 MB | Portable executable — same app, no install step |
| Linux x64 · CLI | LFM3-Workspace_0.1.1_linux-x64_cli.tar.gz |
22.2 MB | Headless lfm3 CLI, missions, run.sh, Linux llama.cpp runtime |
A SHA256SUMS.txt file and a checksum table are generated from the uploaded assets on the release page, so you can verify every download before running it.
LFM3.Workspace_0.1.1_x64-setup.exe and run it.The installer is unsigned, so Windows may show a SmartScreen prompt. Choose More info → Run anyway. Prefer verifying first? Compare the file's SHA-256 with the checksum table on the release page.
Debian or Ubuntu — the package declares its WebKitGTK 4.1 and GTK 3 dependencies and installs a desktop entry:
sudo apt install ./LFM3.Workspace_0.1.1_amd64.deb
lfm3-desktop
Or run the portable AppImage — the host needs libwebkit2gtk-4.1-0 and libgtk-3-0:
chmod +x LFM3.Workspace_0.1.1_amd64.AppImage
./LFM3.Workspace_0.1.1_amd64.AppImage
Both carry the same in-app Models downloader as Windows, and state lives under $XDG_DATA_HOME/LFM3Harness or ~/.local/share/LFM3Harness. Prefer building from source?
./run.sh deps # Rust, Node.js, UI modules, WebKit check
./run.sh desktop # development mode
./run.sh bundle # .deb and .AppImage in target/release/bundle/
The CLI archive has no downloader, so supply the same pinned GGUF files yourself:
tar -xzf LFM3-Workspace_0.1.1_linux-x64_cli.tar.gz
cd LFM3-Workspace-linux-x64
mkdir -p models && cp /path/to/*.gguf models/
./run.sh doctor
./run.sh models --probe
./run.sh run --mission desk_task \
--input ../tests/fixtures/desk_task/basic.json \
--workspace ./workspace
run.sh points LFM3_LLAMA_SERVER at the bundled llama-server and LFM3_MODELS_DIR at models/ when they exist. The CLI was built on Ubuntu 22.04 x64.
-ngl 0)The release notes are refreshingly candid about what v0.1.1 is not. All packages are unsigned, so expect the SmartScreen warning on Windows. The runtime is CPU-only, so turns are slower than a GPU build would be. Three of the semantic missions remain human_review_only — only desk_task has an end-to-end real-model acceptance. Linux has no system-voice fallback: without the audio model pair, speech output reports the local voice as unavailable rather than borrowing a system voice. And the Linux desktop packages were built and attached by the release workflow but were not interactively launched on a Linux host in that release session.
Upgrading from v0.1.0? Just install over the previous build — models, conversations, and settings stay put, with no migrations and no model re-downloads.
A fully local, chat-first AI harness built by the open-source LFM3-Harness project around Liquid AI's LFM3 model family. It runs on Rust, React, Tauri 2, and a pinned llama.cpp runtime — no account, no cloud calls, no telemetry. It combines chat with workspace-confined file tools, image understanding, offline voice, and a separate Verified tasks mode.
A native Linux desktop build (.deb and AppImage), Linux process containment so model servers shut down cleanly, bundled shared libraries that resolve before system copies, an XDG-compliant Linux data directory, and a single release workflow that builds all assets from one tag with a generated SHA-256 checksum table. Nothing from v0.1.0 was removed.
No. Inference is CPU-only through the pinned llama.cpp runtime. 8 GB of RAM covers chat with the text role; add headroom if you also run vision, voice, and routing. All four model roles fit in about 4.9 GB of disk.
Yes. After setup the app makes no network calls at runtime — the only network activity is a model download you explicitly click. Voice input and speech output are local too: LFM3-Audio-2B transcribes your recordings and the bundled llama-tts speaks answers, entirely offline.
The packages are unsigned, so SmartScreen asks for confirmation on first run — choose More info → Run anyway. You can verify each asset's SHA-256 against the release page's checksum table. Inside the app, every file change stays behind an exact-diff approval, and tools are confined to the workspace folder you pick.
Yes. Copy GGUF files into the models folder shown at the top of the Models menu and they are detected on the next launch, or immediately via Reload installed models. You can also set LFM3_MODELS_DIR to point at an existing weights folder.
Ollama, LM Studio, llama.cpp, and GGUF Loader compared — the exact runtime landscape LFM3 Workspace is part of.
LFM3 Workspace verifies SHA-256 digests for you; here is where the wider world of GGUF weights lives.
Picking models by hardware — the same thinking behind LFM3 Workspace's four 1–2B roles.
What shipped recently on our side of the local-AI fence.
LFM3 Workspace v0.1.1 makes fully local, agent-style AI a realistic daily driver on both major desktop platforms:
Linux users finally get a first-class desktop build (.deb & AppImage)
Everyone gets clean process shutdowns and verifiable, checksummed downloads
Your files stay behind an approval gate you control — and nothing ever phones home
Grab it from the v0.1.1 release page or browse the LFM3-Harness repository to see how it is built.
And if you want the same fully-offline privacy with any other GGUF model — Llama, Mistral, DeepSeek, Qwen — through a simple drag-and-drop GUI, that is exactly what GGUF Loader does. Two tools, one rule: your data never leaves your device.