Ollama Integration
Wolffish has complete, first-class integration with Ollama — an open-source local model runtime that lets you run LLMs entirely on your hardware. No API keys, no cloud dependency, no data leaving your machine.Why Ollama?
The deep goal of Wolffish is to run completely local with zero exposure to the internet. Every piece of data — memory, conversations, skills, task logs — already lives on your machine. The only component that traditionally requires the cloud is the LLM itself. Ollama closes that gap. For power users with capable hardware, this means:- Total privacy — Your prompts, responses, and tool outputs never leave your machine
- Zero recurring cost — No API bills, no token counting, no rate limits
- Offline capability — Full agentic workflows on an airplane, in a bunker, or behind an air-gapped network
- No vendor dependency — Your agent works regardless of API outages, pricing changes, or service discontinuation
How It Works
Wolffish communicates with Ollama via its local HTTP API:- Detect Ollama when you go looking for it in Settings → Models → Ollama (since v1.0.289 launch itself asks Ollama nothing)
- Browse available models on your machine
- Pull new models directly from the Wolffish UI — no terminal needed
- Stream responses using NDJSON streaming
- Call tools via structured JSON in the model’s response
Setting Up Ollama
1
Install Ollama
Download from ollama.com and install. On macOS it’s a single
.dmg, on Linux a one-line curl command, on Windows a standard installer.2
Pull a model
Either use the terminal (
ollama pull qwen3:14b) or let Wolffish pull it for you from Settings → Models → Ollama.3
Select in Wolffish
Open the model card beside the chat input and pick your model. Since v1.0.279 there is no Local/Cloud switch — one chip shows the model that will answer, and choosing a model is the switch: pick an Ollama model and you are running local, pick a cloud model and you are running that provider. Your local model always keeps a row of its own in the list, so it is there to pick even when Ollama isn’t answering. (Settings → Models → Ollama is where the pull UI lives.)
Ollama is optional, and opt-in. Since v1.0.289 it is not part of onboarding at all — no install page, no model-picker page, and no probe at launch. You reach it when you want it, from Settings → Models → Ollama. Wolffish will still prompt you to configure at least one provider before you can start chatting.
Finishing a download keeps you where you are. It used to throw you out of Settings and into the chat, because the picker was built as a step in a flow rather than a panel you had opened on purpose. Since v1.0.289 the list comes back with your new model marked as current, and the panel re-reads what Ollama actually holds — so re-downloading a model your configuration already names no longer leaves the card offering “Install”. The buttons that belonged to that flow — Skip for now, Back to chat, Continue to chat — are gone; Settings’ own sidebar and back chevron were always the way out of a panel.
Model Requirements for Agentic Tasks
Not all local models are equal. Wolffish’s agentic capabilities — tool calling, multi-step reasoning, code execution, file manipulation — place specific demands on the model. Here’s what you need to know:The Parameter Threshold
The minimum for reliable agentic tool use is ~14B parameters, but even then, complex multi-step workflows (research → write → format → post) will hit failure modes. For truly autonomous execution — where the agent chains 10+ tool calls without human intervention — you need 32B+ parameters at minimum, and 70B+ for production-level reliability.
Why Small Models Fail at Agentic Tasks
Tool calling requires the model to:- Understand the instruction — Parse what the user wants accomplished
- Plan the sequence — Decide which tools to call, in what order
- Format tool calls correctly — Output valid JSON with correct parameter names and types
- Interpret tool results — Read the output and decide the next action
- Maintain context across turns — Remember what it’s already done across a multi-step chain
- Handle errors gracefully — Retry, adjust, or ask for help when a tool fails
Recommended Models by Hardware
The Honest Truth
If you have a standard laptop with 8–16GB RAM, local models will handle conversations, summarization, and simple Q&A well. But for the kind of autonomous multi-step workflows Wolffish excels at — researching topics, writing reports, managing files, executing shell commands in sequence — you’ll get dramatically better results with a cloud provider like Claude or GPT-4. The sweet spot for local-only agentic use:- Mac Studio / Mac Pro with 64GB+ unified memory — Run 70B models at acceptable speed
- Desktop with 24GB+ VRAM GPU — Full-speed 70B inference via CUDA
- High-end workstation with 128GB RAM — Run quantized 100B+ models
One Unified Path
Local models are not second-class citizens. A local model runs through exactly the same pipeline as a cloud model:- Same lean context — the same ~5k-token system prompt, capability index, and memory map that a cloud model gets. Nothing is stripped because the model runs on your hardware.
- Same core toolset — the full always-loaded core tools, plus tool discovery for everything else (
tool_searchworks identically on local models). - Same memory — full access to search, recall, conversation history, and knowledge saving.
Earlier versions had per-local-model context toggles (“stateless” and “restricted” local modes). Those are gone — there is one path now, and stale keys are stripped from existing configs on launch.
Small context windows
Models with small context windows automatically get a slimmed bootstrap toolset — retrieval, discovery, files, and shell — so the prompt and tool schemas don’t pin the window before the conversation starts. This is keyed on the measured context budget, never on provider identity: a small-window cloud model triggers it identically, and a local 128K-context model gets the full core set.Hardware protection
The Restrict powerful local models toggle (Settings → Preferences, on by default) blocks the Ollama panel from installing local models whose memory footprint exceeds what your system can handle comfortably (~55% of total RAM). This is an installation gate, not a context restriction — it exists to prevent swap thrashing, and you can turn it off to install anything regardless of hardware limits (not recommended).Reasoning modes
Thinking on Ollama is binary and automatic — no effort tiers, and nothing to pick. Wolffish reads each pulled model’s capabilities from Ollama’s/api/show and sends a top-level think field only to models that advertise the thinking capability; every other model never sees the field at all.
There is no reasoning control for a local model. The Thinking chip row inside the model card reads whichever cloud model is selected, so in Local Only mode it shows “Reasoning is not supported by this model.” — thinking is settled by the pulled model’s own capability rather than by a switch you set.
On Ollama: Models that advertise a thinking capability (e.g. qwen3, deepseek-r1, gpt-oss) can reason; the rest can’t. No API key and no cost either way, since it runs locally.
Local-Only Mode
Wolffish includes a “Local Only” toggle that restricts all inference to Ollama — no data ever touches a cloud API, no matter which Brain model is selected. Turn it on from the model card beside the chat input — flip the switch to Local — when you need absolute privacy for a sensitive task. In local-only mode:- Inference is forced to the local Ollama model regardless of which Brain you’ve selected
- No network requests are made for LLM inference
- Memory consolidation uses the local model
- All other features (memory, tools, capabilities) work normally
Limitations
- Speed — Local inference is slower than cloud APIs, especially on CPU-only machines. Expect 5–30 tokens/second depending on model size and hardware, versus 80–150 tokens/second from cloud providers.
- Context window — Most local models support 4K–32K context. Cloud models offer 128K–200K. Wolffish automatically slims the toolset for small windows (see above), but long conversations or large documents may still exceed local model limits.
- Tool-call formatting — Smaller models sometimes output malformed tool calls. Wolffish has retry logic, but repeated failures will end the turn.
- Computer-use — Screen interaction depends on vision capabilities that most local models lack. The capability isn’t withheld — a vision-capable local model can use it — but expect poor results below the frontier.