Local-first · Open source · Your model

An assistant that remembers,
acts, and stays yours.

A personal AI that runs on your machine — browsing the web, spinning up subagents, and building apps from chat. Every conversation makes it better at being yours. Your data never leaves.

QUICK ACTIONS
Browse the web
Search files
Run a research job
ACTIVE
Researching HybridDB v0.5.6 2 subagents running
Research the HybridDB v0.5 release
Subagent: research_hybriddb
Browser · scraped CHANGELOG.md and docs/API.md
App Builder · indexed 0.5.3 → 0.5.6 notes
3 sources · journal ordering · FTS backfill
Summarize what changed
Summary ready
0.5.6 fixes journal ordering and FTS backfill; 0.5.3 added
k_seeds to search_graph_ppr with graph-aware retrieval.
The Open Assistants stack

One assistant, four building blocks.

Every layer is open source, MIT-licensed, and embedded — no servers to rent.

What it does

Everything an assistant should do.
Nothing it shouldn't.

A browser that does things

Books meetings, fills forms, orders supplies — real work through real sites, driven by accessibility-tree automation instead of fragile CSS selectors.

Subagents, supervised

Parallel subagents on a SQLite work queue. Start them, course-correct them mid-run, cancel them when they're done.

Memory that compounds

99.9% session recall@5 on LongMemEval — zero LLM calls. It learns your style from every conversation.

Chat builds searchable apps

Describe a data app and get one. Every TEXT column gets keyword + vector search automatically.

Any model, your call

4,172+ models from 110+ providers through one SDK. OpenAI, Anthropic, Google, Ollama — no lock-in.

Billing that caps itself

Tenant pricing, tool-call budgets, and hard 402s the moment a budget is spent — usage-based billing built into the agent loop, with an owner dashboard for every run.

Local-first, always

Runs on your machine. No cloud, no telemetry, no training on your conversations.

Why it's different

An assistant, not another chatbot.

Measured on public benchmarks. Built for the machine that owns your data.

99.9%
Session recall@5
LongMemEval Oracle — 500 questions
zero LLM calls
98.4%
Session recall@5
LongMemEval S — 95.0% baseline + validated zero-LLM improvements (+0.034)
zero LLM calls
0.472 → 0.867
m@5 precision
After cross-encoder reranking — one lightweight local model
0%
Abstention rate
False-positive avoidance across every recall mode
zero LLM calls
Other assistants start fresh every conversation.
Yours remembers what you mean.
Other assistants only reply.
Yours does things — web, files, subagents.
Other assistants train on your data.
Yours keeps it on your machine.
Other assistants lock you into one model.
Yours runs any of 4,172+.
How it works

Talk. Act. Remember.

01

You talk

One request with full context — ask, delegate, or point at a problem.

02

It acts

97 tools across browser, files, shell, and web — parallel subagents, human approval for destructive steps.

03

It remembers

Every turn is embedded locally. Recall is hybrid keyword + vector, reranked — zero LLM calls on the happy path.

Deploy

One container. Your machine. Your data.

The assistant ships as a published Docker image — multi-arch (amd64 + arm64), rebuilt on every release. No clone, no build: pull, compose up, and the server answers on 127.0.0.1:8080.

Pull & run
docker pull ghcr.io/open-assistants-lab/assistant:latest
mkdir -p assistant-deploy && cd assistant-deploy
curl -sO https://raw.githubusercontent.com/open-assistants-lab/assistant/main/docker/docker-compose.yaml
curl -sO https://raw.githubusercontent.com/open-assistants-lab/assistant/main/docker/.env.example
cp .env.example .env        # add your LLM provider key
# swap the build: block for the published image, then:
docker compose up -d
curl -s http://localhost:8080/health   # -> {"status":"healthy"}

Published image

ghcr.io/open-assistants-lab/assistant:latest — multi-arch, rebuilt on every release tag and main push. Full feature set: semantic memory, analytics, tool index.

Loopback only

Binds 127.0.0.1:8080 with a built-in healthcheck — the server never exposes itself to the network.

Your data, mounted

./data:/app/data persists per-user stores; config.yaml is mounted so admin edits apply with a restart — no rebuild.

Enterprise mode

Container-per-tenant-user deployment with per-user API keys — generated by scripts/generate_enterprise_compose.sh.

Free · Open source · Yours

Start with an assistant that gets you.

Runs locally, connects to the model you choose, and keeps your data on your machine.