AbilitiesModels

Models

Harness runs a stack of small, specialized models on your device for screen understanding, audio and memory, and routes to the language model you choose for answers. The on-device models are what let screen capture, indexing, and memory stay local by default.

On-device models

These run in your browser. Most run through transformers.js and onnxruntime-web, on WebGPU where available and WASM as a fallback. Their execution is local. When a remote answering model is selected, Harness may separately send it the current or recalled frame, crop, or memory context needed for that turn.

RoleModel
Vision embeddingCLIP ViT-B/16 for scene-change gating and visual search
OCRPaddleOCR PP-OCRv6 detector with a PP-OCRv5 English recognizer, including an INT8 path for weaker hardware
Dense-text embeddingharness-embedder-v1, fine-tuned by Harness, for semantic screen search
Memory embeddingbge-base-en-v1.5 for semantic recall over your memories
Retrieval rerankerms-marco-MiniLM-L-6-v2, a cross-encoder for reranking recall results
Tab-audio transcriptionwhisper-base.en, or whisper-tiny.en on machines with little memory
Local helperLFM2.5-2.6B, run on the CPU through wllama

The local helper

The local helper is a small language model that never answers you. It does background work on your device so turns start faster and cost less: it decides how each turn should be handled, including while you are still typing, shortens older parts of a long conversation, writes the one-line status you see during long answers, and names the episodes in your screen history.

It downloads in the background (about 1.7 GB) unless your browser has Data Saver on, and devices too slow to run it simply skip it.

Fine-tuned models

Harness trains and evaluates its own retrieval models, and ships them only when they beat the best off-the-shelf option on our benchmarks:

  • harness-embedder-v1 is the dense screen-retrieval embedder, fine-tuned to make semantic screen search sharper than an off-the-shelf embedder. It runs in the pipeline today.
  • The recall reranker runs on the base ms-marco cross-encoder. A replacement ships only if it beats that baseline on the retrieval benchmarks.

Fine-tunes are published on Hugging Face and run on-device like the rest of the stack.

Language models

Choose who runs your AI in Settings → Inference → Models & routing:

  • harness: managed credit, and Harness routes each turn to a fitting model. Managed models come from Venice and Dot, and include Claude, GPT, Gemini, Grok, and open models such as Kimi, GLM, Qwen and DeepSeek.
  • your own key: a Venice, Bankr, OpenAI or Dot key, paid from your own account with that provider. Add the key under whose key on the same page.
  • your endpoint: an OpenAI-compatible endpoint you control, like Ollama, LM Studio or vLLM, added in Settings → Inference → Custom endpoints. Endpoints on your own computer or network are reached through your browser; public ones are called from Harness’s server. Mark each one standard or private.

Privacy setting

The privacy setting decides which models can answer:

  • anonymous: the strongest closed models, fastest. The provider sees your prompt.
  • private: open models from providers that do not keep your prompts, with full web and tools.
  • private e2e: an attested confidential (TEE) model only. It is cryptographically sealed, and has no web or general tools.

Routing

Leave routing on Auto and Harness picks the model for each turn, leaning fast, balanced or deep as you choose. Or pin one exact model, and every turn uses it, so its privacy is exactly what you get. Turns that drive your browser are the exception: they use the model with the best published computer-use result, within your privacy setting.

The heavier deep-agent path routes to stronger models when a turn calls for it.

A browser-relayed local model keeps model execution on your hardware. The hosted Harness server still orchestrates the turn and its tools, so this is not the same guarantee as self-hosting the full stack.