Memento v1.0: Local Persistent Memory for AI Coding Agents

What Memento v1.0 Does
Memento v1.0 provides a local-first persistent memory layer for AI coding agents. Everything runs on your machine — embeddings, storage, and search — with no cloud requirements or API keys needed after setup.
Key Technical Details
Embeddings: Uses all-MiniLM-L6-v2 via @xenova/transformers (384 dimensions) running fully offline. Optional cloud embeddings via environment variables for OpenAI (text-embedding-3-small) or Gemini (embedding-001).
Storage: Local JSON + HNSW index by default. Optional ChromaDB or Neo4j support.
Search: HNSW index for approximate nearest neighbor search (<50ms on 2000+ memories). Full BM25 implementation with k1=1.2, b=0.75 for keyword search. Hybrid mode combining 70% cosine similarity + 30% BM25.
Deduplication: SHA-256 + 0.92 cosine threshold.
Resilience features: Circuit breaker, write-ahead log, LRU cache.
Memory management: 347-day exponential decay on importance scores.
Setup and Usage
Install with: npx memento-memory setup
Migration tool: memory_migrate re-embeds your entire store when switching embedding providers — no data loss.
IDE Support and Tools
Multi-IDE compatibility: Claude Code, Cursor, Windsurf, OpenCode — all share the same local store.
17 MCP tools across save/recall/search/export/import/ingest/compact/graph/session lifecycle.
Privacy and Licensing
Zero telemetry — your architectural decisions and code patterns never leave your machine. Works without internet after setup. AGPL-3.0 licensed and self-hostable in one command.
📖 Read the full source: r/LocalLLaMA
👀 See Also

ApexClaw: Open-Source Telegram AI Agent with 85+ Tools for Web Automation, Voice, and Email
ApexClaw is an open-source Telegram AI agent written in Go that provides 85+ built-in tools including web browsing with headless Chrome, voice note processing, Gmail integration, and shell script execution. It's self-hosted and uses the z.ai engine for reasoning.

Custom GIF Spinner for Claude Code via COLR Font Conversion
A developer created a method to replace Claude Code's default spinner with any animated GIF by converting the GIF into an OpenType COLR color font and patching the spinner to cycle through glyphs representing each frame. The tool currently supports Windows with macOS/Linux versions planned.

Custom status line for Claude Code shows context usage, rate limits, and token counts at a glance
A custom script adds a persistent status line to Claude Code, displaying context %, 5-hour rate limit %, KV cache reads, cumulative input/output tokens, model name, and working directory — color-coded for dark terminals.

Approval Boundary Tool for Claude Code Repository Work
A developer built an approval boundary tool that adds a review step before local execution when using Claude Code for repository work. The tool follows a loop: see the plan first, approve once, let the run happen locally, and keep proof afterward.