struklabs/harness-studio

Run open AI models on your own computer — a friendly desktop app and local gateway for llama.cpp and more. Private, free, open source.

Rust

11

29 commits

updated Oct 16, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built an open-source alternative to LM Studio and Ollama. It's now public, and I'd love to build it with others (r/SideProject)

Hey everyone! For some time, I've been building a desktop application called **Harness Studio**. I wanted a tool where I could manage local AI models, configure runtimes, monitor GPU and memory usage, and connect my models to coding tools without constantly switching between applications. That…

2

Oct 13, 2026

I released Harness Studio, an open-source alternative to LM Studio and Ollama. Looking for feedback and contributors. (r/LocalLLM)

Hey everyone! I've been developing **Harness Studio**, a free and open-source desktop application for running local AI models. I've used tools like LM Studio, Ollama and llama.cpp, and wanted to bring model management, inference settings, hardware optimization and developer integrations together in…

5

Oct 13, 2026

README

English | Türkçe

Harness Studio logo

Harness Studio

Run AI models on your own computer. Private, free, and easy to use.

Latest release CI License: MIT Downloads Discussions Platforms Stars

Download · User guide · FAQ · Roadmap · Support the project

Harness Studio Playground: a local model answers "What's the weather like in Istanbul today?" using the weather tool

Model library Dashboard with server settings

Screenshots are from the Windows app. The interface is available in English and Turkish.

Contents

What is Harness Studio?

An AI chatbot such as ChatGPT normally runs on a company's computers: your words travel over the internet to get an answer. Harness Studio lets you run the AI on your own computer instead. You download a model (a file that holds the AI's "brain"), press a button, and chat. After the download, nothing has to leave your machine, there is no subscription, and it keeps working without internet.

You do not need to be a programmer. The app finds models for you, checks whether they fit your computer, downloads them, starts them, and gives you a chat window. If you are a programmer or power user, the same app is also a local AI server with an OpenAI-compatible API, a command line, and tool and MCP support, so your editor, coding tools, or scripts can use your local models.

Harness Studio is a desktop app built with Tauri, Rust, and Svelte. It manages the open-source engines that actually run the models (mainly llama.cpp) and adds a friendly interface, safety checks, and measurements on top.

Quick start in 3 steps

  1. Download and install. Get the installer for your system from the Releases page. Windows: run Harness Studio_..._x64-setup.exe (about 21 MB). The installer is not code-signed yet, so Windows SmartScreen may say "Windows protected your PC". Click More info, then Run anyway. macOS: open the DMG for your Mac (Harness Studio_..._aarch64.dmg for Apple Silicon, about 29 MB; Harness Studio_..._x64.dmg for Intel, about 32 MB) and drag Harness Studio to Applications. The app is signed with an Apple Developer ID and notarized by Apple, so it opens like any other downloaded app. The source code and the build workflow are open in this repository.
  2. Follow the first-run wizard. It looks at your hardware, asks where to keep models, installs the engine that runs them, and lets you choose your privacy settings. Pick the Simple interface level if you are new to this.
  3. Pick a model and chat. In Model Hub, choose a recommended model that fits your computer (the app shows a fit estimate) and press Download. Then open Dashboard, select the model, press Start Server, open Playground, and say hello.

Step by step, with every screen explained: User guide.

System requirements

These are the requirements of Harness Studio itself, not of any model. Figures are measured on v0.1.0 on Windows and on macOS (Apple M1, 8 GB).

Operating systemWindows 10 or 11, 64-bit, or macOS 13.3 or later on Apple Silicon (with Metal acceleration) or Intel (CPU only). Linux (x86_64, .deb and AppImage) is a preview: tested on one Ubuntu machine so far.
Installer sizeAbout 21 MB on Windows; on macOS the DMG is about 29 MB (Apple Silicon) or 32 MB (Intel)
Installed sizeAbout 65 MB (about 64 MB on macOS). On top of that, the app downloads the model engines it needs on demand (a llama.cpp build is tens of MB; CUDA builds are larger).
Memory used by the appAbout 250-350 MB of RAM for the app itself (interface plus WebView2), before any model is loaded. On macOS about 250 MB (interface plus WebKit).
WebView2Preinstalled on Windows 11. On Windows 10 the installer sets it up automatically if it is missing (this needs an internet connection once).
macOSA disk image (DMG): open it and drag the app to Applications. The app is signed with a Developer ID and notarized by Apple; microphone and Terminal-control permissions carry over to updates.
Graphics cardNot required. The CPU works. A GPU only makes models faster.
Disk for modelsDepends on the model: from about 100 MB for a tiny model to 10 GB or more for a large one. You choose the folder, including another drive.
InternetNeeded to download the app, engines, and models. Not needed to chat once a model is on your disk.

Supported acceleration, chosen automatically for your hardware: CUDA (NVIDIA), ROCm/HIP (recent AMD cards), SYCL (Intel Arc), Vulkan (most other GPUs), Metal (Apple Silicon, with the macOS build), and CPU.

How big a model can my PC run?

What matters is how much memory the model needs, which depends on its size and on how heavily it is compressed. Most people download quantized models in the GGUF format: a quantization (such as Q4_K_M) stores the model's numbers in a more compact form, so the file is much smaller for a small loss of quality. VRAM is your graphics card's own memory; if the whole model fits in it, the model runs fastest.

These are rough guides for quantized GGUF models. Real needs also grow with the context (how much text the model can keep in mind at once).

Free memory (RAM, or VRAM on a GPU)Models you can comfortably try
About 0.5 GBTiny models, 135M-360M parameters. For example SmolLM2-135M: a file of roughly 100-150 MB that runs with about 500 MB of RAM, so it works on almost any computer.
About 4 GBSmall models, 1B-3B
About 8 GBMid-size models, 4B-8B
16 GB or more, or a GPU with 8 GB+ VRAM12B-14B models and above

You do not have to work this out yourself. The Model Hub and the Dashboard show a hardware-fit hint next to each model (Fits in VRAM, VRAM is tight, Partial GPU offload, Mostly CPU, May run out of memory). When Context size and GPU layers are left on Auto, Harness Studio picks safe settings for you: on a small graphics card it prefers keeping every layer on the GPU and shrinking the context, and it refuses to load a request that cannot fit instead of running it painfully slowly. If a model still does not fit, a dialog explains what ran out and what to change.

Features

Everything below works locally. Details are in the user guide and FEATURES.md.

For everyday users

  • Model Hub: search Hugging Face with filters, read model cards, see whether a model fits your hardware, and download through a resumable queue that verifies SHA-256 checksums.
  • Playground: a chat window with saved conversations, side-by-side model comparison, Markdown and Mermaid diagrams, image input for vision models, documents with local search and citations (RAG), speech to text, read-aloud, and image generation.
  • Tools in chat: models can use built-in file, web, and weather tools, with an approval step before anything risky runs.
  • Simple and Advanced levels: Simple shows only what a first-time user needs; Advanced reveals every setting. Switching never loses a setting (details).
  • Comfortable to use: English and Turkish interface, light and dark themes, high-contrast and color-blind-friendly options, system tray, and launch at login.

For developers and tool users

  • One local endpoint for many models (the gateway): speaks the OpenAI, Anthropic, and Ollama APIs. Models load on first use and unload when idle. It is opt-in.
  • Guided setup for your tools: Claude Code, Codex, OpenCode, Aider, Goose, Continue, Zed, VS Code, Cline, JetBrains, Open WebUI, and more, with a diff preview, backups, and one-click undo. harness launch starts a tool with the right settings and changes nothing global.
  • Tool calling that works with local models: text-formatted tool calls are turned into real OpenAI-style tool_calls, so coding tools get usable results (measurements).
  • MCP both ways: connect MCP servers to your chats, and let other tools use Harness itself as an MCP server.
  • Custom tools: describe a tool and let a local model generate it as sandboxed JavaScript.

For power users

  • Several servers at once with profiles, automatic ports, memory estimates, live telemetry, and clear failure help (out of memory, missing libraries, port conflicts).
  • Full control of llama.cpp: context, GPU layers, KV cache type, slots, sampling, and many more, plus a runtime registry with SHA-256-verified engines and per-server runtime choice. See the CLI reference.
  • Observability: benchmarks, request analytics (P50/P95 latency, tokens, errors, per client), tool-call diagnosis, searchable logs, Prometheus /metrics, and optional OpenTelemetry export.
  • CLI, Control API, and headless mode: the harness command, an authenticated Control API with an OpenAPI schema, and harness serve to run without a window. All of them share the same Rust code as the app.
  • More engines: whisper.cpp and sherpa-onnx (speech), stable-diffusion.cpp (images), ONNX Runtime (embeddings and reranking), and optional Lemonade and mistral.rs. Safetensors models can be converted to GGUF from the Hub.

Why Harness Studio? How it compares

There are good tools already, and Harness Studio does not replace all of them for everyone. It aims to do what LM Studio and Ollama do without hiding llama.cpp's advanced controls, while being stronger at observability and at working with coding tools, and staying fully open source.

Measured against LM Studio, Ollama, and llama.cpp

Same GGUF files on one Windows PC (AMD RX 7900 GRE 16 GB, Vulkan), each tool at its own defaults:

Out of the boxHarness StudioLM StudioOllamallama.cpp
Qwen3-4B decode (tok/s)140.9142.0128.9114.5
Qwen2.5-Coder-14B decode (tok/s)48.642.049.040.9
4 concurrent requests, total (tok/s)344157126152
14B tool calling (38 cases)36/385/384/385/38
20k-token promptcorrectcontext errorcontext errorcorrect
14B at 65k context: spill to shared memory98 MiB12.4 GB10.3 GB5.2 GB
Switch models through one endpoint6.5 swrong model answered5.6 srestart needed

The others win some rows too: Ollama processed long prompts faster, and at 65k context LM Studio and Ollama decoded about 3x faster by spilling into shared memory, while Harness keeps the model in video memory. Methodology, caveats, and the full tables: COMPARISON.md.

Feature comparison

✓ available · ✗ not available · partial = limited. Sourced from the audited matrix in FEATURES.md; competitor columns reflect the versions listed there.

FeatureHarness StudioLM StudioOllamallama.cpp (llama-server)
Friendly desktop app✓✓✓✗ (server with a basic web page)
Windows / Linux / macOSWindows and macOS; Linux preview✓✓✓
Apple MLX engineplanned✓✓✗
Built-in request analytics (P50/P95, per client)✓✗✗✗
Prometheus metrics and OpenTelemetry✓✗✗partial (metrics endpoint)
Works as an MCP server for other tools✓✗✗✗
One-command launch of coding tools✓✗✓✗
Named access tokens with scopes✓✓✗✗
OpenAPI schema for its management API✓✗✓✗
High-contrast and color-blind-friendly themes✓✗✗—
Interface languagespartial (English, Turkish)✓ (30+)not verified—
Official JS and Python SDKsplanned✓✓✗

How it relates to other tools

ToolWhat it isHow Harness Studio relates
JanA desktop chat app for local and cloud modelsHarness has a step-by-step setup so Jan can use the Harness endpoint. Harness adds server management and observability.
GPT4AllA desktop chat app for running models locallySimilar everyday use case; Harness adds an OpenAI/Anthropic/Ollama-compatible gateway, CLI, and tool support.
AnythingLLMA workspace app for chatting with your documentsHarness has built-in local document chat (RAG), and any OpenAI-compatible app can use its endpoint.
LocalAIA self-hosted, OpenAI-compatible API serverLocalAI is server first. Harness is desktop first today; a server mode with a web UI is planned.
Open WebUIA web chat interface for Ollama and OpenAI-style APIsWorks with the Harness endpoint (guided setup included). Harness has its own desktop UI.
llama-swap / raw llama.cppA model-swapping proxy and the engine itselfHarness manages llama.cpp for you, including model switching, safe defaults, and the same raw controls.

What is unique

  • Defaults that work. With equal settings all these tools run at about the same speed, because they share the llama.cpp core. The differences come from what each tool picks for you. Harness sizes context and offload from your free VRAM and the model, so a 20k-token prompt works without tuning.
  • No silent slow-downs. It keeps models out of shared system memory and refuses requests that cannot fit, explaining why.
  • Tool calls clients can use. It recovers text-formatted tool calls into real ones by default.
  • Built for several models and several users. Concurrency, model switching through one endpoint, per-token limits, and per-client analytics.
  • Observability built in. Request analytics, a trace view, Prometheus, and OpenTelemetry.
  • One core, many doors. The app, the CLI, the Control API, and MCP all use the same Rust services.
  • Honest limits. Harness Studio is a first public release (0.1.0) with a small team. LM Studio and Ollama have larger user bases, catalogs, macOS support, and SDKs. See Where the competitors lead.

Privacy

  • Your chats stay on your computer. Models run locally. Chat history is stored in the app's data folder on your disk.
  • No usage tracking. The app sends no telemetry and no automatic crash reports. Diagnostic reports are saved only on your device, you choose what they include, and they never contain prompts, replies, or file contents.
  • When the app does use the internet: to search and download models from Hugging Face, to download engines and updates, to fetch a link you add, and when you turn on web tools such as web search or weather. OpenTelemetry export is off unless you enable it and enter your own collector address.
  • The local endpoint is local. The gateway and APIs listen only on your own computer unless you turn on network access, and then they require tokens. See the security model.
  • Request logging stores metadata, not content. Request analytics keep things like timing and token counts. Saving prompts and replies is off by default and is opt-in per model definition, with a time limit.

For power users

Start a headless owner with the gateway in one terminal, and use it from another:

harness serve --gateway                  # run without the UI; gateway on 127.0.0.1:11435
harness search Qwen3                     # search Hugging Face
harness pull unsloth/Qwen3-4B-Instruct-2507-GGUF:Q4_K_M
harness load Qwen3-4B-Instruct-2507-Q4_K_M
harness run Qwen3-4B-Instruct-2507-Q4_K_M "Say hello."
harness ps --json                        # loaded models, machine-readable

Any OpenAI-compatible client can then use your local model:

curl http://127.0.0.1:11435/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"Qwen3-4B-Instruct-2507-Q4_K_M","messages":[{"role":"user","content":"Say hello."}]}'
from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:11435/v1", api_key="not-needed")
reply = client.chat.completions.create(
    model="Qwen3-4B-Instruct-2507-Q4_K_M",
    messages=[{"role": "user", "content": "Say hello."}],
)
print(reply.choices[0].message.content)

Anthropic-style (/v1/messages) and Ollama-style (/api/chat) clients work on the same gateway. harness mcp exposes Harness as an MCP server over stdio. One-shot use without a running owner: harness --headless run ./model.gguf "2+2?" --json.

Reference: CLI.md · MCP.md · INTEGRATIONS.md · ARCHITECTURE.md · PERFORMANCE.md

FAQ

Is Harness Studio free?

Yes. The app is open source under the MIT License, with no subscription, account, or ads. Models you download have their own licenses (see the commercial-use question below).

Does it work offline? Do my chats leave my computer?

Once the app, an engine, and a model are on your disk, chatting works without internet, and your conversations stay on your computer. The app only goes online when you ask it to (model search and downloads, engine and app updates, and web tools you switch on). See Privacy.

Do I need a GPU or a powerful PC?

No. The CPU works, and a GPU only makes models faster. Small models run on modest machines; see How big a model can my PC run?. The app itself uses roughly 250-350 MB of RAM.

Which models can I run, and where do I get them?

Mainly GGUF models for llama.cpp: chat, coding, vision, embedding, and reranking models. The Model Hub searches Hugging Face for you, shows size and hardware fit, and downloads with checksum verification. Speech (Whisper and sherpa-onnx), image generation (Stable Diffusion and FLUX packs), and ONNX models need their optional engines, which the app offers to install. Safetensors models can be converted to GGUF inside the app.

Can I use the GGUF files I already have, or my Ollama / LM Studio models?

Yes. Add the folders that hold your GGUF files under Settings > Storage > Directories, or import from Ollama and LM Studio in the Library. See the Model Hub and Library guide.

Can my editor or coding tool use it? Is there an OpenAI-compatible API?

Yes. Turn on the gateway and you get one local endpoint compatible with the OpenAI, Anthropic, and Ollama APIs. Connections offers guided setup for Claude Code, Codex, OpenCode, Aider, Goose, Continue, Zed, VS Code, Cline, JetBrains, Open WebUI, and others, with preview and undo. See INTEGRATIONS.md.

How is it different from Ollama and LM Studio?

All three run models locally on top of llama.cpp. Harness Studio keeps the advanced controls visible, is fully open source, makes tool calling and long contexts work out of the box, and has built-in analytics, tracing, an MCP server, and a CLI. LM Studio and Ollama are more mature and available on more platforms. See Why Harness Studio?.

Windows shows a SmartScreen warning. Is it safe?

The v0.1.0 installer is not code-signed yet, so SmartScreen warns about unknown publishers. Choose More info, then Run anyway. The source code and the build workflow are public in this repository, and a signed installer is on the roadmap.

How do updates work?

Settings > Updates can check for a new version and install it. If no update source is available, download the newest installer from Releases and run it. The llama.cpp engine is updated separately under Settings > Runtime, where you can also roll back.

How do I uninstall it, and where are my files?

Use Windows Apps > Installed apps. Uninstalling does not delete your data. Settings, chats, engines, and logs live in %APPDATA%\com.harnessstudio.app; models are in the model folder you chose in the wizard (Settings > Storage > Directories). Delete those folders yourself for a clean removal.

Does it run on Linux or macOS?

macOS: yes. There is a DMG for Apple Silicon (with Metal acceleration) and one for Intel Macs (CPU only), for macOS 13.3 or later; see Quick start for the first-open step. Linux: a preview .deb and AppImage (x86_64) are on the Releases page. They have been tested on one Ubuntu machine so far, so expect rough edges and please report what you find. Wider Linux testing is on the roadmap.

Can I run it on a server?

harness serve runs without a window and exposes the gateway and Control API, and remote instances can be used with HARNESS_HOST and HARNESS_TOKEN. A full server mode with a web interface, automatic HTTPS, and Docker images is planned, not yet available.

Can I use it commercially?

The app is MIT-licensed, so you may use it commercially. Each model has its own license (some forbid or limit commercial use). The Model Hub shows a model's license; check it before using a model in a product.

Is my data or usage tracked?

No. There is no telemetry and no account. See Privacy.

How do I use it from my phone or another computer?

In Settings > Gateway, enable Allow network access and create a named token with the inference scope. Keyless network access is not allowed. You must set your firewall yourself. A built-in way to use models from another Harness instance (Harness Link) is planned.

A model will not load, or it is slow. What now?

If memory runs out, a dialog shows what did not fit and offers fixes (shorter context, fewer GPU layers, a smaller quant). See the troubleshooting guide.

How do I report a bug or ask for a feature?

Open an issue with your OS, GPU and driver, backend, app version, model, and the error text (diagnostics reports can be exported with personal information removed). Questions and ideas go to Discussions. Security problems: SECURITY.md.

Roadmap

The full, living list is in ROADMAP.md. It shows direction, not promises.

Available now (v0.1.0)

  • Windows installer; Model Hub, Library, Dashboard, Playground
  • Gateway with OpenAI, Anthropic, and Ollama APIs; guided tool integrations
  • Tools and MCP; CLI, Control API, and headless mode
  • Analytics, benchmarks, and Prometheus/OpenTelemetry export
  • Speech, image generation, embeddings, and reranking engines

In progress

  • Verifying the Linux builds on more hardware (AMD, NVIDIA, Intel) and distributions
  • First-run polish on every platform
  • Benchmarks on more hardware (NVIDIA/CUDA, Linux)
  • Accessibility checks for small windows and high interface scale

Planned next

  • Server mode: manage Harness on your own server from a web interface, with passwords or tokens, domain and automatic SSL, a systemd service, and Docker images (CUDA, ROCm, Vulkan, CPU)
  • Harness Link: use models from another Harness instance in your library, Playground, and gateway
  • Signed Linux packages beyond the preview, and an MLX engine for Apple Silicon
  • Code-signed Windows installer; automatic app updates
  • TypeScript and Python SDKs for the Control API; decision-model endpoints

Later: a community registry of tools and MCP servers, a ComfyUI bridge, a tool router, and more creation pages.

How you can support the project

Harness Studio is built in the open and every bit of help counts.

  • Star the repo and share it with someone who would like private, local AI.
  • Report bugs and suggest features in Issues and Discussions.
  • Improve translations and docs. English and Turkish are both first-class.
  • Contribute code through pull requests. The maintainers review every change; please read CONTRIBUTING.md first.
  • Test on your hardware and share benchmarks, especially NVIDIA, Intel, Linux, and macOS. The runner is in bench/compare/.
  • Sponsor the project or discuss a partnership: [email protected].

Documentation

DocumentWhat it covers
User guide (English)Installation, Model Hub, Dashboard, Playground, connections, tools, settings, CLI, troubleshooting
Kullanım kılavuzu (Türkçe)The same guide in Turkish
CLICommands, services, JSON output, exit codes
IntegrationsCoding tools: launch and configuration formats, rollback
MCP · ToolsHarness as MCP server and client; built-in and custom tools
Performance · ComparisonMeasurements and methodology
Architecture · Security modelServices, gateway, trust boundaries
Features · UI levelsFeature-by-feature matrix; Simple and Advanced levels
Roadmap · ChangelogOpen work; what changed in each version

Build from source

You need Rust (stable), Node.js 22+, and the Tauri prerequisites for your operating system.

npm ci
npm run tauri dev      # run the app in development mode
npm run tauri build    # build the installer (NSIS and MSI on Windows)

The build also compiles the harness CLI and helper programs. CLI only: cargo build -p harness-cli --release. Development checks and conventions: CONTRIBUTING.md.

Community

Please read our Code of Conduct. Questions: Discussions. Bugs and requests: Issues. Help options: SUPPORT.md. Found a vulnerability? Follow SECURITY.md instead of opening a public issue.

License

Harness Studio is released under the MIT License. Copyright (c) 2026 struklabs and Harness Studio contributors.

Acknowledgements

Harness Studio stands on the shoulders of great open-source projects:

See each project for its full license terms. Model files you download have their own licenses, shown in the Model Hub.

Harness Studio is an open-source project by struklabs.

desktop-app
gguf
llama-cpp
llm
lm-studio-alternative
local-ai
ollama-alternative
onnx
openai-compatible
rust
self-hosted
stable-diffusion
svelte
tauri
whisper

struklabs/harness-studio

Run open AI models on your own computer — a friendly desktop app and local gateway for llama.cpp and more. Private, free, open source.

Rust

11

29 commits

updated Oct 16, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built an open-source alternative to LM Studio and Ollama. It's now public, and I'd love to build it with others (r/SideProject)

Hey everyone! For some time, I've been building a desktop application called **Harness Studio**. I wanted a tool where I could manage local AI models, configure runtimes, monitor GPU and memory usage, and connect my models to coding tools without constantly switching between applications. That…

2

Oct 13, 2026

I released Harness Studio, an open-source alternative to LM Studio and Ollama. Looking for feedback and contributors. (r/LocalLLM)

Hey everyone! I've been developing **Harness Studio**, a free and open-source desktop application for running local AI models. I've used tools like LM Studio, Ollama and llama.cpp, and wanted to bring model management, inference settings, hardware optimization and developer integrations together in…

5

Oct 13, 2026

README

English | Türkçe

Harness Studio logo

Harness Studio

Run AI models on your own computer. Private, free, and easy to use.

Latest release CI License: MIT Downloads Discussions Platforms Stars

Download · User guide · FAQ · Roadmap · Support the project

Harness Studio Playground: a local model answers "What's the weather like in Istanbul today?" using the weather tool

Model library Dashboard with server settings

Screenshots are from the Windows app. The interface is available in English and Turkish.

Contents

What is Harness Studio?

An AI chatbot such as ChatGPT normally runs on a company's computers: your words travel over the internet to get an answer. Harness Studio lets you run the AI on your own computer instead. You download a model (a file that holds the AI's "brain"), press a button, and chat. After the download, nothing has to leave your machine, there is no subscription, and it keeps working without internet.

You do not need to be a programmer. The app finds models for you, checks whether they fit your computer, downloads them, starts them, and gives you a chat window. If you are a programmer or power user, the same app is also a local AI server with an OpenAI-compatible API, a command line, and tool and MCP support, so your editor, coding tools, or scripts can use your local models.

Harness Studio is a desktop app built with Tauri, Rust, and Svelte. It manages the open-source engines that actually run the models (mainly llama.cpp) and adds a friendly interface, safety checks, and measurements on top.

Quick start in 3 steps

  1. Download and install. Get the installer for your system from the Releases page. Windows: run Harness Studio_..._x64-setup.exe (about 21 MB). The installer is not code-signed yet, so Windows SmartScreen may say "Windows protected your PC". Click More info, then Run anyway. macOS: open the DMG for your Mac (Harness Studio_..._aarch64.dmg for Apple Silicon, about 29 MB; Harness Studio_..._x64.dmg for Intel, about 32 MB) and drag Harness Studio to Applications. The app is signed with an Apple Developer ID and notarized by Apple, so it opens like any other downloaded app. The source code and the build workflow are open in this repository.
  2. Follow the first-run wizard. It looks at your hardware, asks where to keep models, installs the engine that runs them, and lets you choose your privacy settings. Pick the Simple interface level if you are new to this.
  3. Pick a model and chat. In Model Hub, choose a recommended model that fits your computer (the app shows a fit estimate) and press Download. Then open Dashboard, select the model, press Start Server, open Playground, and say hello.

Step by step, with every screen explained: User guide.

System requirements

These are the requirements of Harness Studio itself, not of any model. Figures are measured on v0.1.0 on Windows and on macOS (Apple M1, 8 GB).

Operating systemWindows 10 or 11, 64-bit, or macOS 13.3 or later on Apple Silicon (with Metal acceleration) or Intel (CPU only). Linux (x86_64, .deb and AppImage) is a preview: tested on one Ubuntu machine so far.
Installer sizeAbout 21 MB on Windows; on macOS the DMG is about 29 MB (Apple Silicon) or 32 MB (Intel)
Installed sizeAbout 65 MB (about 64 MB on macOS). On top of that, the app downloads the model engines it needs on demand (a llama.cpp build is tens of MB; CUDA builds are larger).
Memory used by the appAbout 250-350 MB of RAM for the app itself (interface plus WebView2), before any model is loaded. On macOS about 250 MB (interface plus WebKit).
WebView2Preinstalled on Windows 11. On Windows 10 the installer sets it up automatically if it is missing (this needs an internet connection once).
macOSA disk image (DMG): open it and drag the app to Applications. The app is signed with a Developer ID and notarized by Apple; microphone and Terminal-control permissions carry over to updates.
Graphics cardNot required. The CPU works. A GPU only makes models faster.
Disk for modelsDepends on the model: from about 100 MB for a tiny model to 10 GB or more for a large one. You choose the folder, including another drive.
InternetNeeded to download the app, engines, and models. Not needed to chat once a model is on your disk.

Supported acceleration, chosen automatically for your hardware: CUDA (NVIDIA), ROCm/HIP (recent AMD cards), SYCL (Intel Arc), Vulkan (most other GPUs), Metal (Apple Silicon, with the macOS build), and CPU.

How big a model can my PC run?

What matters is how much memory the model needs, which depends on its size and on how heavily it is compressed. Most people download quantized models in the GGUF format: a quantization (such as Q4_K_M) stores the model's numbers in a more compact form, so the file is much smaller for a small loss of quality. VRAM is your graphics card's own memory; if the whole model fits in it, the model runs fastest.

These are rough guides for quantized GGUF models. Real needs also grow with the context (how much text the model can keep in mind at once).

Free memory (RAM, or VRAM on a GPU)Models you can comfortably try
About 0.5 GBTiny models, 135M-360M parameters. For example SmolLM2-135M: a file of roughly 100-150 MB that runs with about 500 MB of RAM, so it works on almost any computer.
About 4 GBSmall models, 1B-3B
About 8 GBMid-size models, 4B-8B
16 GB or more, or a GPU with 8 GB+ VRAM12B-14B models and above

You do not have to work this out yourself. The Model Hub and the Dashboard show a hardware-fit hint next to each model (Fits in VRAM, VRAM is tight, Partial GPU offload, Mostly CPU, May run out of memory). When Context size and GPU layers are left on Auto, Harness Studio picks safe settings for you: on a small graphics card it prefers keeping every layer on the GPU and shrinking the context, and it refuses to load a request that cannot fit instead of running it painfully slowly. If a model still does not fit, a dialog explains what ran out and what to change.

Features

Everything below works locally. Details are in the user guide and FEATURES.md.

For everyday users

  • Model Hub: search Hugging Face with filters, read model cards, see whether a model fits your hardware, and download through a resumable queue that verifies SHA-256 checksums.
  • Playground: a chat window with saved conversations, side-by-side model comparison, Markdown and Mermaid diagrams, image input for vision models, documents with local search and citations (RAG), speech to text, read-aloud, and image generation.
  • Tools in chat: models can use built-in file, web, and weather tools, with an approval step before anything risky runs.
  • Simple and Advanced levels: Simple shows only what a first-time user needs; Advanced reveals every setting. Switching never loses a setting (details).
  • Comfortable to use: English and Turkish interface, light and dark themes, high-contrast and color-blind-friendly options, system tray, and launch at login.

For developers and tool users

  • One local endpoint for many models (the gateway): speaks the OpenAI, Anthropic, and Ollama APIs. Models load on first use and unload when idle. It is opt-in.
  • Guided setup for your tools: Claude Code, Codex, OpenCode, Aider, Goose, Continue, Zed, VS Code, Cline, JetBrains, Open WebUI, and more, with a diff preview, backups, and one-click undo. harness launch starts a tool with the right settings and changes nothing global.
  • Tool calling that works with local models: text-formatted tool calls are turned into real OpenAI-style tool_calls, so coding tools get usable results (measurements).
  • MCP both ways: connect MCP servers to your chats, and let other tools use Harness itself as an MCP server.
  • Custom tools: describe a tool and let a local model generate it as sandboxed JavaScript.

For power users

  • Several servers at once with profiles, automatic ports, memory estimates, live telemetry, and clear failure help (out of memory, missing libraries, port conflicts).
  • Full control of llama.cpp: context, GPU layers, KV cache type, slots, sampling, and many more, plus a runtime registry with SHA-256-verified engines and per-server runtime choice. See the CLI reference.
  • Observability: benchmarks, request analytics (P50/P95 latency, tokens, errors, per client), tool-call diagnosis, searchable logs, Prometheus /metrics, and optional OpenTelemetry export.
  • CLI, Control API, and headless mode: the harness command, an authenticated Control API with an OpenAPI schema, and harness serve to run without a window. All of them share the same Rust code as the app.
  • More engines: whisper.cpp and sherpa-onnx (speech), stable-diffusion.cpp (images), ONNX Runtime (embeddings and reranking), and optional Lemonade and mistral.rs. Safetensors models can be converted to GGUF from the Hub.

Why Harness Studio? How it compares

There are good tools already, and Harness Studio does not replace all of them for everyone. It aims to do what LM Studio and Ollama do without hiding llama.cpp's advanced controls, while being stronger at observability and at working with coding tools, and staying fully open source.

Measured against LM Studio, Ollama, and llama.cpp

Same GGUF files on one Windows PC (AMD RX 7900 GRE 16 GB, Vulkan), each tool at its own defaults:

Out of the boxHarness StudioLM StudioOllamallama.cpp
Qwen3-4B decode (tok/s)140.9142.0128.9114.5
Qwen2.5-Coder-14B decode (tok/s)48.642.049.040.9
4 concurrent requests, total (tok/s)344157126152
14B tool calling (38 cases)36/385/384/385/38
20k-token promptcorrectcontext errorcontext errorcorrect
14B at 65k context: spill to shared memory98 MiB12.4 GB10.3 GB5.2 GB
Switch models through one endpoint6.5 swrong model answered5.6 srestart needed

The others win some rows too: Ollama processed long prompts faster, and at 65k context LM Studio and Ollama decoded about 3x faster by spilling into shared memory, while Harness keeps the model in video memory. Methodology, caveats, and the full tables: COMPARISON.md.

Feature comparison

✓ available · ✗ not available · partial = limited. Sourced from the audited matrix in FEATURES.md; competitor columns reflect the versions listed there.

FeatureHarness StudioLM StudioOllamallama.cpp (llama-server)
Friendly desktop app✓✓✓✗ (server with a basic web page)
Windows / Linux / macOSWindows and macOS; Linux preview✓✓✓
Apple MLX engineplanned✓✓✗
Built-in request analytics (P50/P95, per client)✓✗✗✗
Prometheus metrics and OpenTelemetry✓✗✗partial (metrics endpoint)
Works as an MCP server for other tools✓✗✗✗
One-command launch of coding tools✓✗✓✗
Named access tokens with scopes✓✓✗✗
OpenAPI schema for its management API✓✗✓✗
High-contrast and color-blind-friendly themes✓✗✗—
Interface languagespartial (English, Turkish)✓ (30+)not verified—
Official JS and Python SDKsplanned✓✓✗

How it relates to other tools

ToolWhat it isHow Harness Studio relates
JanA desktop chat app for local and cloud modelsHarness has a step-by-step setup so Jan can use the Harness endpoint. Harness adds server management and observability.
GPT4AllA desktop chat app for running models locallySimilar everyday use case; Harness adds an OpenAI/Anthropic/Ollama-compatible gateway, CLI, and tool support.
AnythingLLMA workspace app for chatting with your documentsHarness has built-in local document chat (RAG), and any OpenAI-compatible app can use its endpoint.
LocalAIA self-hosted, OpenAI-compatible API serverLocalAI is server first. Harness is desktop first today; a server mode with a web UI is planned.
Open WebUIA web chat interface for Ollama and OpenAI-style APIsWorks with the Harness endpoint (guided setup included). Harness has its own desktop UI.
llama-swap / raw llama.cppA model-swapping proxy and the engine itselfHarness manages llama.cpp for you, including model switching, safe defaults, and the same raw controls.

What is unique

  • Defaults that work. With equal settings all these tools run at about the same speed, because they share the llama.cpp core. The differences come from what each tool picks for you. Harness sizes context and offload from your free VRAM and the model, so a 20k-token prompt works without tuning.
  • No silent slow-downs. It keeps models out of shared system memory and refuses requests that cannot fit, explaining why.
  • Tool calls clients can use. It recovers text-formatted tool calls into real ones by default.
  • Built for several models and several users. Concurrency, model switching through one endpoint, per-token limits, and per-client analytics.
  • Observability built in. Request analytics, a trace view, Prometheus, and OpenTelemetry.
  • One core, many doors. The app, the CLI, the Control API, and MCP all use the same Rust services.
  • Honest limits. Harness Studio is a first public release (0.1.0) with a small team. LM Studio and Ollama have larger user bases, catalogs, macOS support, and SDKs. See Where the competitors lead.

Privacy

  • Your chats stay on your computer. Models run locally. Chat history is stored in the app's data folder on your disk.
  • No usage tracking. The app sends no telemetry and no automatic crash reports. Diagnostic reports are saved only on your device, you choose what they include, and they never contain prompts, replies, or file contents.
  • When the app does use the internet: to search and download models from Hugging Face, to download engines and updates, to fetch a link you add, and when you turn on web tools such as web search or weather. OpenTelemetry export is off unless you enable it and enter your own collector address.
  • The local endpoint is local. The gateway and APIs listen only on your own computer unless you turn on network access, and then they require tokens. See the security model.
  • Request logging stores metadata, not content. Request analytics keep things like timing and token counts. Saving prompts and replies is off by default and is opt-in per model definition, with a time limit.

For power users

Start a headless owner with the gateway in one terminal, and use it from another:

harness serve --gateway                  # run without the UI; gateway on 127.0.0.1:11435
harness search Qwen3                     # search Hugging Face
harness pull unsloth/Qwen3-4B-Instruct-2507-GGUF:Q4_K_M
harness load Qwen3-4B-Instruct-2507-Q4_K_M
harness run Qwen3-4B-Instruct-2507-Q4_K_M "Say hello."
harness ps --json                        # loaded models, machine-readable

Any OpenAI-compatible client can then use your local model:

curl http://127.0.0.1:11435/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"Qwen3-4B-Instruct-2507-Q4_K_M","messages":[{"role":"user","content":"Say hello."}]}'
from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:11435/v1", api_key="not-needed")
reply = client.chat.completions.create(
    model="Qwen3-4B-Instruct-2507-Q4_K_M",
    messages=[{"role": "user", "content": "Say hello."}],
)
print(reply.choices[0].message.content)

Anthropic-style (/v1/messages) and Ollama-style (/api/chat) clients work on the same gateway. harness mcp exposes Harness as an MCP server over stdio. One-shot use without a running owner: harness --headless run ./model.gguf "2+2?" --json.

Reference: CLI.md · MCP.md · INTEGRATIONS.md · ARCHITECTURE.md · PERFORMANCE.md

FAQ

Is Harness Studio free?

Yes. The app is open source under the MIT License, with no subscription, account, or ads. Models you download have their own licenses (see the commercial-use question below).

Does it work offline? Do my chats leave my computer?

Once the app, an engine, and a model are on your disk, chatting works without internet, and your conversations stay on your computer. The app only goes online when you ask it to (model search and downloads, engine and app updates, and web tools you switch on). See Privacy.

Do I need a GPU or a powerful PC?

No. The CPU works, and a GPU only makes models faster. Small models run on modest machines; see How big a model can my PC run?. The app itself uses roughly 250-350 MB of RAM.

Which models can I run, and where do I get them?

Mainly GGUF models for llama.cpp: chat, coding, vision, embedding, and reranking models. The Model Hub searches Hugging Face for you, shows size and hardware fit, and downloads with checksum verification. Speech (Whisper and sherpa-onnx), image generation (Stable Diffusion and FLUX packs), and ONNX models need their optional engines, which the app offers to install. Safetensors models can be converted to GGUF inside the app.

Can I use the GGUF files I already have, or my Ollama / LM Studio models?

Yes. Add the folders that hold your GGUF files under Settings > Storage > Directories, or import from Ollama and LM Studio in the Library. See the Model Hub and Library guide.

Can my editor or coding tool use it? Is there an OpenAI-compatible API?

Yes. Turn on the gateway and you get one local endpoint compatible with the OpenAI, Anthropic, and Ollama APIs. Connections offers guided setup for Claude Code, Codex, OpenCode, Aider, Goose, Continue, Zed, VS Code, Cline, JetBrains, Open WebUI, and others, with preview and undo. See INTEGRATIONS.md.

How is it different from Ollama and LM Studio?

All three run models locally on top of llama.cpp. Harness Studio keeps the advanced controls visible, is fully open source, makes tool calling and long contexts work out of the box, and has built-in analytics, tracing, an MCP server, and a CLI. LM Studio and Ollama are more mature and available on more platforms. See Why Harness Studio?.

Windows shows a SmartScreen warning. Is it safe?

The v0.1.0 installer is not code-signed yet, so SmartScreen warns about unknown publishers. Choose More info, then Run anyway. The source code and the build workflow are public in this repository, and a signed installer is on the roadmap.

How do updates work?

Settings > Updates can check for a new version and install it. If no update source is available, download the newest installer from Releases and run it. The llama.cpp engine is updated separately under Settings > Runtime, where you can also roll back.

How do I uninstall it, and where are my files?

Use Windows Apps > Installed apps. Uninstalling does not delete your data. Settings, chats, engines, and logs live in %APPDATA%\com.harnessstudio.app; models are in the model folder you chose in the wizard (Settings > Storage > Directories). Delete those folders yourself for a clean removal.

Does it run on Linux or macOS?

macOS: yes. There is a DMG for Apple Silicon (with Metal acceleration) and one for Intel Macs (CPU only), for macOS 13.3 or later; see Quick start for the first-open step. Linux: a preview .deb and AppImage (x86_64) are on the Releases page. They have been tested on one Ubuntu machine so far, so expect rough edges and please report what you find. Wider Linux testing is on the roadmap.

Can I run it on a server?

harness serve runs without a window and exposes the gateway and Control API, and remote instances can be used with HARNESS_HOST and HARNESS_TOKEN. A full server mode with a web interface, automatic HTTPS, and Docker images is planned, not yet available.

Can I use it commercially?

The app is MIT-licensed, so you may use it commercially. Each model has its own license (some forbid or limit commercial use). The Model Hub shows a model's license; check it before using a model in a product.

Is my data or usage tracked?

No. There is no telemetry and no account. See Privacy.

How do I use it from my phone or another computer?

In Settings > Gateway, enable Allow network access and create a named token with the inference scope. Keyless network access is not allowed. You must set your firewall yourself. A built-in way to use models from another Harness instance (Harness Link) is planned.

A model will not load, or it is slow. What now?

If memory runs out, a dialog shows what did not fit and offers fixes (shorter context, fewer GPU layers, a smaller quant). See the troubleshooting guide.

How do I report a bug or ask for a feature?

Open an issue with your OS, GPU and driver, backend, app version, model, and the error text (diagnostics reports can be exported with personal information removed). Questions and ideas go to Discussions. Security problems: SECURITY.md.

Roadmap

The full, living list is in ROADMAP.md. It shows direction, not promises.

Available now (v0.1.0)

  • Windows installer; Model Hub, Library, Dashboard, Playground
  • Gateway with OpenAI, Anthropic, and Ollama APIs; guided tool integrations
  • Tools and MCP; CLI, Control API, and headless mode
  • Analytics, benchmarks, and Prometheus/OpenTelemetry export
  • Speech, image generation, embeddings, and reranking engines

In progress

  • Verifying the Linux builds on more hardware (AMD, NVIDIA, Intel) and distributions
  • First-run polish on every platform
  • Benchmarks on more hardware (NVIDIA/CUDA, Linux)
  • Accessibility checks for small windows and high interface scale

Planned next

  • Server mode: manage Harness on your own server from a web interface, with passwords or tokens, domain and automatic SSL, a systemd service, and Docker images (CUDA, ROCm, Vulkan, CPU)
  • Harness Link: use models from another Harness instance in your library, Playground, and gateway
  • Signed Linux packages beyond the preview, and an MLX engine for Apple Silicon
  • Code-signed Windows installer; automatic app updates
  • TypeScript and Python SDKs for the Control API; decision-model endpoints

Later: a community registry of tools and MCP servers, a ComfyUI bridge, a tool router, and more creation pages.

How you can support the project

Harness Studio is built in the open and every bit of help counts.

  • Star the repo and share it with someone who would like private, local AI.
  • Report bugs and suggest features in Issues and Discussions.
  • Improve translations and docs. English and Turkish are both first-class.
  • Contribute code through pull requests. The maintainers review every change; please read CONTRIBUTING.md first.
  • Test on your hardware and share benchmarks, especially NVIDIA, Intel, Linux, and macOS. The runner is in bench/compare/.
  • Sponsor the project or discuss a partnership: [email protected].

Documentation

DocumentWhat it covers
User guide (English)Installation, Model Hub, Dashboard, Playground, connections, tools, settings, CLI, troubleshooting
Kullanım kılavuzu (Türkçe)The same guide in Turkish
CLICommands, services, JSON output, exit codes
IntegrationsCoding tools: launch and configuration formats, rollback
MCP · ToolsHarness as MCP server and client; built-in and custom tools
Performance · ComparisonMeasurements and methodology
Architecture · Security modelServices, gateway, trust boundaries
Features · UI levelsFeature-by-feature matrix; Simple and Advanced levels
Roadmap · ChangelogOpen work; what changed in each version

Build from source

You need Rust (stable), Node.js 22+, and the Tauri prerequisites for your operating system.

npm ci
npm run tauri dev      # run the app in development mode
npm run tauri build    # build the installer (NSIS and MSI on Windows)

The build also compiles the harness CLI and helper programs. CLI only: cargo build -p harness-cli --release. Development checks and conventions: CONTRIBUTING.md.

Community

Please read our Code of Conduct. Questions: Discussions. Bugs and requests: Issues. Help options: SUPPORT.md. Found a vulnerability? Follow SECURITY.md instead of opening a public issue.

License

Harness Studio is released under the MIT License. Copyright (c) 2026 struklabs and Harness Studio contributors.

Acknowledgements

Harness Studio stands on the shoulders of great open-source projects:

See each project for its full license terms. Model files you download have their own licenses, shown in the Model Hub.

Harness Studio is an open-source project by struklabs.

desktop-app
gguf
llama-cpp
llm
lm-studio-alternative
local-ai
ollama-alternative
onnx
openai-compatible
rust
self-hosted
stable-diffusion
svelte
tauri
whisper