July 2026 - Present · Developer
Gopher
A local, lightweight, open-source LLM harness for humanity with local and cloud providers, a native desktop app, agent tools, and encrypted local data.
Overview
Gopher is a local, lightweight, open-source LLM harness written in Rust. It is a more permissive alternative to Open WebUI, connecting OpenAI-compatible and Anthropic Messages-compatible providers such as Ollama, OpenAI, Gemini, Anthropic, llama-server, and other local or cloud endpoints. Gopher does not bundle an inference engine; it provides one interface for the endpoints you already use.
Install and run
The latest tagged GitHub release is v0.4.0, while the current master branch reports package version 0.5.0. Platform installers and archives cover Windows x64, Linux x64/ARM64, and macOS on Apple Silicon or Intel. The release scripts install the gopher executable; versions and install directories can be pinned with GOPHER_VERSION and GOPHER_INSTALL_DIR.
From source, cargo run starts a loopback-only control plane and opens Gopher in a native desktop window by default. --browser uses the default browser, --headless runs without a window, --bind ADDR overrides the loopback address, and --config PATH selects another configuration file. The default URL is http://gopher.localhost:3930, and /settings redirects to Settings → Providers. On Linux, the desktop window requires WebKitGTK 4.1. Settings → App shows the installed version, checks GitHub Releases, and can install and restart into a newer release.
Chats, Loops, and agents
The workspace supports conversations, projects, attachments, model pins, persistent memory, and Loops: group chats where multiple models can participate. Provider settings live under Settings → Providers, where Gopher detects OpenAI-compatible or Anthropic Messages-compatible API styles.
Agent mode uses explicit approvals for consequential actions and can search the web, fetch URLs, conduct deep research, control Chrome or Edge, read and patch files, run terminal commands, and load custom skills. File reads run concurrently in groups of up to eight, while writes, commands, browser actions, and approvals preserve call order. Long-running terminal commands return a session that the agent can poll or terminate. Older tool history moves into a temporary encrypted archive so it can be retrieved without crowding the active model context.
Web search
Search is configured under Settings → Agent Capabilities → Web search. Gopher supports Auto, Parallel, TinyFish, SearXNG, and DuckDuckGo. Auto prefers a configured SearXNG instance and otherwise falls back to DuckDuckGo; Parallel and TinyFish can use API keys from Settings or PARALLEL_API_KEY and TINYFISH_API_KEY. Result count, recency, region, SafeSearch, and optional result-page fetching are configurable. Browser automation runs in isolated temporary private contexts that are cleaned up when the app locks or shuts down normally.
Data and configuration
Gopher stores its on-disk data and configuration in a gopher folder: %APPDATA%\gopher\ on Windows, ~/Library/Application Support/gopher/ on macOS, and ~/.config/gopher/ on Linux. The configuration covers the local bind address, appearance, storage mode, providers, conversations, preferences, and custom skills. Network-reachable bind addresses are refused because the local UI has no authentication.
Encryption at rest
Encryption at rest is enabled from Settings → Local Data. Gopher derives a 256-bit key with Argon2id using 64 MiB of memory, three iterations, and one lane, then encrypts chats, preferences, provider definitions and credentials, and custom skills with AES-256-GCM using random 96-bit nonces. Provider details move out of plaintext config.toml into encrypted storage. The passphrase and raw key are never stored; the in-memory session key is zeroized when you lock the session or exit.
The protection is designed for offline confidentiality and integrity. It does not cover workspace files, terminal history, downloads, OS caches, browser profiles from older versions, plaintext copies or backups made before encryption, malware, memory forensics while unlocked, hardware failure, or forgotten passphrases. Secure deletion cannot be guaranteed on SSDs or copy-on-write filesystems. Forgotten passphrases cannot be recovered.
Build and verify
Gopher can be built and checked with cargo build --release, cargo fmt --all -- --check, cargo clippy --all-targets -- -D warnings, and cargo test --all-targets. The release binary embeds the UI, prompts, fonts loader, syntax highlighting, Markdown renderer, sanitizer, terminal assets, and icons.