A single Go binary plus Postgres/pgvector, run with docker compose. Its differentiator is a nine-stage consolidation pipeline that turns raw episodic input into a structured, queryable memory graph: episodes become facts, then relationships, causal links, patterns, contradictions, goal inference, failure patterns, and finally a hypothesis scan. Each stage is incremental, processing only data new since the last run. Agents reach it through an MCP server exposing remember, recall, consolidate, namespace, goal, and failure tools.
- Storage
- A single self-hosted Postgres instance with pgvector holding episodes, extracted facts, relationships, and embeddings — no second datastore to operate.
- Retrieval
- Vector and semantic search via the recall tool over consolidated facts rather than raw episodes, scoped by namespace.
- Self-host
- Self-host: trivial
- License
- Apache-2.0
- Pricing
- The repo is free and Apache-2.0, fully self-hosted. A separate hosted product at usestash.io is free while in beta and is explicitly stated to share no code with this repository — it is a from-scratch rewrite. No paid tier is published for either. · Free / OSS
- GitHub stars
- 760
- Last release
- 2026-05-29
- Last commit
- 2026-06-14
- First catalogued
- 2026-07-25
Strengths
- Single-binary self-host with Postgres bundled by docker compose — genuinely simple to stand up
- The nine-stage consolidation pipeline is concrete and inspectable rather than a black box, and each stage runs incrementally
- Works fully air-gapped against a local Ollama model, with OpenAI-compatible provider flexibility otherwise
- Apache-2.0 with no paid gate on any documented feature
Watch out
- Real signs of stalling: the last code push was 2026-06-14, roughly six weeks before this card, and a community PR fixing a known MCP transport bug has sat unmerged while the maintainer promotes the separate hosted product — carded as needs-review for that reason
- MCP transport is legacy SSE only on main; the spec has moved toward Streamable HTTP and the project's own open PR acknowledges the gap
- Single maintainer with a small contributor base and few open issues — limited bus factor
- The nine-stage claim required cross-checking the docs-site diagram; the repo's own text is inconsistent, with one commit message describing an eight-stage pipeline
- Stash Cloud is a ground-up rewrite sharing no code with this repo, so feature parity is not guaranteed in either direction
Best for
- Developers wanting a fully self-hosted, single-binary memory layer with transparent consolidation logic
- Air-gapped or local-LLM setups running Ollama
- Anyone who wants structured facts and causal links extracted from raw episodes rather than stored chat transcripts
How it integrates
Benchmark results
No sourced results yet.
Sources
- Monthly card re-verification — GitHub API repo metadata: 757 stars, license Apache-2.0 confirmed, archived=false, last commit on the default branch 2026-06-14 (third-party)
- Repo metadata — 759 stars, Apache-2.0, last code commit 2026-06-14, release v0.2.11 on 2026-05-29 (vendor)
- README — Go binary plus Postgres/pgvector, MCP client setup over SSE (vendor)
- Docs site pipeline diagram — the nine consolidation stages, used to substantiate the architecture claim (vendor)
- Open unmerged PR proposing Streamable HTTP alongside legacy SSE — evidence for the transport watch-out (vendor)
- Hosted Stash Cloud — free in beta, explicitly stated to share no code with the OSS repo (vendor)
Last verified 2026-08-01 · updated by refresh-framework-cards