squish
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Fail
- spawnSync — Synchronous process spawning in bin/dependency-manager.mjs
- process.env — Environment variable access in bin/dependency-manager.mjs
- os.homedir — User home directory access in bin/install-config.mjs
- spawnSync — Synchronous process spawning in bin/installer-core.mjs
- fs.rmSync — Destructive file system operation in bin/installer-core.mjs
- os.homedir — User home directory access in bin/installer-core.mjs
- os.homedir — User home directory access in bin/runtime-launcher.mjs
- process.env — Environment variable access in bin/runtime-launcher.mjs
- process.env — Environment variable access in bin/squish-mcp.mjs
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Local-first memory runtime for AI agents. One command to connect Claude Code, Codex, ChatGPT, MCP workflows, and local agents.
Squish - AI Memory System for Coding Agents
Connect your sources. Click ingest. Your AI remembers everything.
Squish is an AI memory system for coding agents. Local-first MCP runtime with connectors, knowledge graphs, and multi-tier deployment. Free locally, paid Cloud for sync and teams.
npm i -g squish-memory && squish install --all
Core Concepts
| Concept | What It Is |
|---|---|
| Recall | Durable memory — decisions, preferences, constraints |
| Sessions | Evidence from past agent runs |
| Pinned | Stable facts that do not decay |
| Beliefs | Passive model of user/project |
| Strategies | Active operating rules |
| Decay | Stale weak traces fade automatically |
| Graph | Reinforced relationships from usage |
The Problem: Agents Forget Everything
Every AI coding agent starts from zero when a new session begins. The architecture decision from last week, the config you spent an hour debugging, the preference you mentioned yesterday — gone.
Built-in memory files like CLAUDE.md and .cursorrules help, but they have hard limits. They cap out around 200 lines, require manual curation, and do not work across agents. You end up copy-pasting the same context into every tool.
Squish gives you persistent memory for coding agents that scales without limits. No manual maintenance. No token waste. No agent lock-in.
Three Layers of Memory
| Layer | What It Does | Command |
|---|---|---|
| Recall | Durable memory — decisions, preferences, constraints that persist across sessions | squish recall |
| Sessions | Searchable history — past agent runs you can inspect for evidence and context | squish sessions search |
| Remember | Write to long-term memory — store new facts, decisions, observations | squish remember |
Token Cost Comparison
| Method | Token Usage | Cost per Session | Cross-Agent | Auto-Capture |
|---|---|---|---|---|
| Paste full context | ~2,000 tokens | $0.06 - $0.12 | No | No |
| LLM-summarized context | ~500 tokens | $0.02 - $0.05 | No | No |
| CLAUDE.md / .cursorrules | ~200 lines max | Free | No | No |
| Squish (local) | ~50-200 tokens | $0.00 | Yes | Yes |
| Squish (Cloud) | ~50-200 tokens | $0.00 | Yes | Yes |
Squish retrieves only the relevant memories for the current task. The average context injection is 50-200 tokens — a fraction of what you would paste manually.
Quick Start
Step 1: Install
npm install -g squish-memory && squish install --all
This installs the Squish CLI, MCP server, and plugin hooks for all detected agents.
Step 2: Work
Start your coding agent as usual. Squish runs in the background, auto-capturing decisions, constraints, preferences, and context.
squish remember "We chose PostgreSQL for Squish Cloud team mode" --type decision
squish recall "project decisions"
Step 3: Search Past Sessions
After a few sessions, search your agent history:
squish sessions search "postgres migration"
squish sessions related --repo-path .
Step 4: Restart
Close your session and open a new one. Your agent picks up where you left off — all context is restored automatically.
squish context # See what your agent remembers
squish stats # Check memory health
Works locally free. Paid Squish Cloud is available at squishplugin.dev for sync, dashboard, and team features.
Works with Every Agent
Squish works with any AI coding agent that supports MCP (Model Context Protocol) or HTTP connections. One memory server, shared across all of them.
| Agent | Integration Method | Notes |
|---|---|---|
| Claude Code | MCP server + plugin | Auto-captures via hooks |
| Codex CLI | MCP server | OpenAI's CLI agent |
| GitHub Copilot CLI | MCP server | VS Code integration |
| Cursor | MCP server | Editor + agent |
| Gemini CLI | MCP server | Google's CLI agent |
| OpenCode | MCP server + hooks | Auto-capture + MCP tools |
| Cline | MCP server | VS Code extension |
| Goose | MCP server | Block's agent |
| Kilo Code | MCP server | VS Code extension |
| Windsurf | MCP server | Codeium's editor |
| Roo Code | MCP server | VS Code extension |
| Claude Desktop | MCP server | Desktop app |
| Aider | MCP server | Terminal pair programmer |
| ChatGPT | MCP server (via Squish Cloud) | Cloud sync required |
| VS Code (Copilot) | MCP server | Via MCP extension |
Works with any agent that speaks MCP or HTTP. One server, memories shared across all of them.
MCP Server Configuration
Add Squish to any MCP-compatible client:
{
"mcpServers": {
"squish": {
"command": "squish-mcp",
"args": ["--http", "--port", "8767"],
"env": {
"SQUISH_DB_PATH": "./squish-data"
}
}
}
}
For cloud-connected agents:
{
"mcpServers": {
"squish-cloud": {
"type": "url",
"url": "https://api.squishplugin.dev/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
Why Squish
Most memory tools need a second LLM for embeddings and retrieval. That means extra API costs, latency, and infrastructure you have to manage.
Squish uses local embeddings by default. Zero LLM dependency. 1-5ms latency. $0 runtime cost in local mode.
Bring your own LLM if you want — Squish supports external embeddings and reasoning, but nothing requires it.
Comparison
| Feature | Squish | Built-in (CLAUDE.md) | agentmemory | mem0 |
|---|---|---|---|---|
| Auto-capture | Yes (hooks) | Manual | Yes (12 hooks) | Manual API |
| Local embeddings | Yes (default) | N/A | Yes | No (cloud) |
| External DB required | No (SQLite) | No | Yes (iii-engine) | Yes (Qdrant) |
| MCP tools | 18 | 0 | 53 | 9 |
| Knowledge graph | Yes | No | Yes | No |
| Cross-agent sync | Yes (Cloud) | No | No | API-based |
| Price | Free local / $9/mo cloud | Free | Free | $249/mo Pro |
| Setup time | 30 seconds | 5 minutes | 15 minutes | 30 minutes |
| Data ownership | Full (local SQLite) | Git repo | External DB | Cloud vendor |
Features
Memory Intelligence
- Auto-captures decisions, constraints, and preferences as you work
- Restores relevant context when an agent restarts
- Handles contradictions and temporal facts with expiration
- Graph-boosted retrieval connects related memories across sessions
- Contradiction detection flags conflicting information
- Temporal reasoning tracks when facts were true vs. now
- Confidence scoring adjusts memory relevance over time
- Decay system automatically ages low-value memories
Session Search
- Search previous Claude Code, Codex, and OpenCode sessions
- Find related sessions by project path or file overlap
- Inspect past decisions, errors, and commands as evidence
- Separate from long-term memory — raw session history, not distilled facts
Interfaces
- CLI:
squish remember,recall,inspect,context,stats,search,sessions - MCP Server: 18 tools for any MCP client — recall, health, graph, recency, maintenance
- Web UI: Local dashboard at
localhost:37777for visualizing memories - Cloud Dashboard: Paid analytics and management at squishplugin.dev
Storage
- SQLite (local, default) or Squish Cloud team workspaces
- Hybrid retrieval: keyword + semantic similarity with RRF fusion
- AES-256-GCM encryption for sensitive memories
- Places routing: organize memories by project, feature, or context
- Full-text search with BM25 ranking
- Vector search with TF-IDF embeddings (768-dimensional)
Memory Pipeline
Squish uses a 4-stage pipeline to process memories:
- Capture — Filters noisy tool output, keeps new memories private-first, and suggests what should be promoted into project/team/company scopes
- Filter — Deduplicates, resolves contradictions, scores importance
- Store — Persists to SQLite/PostgreSQL with graph relationships and embeddings
- Retrieve — Hybrid search combines keyword, semantic, recency, and importance scoring
Architecture
Three-Layer Memory Model
Storage Layer
| SQLite (default) | Squish Cloud Team |
|---|---|
| memories | memories |
| associations | associations |
| embeddings | embeddings |
| graph_edges | graph_edges |
| places | places |
| sessions | sessions |
| AES-256-GCM encryption | AES-256-GCM encryption |
Connectors
Squish connects to your existing tools and ingests context automatically:
| Connector | What It Ingests |
|---|---|
| Google Drive | Documents, sheets, slides, and files |
| GitHub | Issues, PRs, discussions, code context, and repo metadata |
| Slack | Messages, threads, channel context, and decisions |
| Notion | Pages, databases, docs, and wikis |
Connectors are available on Cloud tiers. Install with:
squish connect google-drive
squish connect github
squish connect slack
squish connect notion
Ingestion Pipeline
Squish uses a 4-stage pipeline to process content from your connectors:
- Chunk -- Splits documents into meaningful segments
- Embed -- Generates TF-IDF or external embeddings (768-dimensional vectors)
- Store -- Persists to SQLite/PostgreSQL with graph relationships
- Extract -- Builds knowledge graph with entity resolution and relationship mapping
Optional LLM-powered features (bring your own key):
- Entity extraction and relationship mapping
- Automatic memory organization and tagging
- Summarization and consolidation
Squish Cloud
Persistent memory across ChatGPT, Claude Desktop, Claude Code, and local agents. One account, synchronized everywhere.
Cloud features: OAuth 2.1 + PKCE login, cross-platform sync, team workspaces, admin dashboard, priority support.
Pricing
| Tier | Price | Features |
|---|---|---|
| Local | Free forever | SQLite, 15+ MCP tools, offline, knowledge graph, decay scoring |
| Cloud Solo | $9/mo | Everything in Local + cloud sync, 1 connector, 10K requests/mo |
| Cloud Pro | $29/mo | Cross-tool sync, 3 connectors, 50K requests/mo, shared workspaces |
| Cloud Team | $99/mo | Unlimited seats, all connectors, 200K requests/mo, RBAC, audit logs |
Sign up at squishplugin.dev -- 30 seconds, no credit card needed.
Installation Guides
- Claude Code — MCP server + plugin hooks for auto-capture
- OpenCode — MCP server + hooks for OpenCode agent
- OpenClaw — MCP server setup for OpenClaw
Quick install for all detected agents:
npm install -g squish-memory && squish install --all
Squish auto-detects which agents you have installed and configures hooks for each one.
Benchmarks
Squish is tested against real-world memory retrieval tasks and synthetic benchmarks.
| Metric | Result | Notes |
|---|---|---|
| Core Tests | 9/9 passed (100%) | All memory operations |
| LoCoMo Memory | 65% | 100 REAL questions from locomo10.json |
| Throughput | 39 ops/sec | With local embeddings |
| Total Time | 230ms | For 9 core tests |
| Package Size | 283 KB | Lightweight footprint |
| Latency (embed) | 6.6ms | Local TF-IDF embeddings |
| Latency (search) | 6.1ms | Hybrid retrieval |
Full benchmark details: docs/BENCHMARK.md
Documentation
| Document | Description |
|---|---|
| CLI Reference | All CLI commands and options |
| MCP Server | 18 MCP tools and configuration |
| Architecture | System design and data flow |
| Decay System | How memories age and lose relevance |
| Scoring | Importance and relevance scoring |
| Environment Config | Environment variables and settings |
| Plugin Architecture | Hook system and agent integration |
| Quick Start | Getting started guide |
| Agent Comparison | Squish vs other memory tools |
| Contributing | How to contribute |
| Release Notes | Changelog and version history |
FAQ
What is Squish?
Squish is a local-first memory runtime for AI coding agents. It gives your agents stable orientation, durable memory, and searchable session history across runs. Think of it as a brain that persists between sessions — your agents remember decisions, constraints, preferences, and context without you having to re-explain everything. In v1.6.0, Squish also searches past agent sessions as evidence, so agents can inspect prior work instead of starting from zero.
Does Squish require an API key?
No. Squish works locally by default with zero API keys. It uses local embeddings (TF-IDF) and SQLite storage. You can optionally configure an external LLM for enhanced reasoning, but it's not required. An API key is only needed if you want to use the paid Squish Cloud for cross-device sync.
How does Squish compare to mem0 or agentmemory?
Squish is the only option that works locally with zero external dependencies. mem0 requires Qdrant (a vector database) and cloud API calls. agentmemory requires iii-engine. Squish uses SQLite and local embeddings by default. See the full comparison in the Why Squish section above.
Can I use Squish with multiple AI agents?
Yes. Squish works with any MCP-compatible agent. One memory server is shared across Claude Code, Cursor, Codex, Copilot, Gemini CLI, and any other agent that supports MCP. Memories are available to all connected agents.
Is my data private with Squish?
Yes. In local mode, all data stays on your machine in an encrypted SQLite database. Nothing is sent to any cloud service. AES-256-GCM encryption protects sensitive memories. In cloud mode, data is encrypted in transit and at rest.
What databases does Squish support?
Squish supports SQLite (default, local) and Squish Cloud team workspaces backed by PostgreSQL. SQLite requires zero configuration. Team workspaces are only available on Squish Cloud and are used for shared memory across multiple users.
What is the difference between recall and sessions?
squish recall searches your long-term memory — distilled facts, decisions, and preferences that Squish has captured and organized. squish sessions search searches raw past agent runs — the actual messages, commands, and file changes from previous Claude Code, Codex, or OpenCode sessions. Recall gives you what the system decided to remember. Sessions give you the evidence.
Contributing
See docs/CONTRIBUTING.md for guidelines on how to contribute to Squish.
License
MIT -- see LICENSE for details.
Website · Cloud Dashboard · Documentation · GitHub · npm
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found