How markgatcha/memos works
MemOS is a local-first persistent memory system for AI agents, centered on a shared SQLite store. The main workflow is an agent or application storing memories through the SDK, then searching and retrieving them across sessions; CLI, MCP, and HTTP are alternate access surfaces. Retrieval combines hybrid search with trust/provenance and can produce cited context packs. Other documented capabilities include ingestion, temporal and graph memory, import/export, image memory, and framework adapters. The graph uses README claims and source-index references; several feature implementations were not sampled, so their internal links are omitted.
Main entry points: memory.ts Memory operations · index.ts TypeScript SDK · retrieval.ts Hybrid retrieval · main.py Python server
Components 20
Access surfaces
- TypeScript SDK
src/index.ts - CLI
src/cli.ts - MCP server
src/mcp.ts - Python HTTP API
memos/server/routes.py - Python server
memos/server/main.py
Memory lifecycle
- Memory operations
src/memory.ts - File ingestion
src/ingest.ts - Temporal memory
src/temporal.ts - Graph memory
src/graph.ts - Trust and provenance
src/provenance.ts
Recall and context
- Hybrid retrieval
src/retrieval.ts - Embedding providers
src/embeddings.ts - Context packs
src/context-pack.ts - Citations
src/citations.ts
Local persistence
- SQLite store
src/storage/sqlite.ts
Adapters and extensions
- Memory import/export
src/external-import.ts - Image memory
src/vision/clip.ts - Framework adapters
src/adapters
Other components
- AI agent
- Application
Connections 22
- AI agent → TypeScript SDK: uses
README.md - Application → TypeScript SDK: uses
README.md - TypeScript SDK → Memory operations: exposes
src/index.ts - Memory operations → Hybrid retrieval: delegates search
src/memory.ts - Memory operations → SQLite store: persists memories
src/memory.ts - Memory operations → Memory import/export: imports data
src/memory.ts - Memory operations → Embedding providers: uses embeddings
src/memory.ts - Memory operations → Context packs: builds packs
src/memory.ts - File ingestion → Memory operations: stores chunks
src/ingest.ts - Hybrid retrieval → Trust and provenance: weights provenance
src/retrieval.ts - Trust and provenance → Citations: creates tokens
src/provenance.ts - Hybrid retrieval → Embedding providers: uses vectors
- CLI → Memory operations: accesses
- MCP server → Memory operations: accesses
- Python HTTP API → Python server: routes through
memos/server/main.py - Python server → Memory operations: bridges requests
- TypeScript SDK → File ingestion: offers ingest
src/index.ts - TypeScript SDK → Temporal memory: offers time search
src/index.ts - TypeScript SDK → Graph memory: offers graph memory
src/index.ts - TypeScript SDK → Image memory: offers image search
README.md - TypeScript SDK → Framework adapters: supports integrations
README.md - TypeScript SDK → Memory import/export: supports portability
README.md