LOPI is a self-hosted AI helper that runs entirely on your own hardware — no cloud AI service, no third-party agent framework. It owns its inference runtime, its memory, and its tools, and it can carry out approved, sandboxed tasks under strict, server-enforced limits.
LOPI blends a friendly chat experience with a carefully bounded agent layer. It can search the live web, remember what matters, read your approved documents, and act — but only within limits the server owns and you approve.
Streaming conversation on local models.
Citation-aware answers, current-date awareness, echo repair, and a one-click "Continue" for length-stopped replies — all on local inference with no cloud APIs.
Grounded answers from live sources and local documents.
Controller-owned search prioritises live sources for changing questions and approved local documents for stable ones. Provider keys never touch the browser.
Local memory with review-gated document storage.
Local SQLite/FTS5 memory plus a separate document store with immutable versions, conflict handling, and rollback.
Bounded agent tasks with explicit opt-in.
One validated action at a time, a step limit, a repetition guard, and durable, replayable task events — all within server-enforced limits.
Every mutation confirmed and recorded.
Mutations pause for exact-action approval. Every task is recorded with redacted, ordered events. Restart never replays an unproven change.
LOPI's defining trait is disciplined ownership. Each concern has exactly one authoritative component, and the browser never holds business logic, credentials, or tool execution.
One machine. One stack. Every layer owned by LOPI — nothing leaves the device unless you allow it.
LOPI runs several local GGUF models behind node-aware aliases and independent chat, decision, and final roles. Every model is revision-pinned, license-tagged, and paired with its own instruction profile.
| Model | Size | Role / use | Runtime | Status |
|---|---|---|---|---|
| Qwen3 1.7B (fast) | 1.3 GB | chat, decision, final | llama.cpp b10488 | Default — tuned 6/8 threads |
| Gemma 3 4B (balanced) | 2.5 GB | established CPU middle | llama.cpp b10488 | Own sampling profile |
| Qwen3 8B (quality) | 5.0 GB | slower, higher quality | llama.cpp b10488 | Temperature capped via eval |
| Qwen3.5 4B (qwen35) | 2.7 GB | experimental | llama.cpp b10488 | Pending fixed evaluation |
Rollback runtime b10326 remains hash-locked. Sampling values are model-owned and changed only through a fixed evaluation — never copied between model families.
LOPI's roadmap expands capability only after the safety substrate beneath it is proven. Foundations are complete; the durable task runtime is live; sandboxed workflows come next.
Strict action protocol, bounded orchestrator, canonical tool registry, multi-model routing, agent streaming, control plane, and local knowledge store.
Owner-bound ordered task events, a detached runner with a desktop queue, replay/polling, routed cancellation, and restart-safe semantics.
Bounded output schemas and risk/idempotency metadata on the canonical registry — classifying existing tools before expanding the surface.
Administration-approved, non-executable instruction packs, then versioned least-privilege connectors to a separate HPE deployment.
LOPI shows that a genuinely useful assistant — search, memory, documents, and bounded autonomous tasks — can run entirely on your own hardware, with every permission explicit and every action auditable.
Get in touch →