The open local-first memory layer your agent is missing. Agents that remember, memory you can read.
Project details
Every LLM agent starts each session from zero: the context window is a scratchpad that resets on exit. Seahorse gives agents memory that survives across sessions, and gives humans a memory they can actually read and correct.
LLM agents start every session from zero: the context window is a scratchpad that resets. Seahorse gives agents memory that survives across sessions — and gives humans a memory they can actually read and correct.
It is an open, portable, bi-temporal memory standard, not a proprietary store.
Every memory ("episode") carries two time axes — when it became true
(valid_at) and when it was recorded (created_at) — so contradictions resolve
instead of accumulating: an agent never "remembers" you living in two cities
at once. Onboarding is one command: seahorse setup configures the vault,
the database, Claude Code capture hooks, a self-healing observer, the MCP
registration, and agent instructions — and it never fails the caller.
Key Features
seahorse setup configures the whole stack and
exits 0 always; every step degrades to a WARN line with the exact fix.improve supersedes, forget
soft-deletes; full history is preserved and point-in-time views are native.Example Usage
uv tool install seahorse-memory --with "seahorse-memory[embeddings,llm]"
seahorse setup
seahorse recall "what did we decide about the API design?"
How It Works
Agents talk to a stdio MCP server (io.seahorse.memory/v1) exposing 14
memory-native tools — remember, recall, recall_timeline, recall_full,
improve, forget, and more. The engine stores each episode twice: in a
single-file SQLite database (sqlite-vec kNN + FTS5 BM25, fused with
Reciprocal Rank Fusion) and as a Markdown file with F3.1 frontmatter in the
vault. Humans edit the same Markdown; seahorse doctor --fix diagnoses and
repairs the whole chain.
Use Cases
Comments
0Start the conversation
Share the first comment.