Self-Hosted AI Memory in · shared project memory — local-first · offline-ready

Self-Hosted AI Memory in Manila

Self-hosting should be production-ready, not a tarball. MemHub ships RLS, restricted roles, audit trails and pg_dump backups — compliant from day one, no external API.

Data residency answered in one line: ‘your datacenter.’ Run in-region, keep embeddings local via Ollama, pass the DPO review without drama. Free to self-host.

Start free — get briefed in 2 min

Free for 1 project · No card · Self-host or we host · No external API

acme/self-hosted-ai-memory
synchronized

context/main

memories 41

pinned 6

contributors 9

BRIEFING FOR NEW SESSION

What changed since your last pull

3 new
01
decision

Standardize on idempotent write endpoints

Source: architecture.md

02
pattern

Repository layer owns every database transaction

Source: pull request #214

03
bugfix

Refresh tokens rotate atomically under load

Source: auth/session.ts

Claude Code
Cursor
Windsurf

WHY IT MATTERS HERE

Why Manila engineering teams choose MemHub

In Manila, software teams ship faster when their tools share one memory instead of three silos. Mixed toolchains stop fragmenting knowledge across vendor-specific stores.

Every entry carries authorship and version history, which keeps both humans and auditors comfortable.

  • Manila: connect Claude Code, Cursor, Windsurf, Cline, Codex CLI, or Antigravity to one shared memory. It also plugs into any CLI that speaks MCP or reads a JSON config.
  • Local-first writes keep sessions productive through outages and travel.
  • One command onboards the whole team: memhub login, then connect for Claude Code, Cursor, Windsurf, Cline, Codex CLI, or any JSON client.

UNIVERSAL COMPATIBILITY

Plugs into any CLI or development tool you use.

If it speaks MCP or reads a JSON config, MemHub plugs in. One command wires the majors; everything else joins as a generic client.

  • Claude Code
  • Cursor
  • Windsurf
  • Cline
  • Codex CLI (GPT)
  • GitHub Copilot
  • Google Antigravity
  • Gemini CLI
  • Aider
  • OpenCode
  • CI bots via REST

WHAT YOU GET

Self-Hosted AI Memory in Manila, without the trade-offs.

01

Move without rewriting

Hosted and self-hosted speak identical MCP/REST — switch is config, not code.

02

Stay inside your boundary

One Docker Compose / Easypanel file — database never phones home, data never leaves.

03

Production posture day one

RLS policies, NOBYPASSRLS roles, transaction-local tenants — in the migrations, not a todo.

04

Answer the auditor fast

Append-only audit table with actor/reason/metadata — demos that bore the DPO (in a good way).

05

AI without the API bill

Start with FTS; flip on local Ollama for vectors — no external embedding vendor needed.

06

Backups you already run

Plain PostgreSQL — pg_dump, replicas, PITR fit your existing continuity plan.

The honest comparison.

No feature-matrix gymnastics — just what changes the week you adopt MemHub.

Without MemHubWith MemHub
Context lives in heads and DMs → onboarding takes daysStructured, searchable memory → new dev/agent productive in minutes
Every agent re-learns the repo from scratchSessions open pre-briefed with only what changed — zero re-explaining
Rules files cap out at ~2k tokensUnbounded versioned history stays one query away — never cap again
Decisions re-litigated, bugs re-introducedPinned invariants prevent regressions — agents respect past calls

Keep your stack. Add shared memory.

One command for Claude Code, Cursor, Codex, Windsurf, Cline or any MCP client. No new editor. Setup in 2 minutes, works offline.

repository terminal

$ npm install --global @simplexlat/memhub

$ memhub login

✓ project resolved · context ready · memory synchronized

Questions, answered straight.

Is the hosted option still private?

Hosted memory is isolated per organization with row-level security, encrypted transport, and hashed credentials — but self-hosting remains the strongest guarantee because no third party operates the storage.

What do I need to self-host?

A host with Docker (or Easypanel) and a PostgreSQL 16 database with the pgvector extension. Migrations and seeds are one command each.

What happens when our connection drops?

Nothing interrupts the work. Writes commit to the local SQLite outbox and synchronize automatically when the shared service is reachable again.

Can we try it without sending data anywhere?

Yes — the local engine works fully offline, and the self-hosted stack keeps even the shared layer on your own PostgreSQL.

How much does it cost?

A Community tier is free, and the Team plan adds multi-project contexts, seats, and higher synchronization limits. Self-hosting is unlimited.

MORE LOCATIONS

EXPLORE OTHER USE CASES

THE NEXT SESSION STARTS HERE — 2 MIN SETUP

Stop rebuilding context.
Start shipping faster.

Create workspace — free