ollama-agent
An extensible agent platform in Go that works exclusively with Ollama and is optimized for small local LLMs. It distributes requests across multiple Ollama servers, picks the right model for each task on its own, and ships with a dark web UI.
Features
Section titled “Features”Operation across multiple servers
- Endpoint pool: use multiple Ollama servers in parallel, with health checks, automatic failover, and recovery. Requests only go to servers that actually have the required model.
- Docker: a container image that starts the web UI directly; configuration optionally entirely via environment variables.
The right model for each task
- Automatic model selection: task categories (chat, code, summarize, …) are mapped to model preference lists via JSON config; a small router model classifies tasks when no category is specified.
- Built-in benchmarks: a standardized test measures capability tiers, real context size, speed, and stability per model and server — the context depth test additionally checks whether a model truly understands its large context.
Robust with small models
- Agent loop with tool calling: built against the typical weaknesses of small models — salvage parsing of malformed tool calls, short prompts, tool subsetting by category, loop detection, context compaction.
- Patient timeouts: local models are allowed to take minutes for a response without anything getting aborted.
Interface
- Web UI: multiple chat sessions with automatic naming, full-text search, per-response token display, context meter with a compress function, job overview, model matrix with benchmark launch, and a settings page.
- Read-aloud & voice input: optional via Google Cloud — speaker icon under each response, microphone on the input field.
- CLI: the same platform, interactive or scriptable, on the command line.
Extensible
- Markdown skills: capabilities as
SKILL.mdfolders, extensible without recompiling. - MCP client: connect external MCP servers (stdio + HTTP), their tools become available to the agent.
- Web research: built-in web search and page analysis with a compression layer, so even small models can work with web content.
- Cron scheduler: recurring agent jobs via cron expression.
Quick start
Section titled “Quick start”make build./bin/ollama-agent config init > config.json # generate example config, then adjust./bin/ollama-agent ui # start the daemon and open the web UIFull details in Installation. If you’d rather work on the command line, get started at Command Line.
Where to go next?
Section titled “Where to go next?”| I want to … | Page |
|---|---|
| install the platform | Installation |
understand config.json | Configuration |
| get to know the interface | Web UI |
| look up all commands | Command Reference |
| pick the right model | Model Guide |
| add custom capabilities | Extending the Platform |
| contribute to the core | Architecture |
| look up every endpoint with schema and example | API Reference |
| know what changed recently | Changelog |