FishMem

One private memory for your coding agents.

FishMem Desktop gives Codex and Claude Code one local SQLite library, one local multilingual embedding model, and one authenticated machine bridge—without a second daemon or a hosted fallback.

  1. 01DistillCodex or Claude Code chooses a durable record and provenance.
  2. 02StoreDesktop commits infer=false to the single local SQLite owner.
  3. 03RecallThe local E5 model searches memories and documents on-device.
  • 01local-only storage
  • 02authenticated Unix socket
  • 03Codex + Claude Code
  • 04portable backup

The agent distills the decision; Desktop stores and recalls it locally. No remote model is hidden inside the write path.

The app is the one database owner.

The menu-bar application owns SQLite, embeddings, and the local RPC server. The CLI starts or connects to that installed app; it never creates a competing background database writer.

  • The connection descriptor and socket are private to the current user.
  • Add and search fail closed until the multilingual model is ready.
  • Packaged release QA exercises a real add/search/get/update/history/delete lifecycle.

Remember decisions, not every token.

The bundled skill teaches the coding agent when to recall and what deserves a durable write. Source metadata remains attached so a future session can inspect where the record came from.

  • Both supported agents call the same machine-oriented CLI contract.
  • SDKs pass JSON over stdin and never invoke a shell.
  • Filters, entities, documents, and history match the public wire shapes where applicable.

Move or restore the whole authority.

Desktop exports the portable namespace snapshot, including memories, history, entities, documents, operations, and events. Restore validates the complete format before replacement and rolls back on import failure.

  • Backup files are written atomically with user-only permissions.
  • Restore requires an explicit destructive confirmation.
  • Vectors and other replaceable projections rebuild from canonical data.

Start with one concrete request.

fishmem desktop start --json

fishmem add \
  --client codex \
  --content "Use one canonical release pipeline." \
  --source "docs/architecture.md" \
  --source-kind file

fishmem search --query "How do we release?" --limit 5

What this surface includes

  • Local memories, documents, entities, history, semantic search, agent integrations, and portable backups.
  • A signed and notarized Universal macOS release pipeline with architecture and Gatekeeper validation.
  • A stable CLI bridge used by the TypeScript and Python Desktop adapters.

Explicit boundary

  • Desktop does not run memory inference or a remote LLM.
  • Billing, webhooks, organizations, hosted events, and managed file extraction are not Desktop features.
  • The first local model download requires network access; recall remains local after it is cached.