Esfis

Changelog

Every shipped change to the engine, MCP server, plugins, SDKs and apps.

Esfis 1.0

The first stable release. macOS app, CLI and MCP server ship together; the store format is frozen and future versions migrate it in place.

New

  • Galaxy view: browse memories as a graph, filter by entity or time.
  • Block editor with version history.
  • esfis doctor reports index health and model load times.

Changed

  • Default recall budget is now 800 tokens (was 1200). Measured no loss in recall, 30% fewer tokens per request.

Remote MCP endpoint with OAuth 2.1

Hosted agents can now reach your memory over https://mcp.esfis.com/v1, protected with OAuth 2.1 and per-agent scopes. Available on Pro and Team.

Fixes

  • The get_document tool now reads only from the active space, matching the other read tools.
  • recall bounds its limit input and no longer returns the transport session id.

Browser plugins for ChatGPT and Perplexity (beta)

Chrome and Safari extensions that inject recalled facts into ChatGPT and Perplexity conversations, and feed the observer from them. Same store as MCP clients.

Known issue: Perplexity's Pro Search mode strips injected context on follow-up questions. Fix in progress.

Full commit history, as-of queries and diffs

Every write to the store is now a commit. New commands: esfis log, esfis as-of, esfis diff, esfis revert, esfis squash. Read the blog post.

Changed

  • Store format bumped to v9. Migration is automatic and keeps a backup in ~/.esfis/archive.

Cascade retrieval replaces single-stage vector search

Recall now runs keyword, meaning, graph and rerank stages. LongMemEval recall up from 71% to 84% at the same budget. esfis recall --explain shows which stage surfaced each fact.

TypeScript and Python SDKs

@esfis/sdk on npm and esfis on PyPI, MIT licensed. Same API against the local engine and the remote gateway.

import { Esfis } from "@esfis/sdk";
const memory = new Esfis();
await memory.recall("where is Alex");