Skip to main content
Liminal AI
Vireon DynamicsLiminal AIEnLiminalUse casesLocal First PrivacyFSL-1.1-MIT · free to use

Use case · Updated 2026-06-02

Self-hosted AI coding agent

A self-hosted AI coding agent: Liminal runs the ReAct harness, tools, and session logs on your hardware. You choose cloud LLMs (OpenRouter) or fully local inference (Ollama). The agent layer does not require Vireon cloud.

What “local-first” actually means

Local-first does not mean “no network.” It means the orchestration loop: planning, tool dispatch, context compression, memory writes, and audit trails: executes in a process you run (TUI or web UI on localhost). Your repository, shell, git state, and optional Obsidian vault are accessed from your machine, not from a vendor sandbox you cannot inspect.

When you send a message, AgentHarness.send() binds chat context, runs intent classification on the fast model, then enters a multi-round ReAct loop. Each round can call dozens of tools; outputs land in tiered context (hot rounds verbatim, older output distilled to .agent_artifacts/). Session JSONL under .agent_sessions/ records the full trace for compliance or debugging.

What stays on your disk

  • Session traces: .agent_sessions/<taskId>.jsonl when AGENT_SESSION_JSONL is on (default).
  • Workspace artifacts and distilled tool output: .agent_artifacts/.
  • Structured memory: .agent_notes.json with scoped notes (chat / workspace / global).
  • Embedding index: ~/.liminal/memory.index.json (user-global, not trapped in a temp workspace).
  • Optional Obsidian vault: real markdown files under Facts/, Entities/, Reflections/, etc.
  • Runtime prefs (non-secret): .agent_runtime_prefs.json for harness toggles without editing .env.

What may still use the cloud

LLM completions go to whatever you configure in AGENT_API_BASE_URL. OpenRouter, OpenAI, Anthropic, xAI, or a local OpenAI-compatible endpoint. Embeddings for hybrid recall use AGENT_EMBED_MODEL when set; disable with an empty embed model for BM25-only.

Vision sidecar (vision_analyze) and optional safety judge are separate model calls you control via env. None of this requires a Liminal Cloud seat for Community Edition.

Approvals and destructive tools

run_shell and run_background are destructive: they go through the normal approval path unless AGENT_YOLO is enabled in a trusted environment. The safety judge (optional) can auto-clear obviously safe calls. Resource locks on file and shell prefixes prevent concurrent corruption.

Air-gapped and on-prem inference

Point AGENT_API_BASE_URL at Ollama or an internal gateway. The same tool surface (files, git, tests, memory) works; only model quality and speed change. See the Ollama guide for slug examples.

AGENT_API_BASE_URL=http://127.0.0.1:11434/v1
AGENT_MODEL=your-local-model
AGENT_FAST_MODEL=your-local-model

Who should run a self-hosted coding agent?

Teams with customer data in the repo, regulated industries, or strict IP policies often cannot paste code into a hosted IDE copilot. Freelancers and indie hackers choose self-hosted agents to swap models without re-learning a new product every quarter.

Liminal is fair-source (FSL-1.1-MIT), so you can read the harness, audit tool behavior, and keep JSONL session traces for compliance. That combination is what people search for when they look for a Cursor alternative that stays on their machine.

Self-hosted vs ChatGPT or Copilot

ChatGPT answers questions in a browser. GitHub Copilot completes lines inside an editor. Liminal runs a full tool loop on your PC: edit files, run tests, query git, browse docs, and write memory to disk. You bring any OpenAI-compatible model, including local inference.

For a side-by-side breakdown, see Liminal vs ChatGPT and Liminal vs GitHub Copilot on our compare hub.

FAQ

Common questions

Is Liminal fully offline?

The harness runs without calling Vireon servers. LLM inference still needs a reachable endpoint unless you use a local model server. Tool execution is entirely on your machine.

Does Vireon see my code?

Community Edition does not require uploading your repo to Vireon. API traffic goes to the provider you configure (e.g. OpenRouter). Keep keys in .env only.

Is Liminal a good Cursor alternative for privacy?

Yes, if you want the agent outside a single vendor IDE. Liminal runs on your machine with session logs and memory on disk, supports any OpenAI-compatible model, and ships 500+ tools beyond inline completions.

Can I use Ollama with Liminal?

Yes. Set AGENT_API_BASE_URL to your local OpenAI-compatible endpoint (typically http://127.0.0.1:11434/v1) and pick a model slug. See our Ollama setup guide for step-by-step configuration.