Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 19:31
· 516 commits to main since this release
48045ae

epicurus v0.1.0

The first release — Phase 1, the core runtime. Chat from a phone with a local or hosted model that calls tools and remembers across sessions, all through a self-hosted PWA.

Highlights

  • Agent — a thin MCP tool-calling loop with streaming chat (SSE).
  • LLM gateway — one interface over local Ollama and hosted providers (Claude, ChatGPT, Grok, DeepSeek, Gemini, and any OpenAI-compatible): routing, fallback chains, and tenant-scoped usage accounting. Keys live in OpenBao, never in env or logs.
  • Power states (Active / Idle / Paused) with idle model unload.
  • Cross-chat memory — Postgres history + Qdrant semantic recall, scoped per tenant.
  • Web UI shell — phone-first PWA: chat, model manager, provider keys, power toggle, and module UIs rendered declaratively from each module's manifest.

Run it

git clone https://github.com/baakhoff/epicurus.git && cd epicurus
docker compose up -d        # then open http://localhost:8088/

Versioned images on GHCR: ghcr.io/baakhoff/epicurus-{core-app,web,echo}:0.1.0.

Known limitations

An early 0.x release for personal / self-host use:

  • Secrets are not yet persistent — OpenBao runs in dev (in-memory) mode, so provider keys and module config are lost when the openbao container restarts. Persistent storage lands in Phase 3.
  • No event-bus auth — NATS tenant isolation is cooperative (fine single-user, not multi-tenant). Tracked in #50.
  • No bundled perimeter — the edge gateway only routes; front it with your own VPN / reverse proxy / auth proxy (ADR-0008).

Full notes: CHANGELOG.