Memory & Intelligent Knowledge
The Memory system in plugged.in provides two complementary capabilities: an Intelligent Memory architecture inspired by human cognition (v3.1.0+), and a Persistent Clipboard for key-value storage between tool invocations. Together they give AI agents the ability to learn, remember, and share knowledge across sessions.Overview
Concentric Rings
Five memory ring types inspired by how humans form and retain knowledge
Collective Best Practices
Privacy-preserving community wisdom with k-anonymity
Intelligent Forgetting
Token-based decay engine that compresses memories over time
Z-Reports
End-of-session summaries that capture key observations and decisions
Progressive Retrieval
3-layer retrieval system optimized for token efficiency
Persistent Clipboard
Named and indexed key-value storage with TTL expiration
Intelligent Memory System
Intelligent Memory was introduced in v3.1.0. It requires the pgvector PostgreSQL extension, which is automatically enabled during migration.
Concentric Memory Rings
The memory architecture uses five ring types that mirror how human cognition processes and stores information:- Fresh Memory
- Procedures
- Practice/Habits
- Long-term
- Shocks
Observation buffer — the entry point for all new memories.
- Raw observations recorded during active sessions
- Auto-classified into appropriate ring types by the memory curator agent
- Vector embeddings generated for semantic search
- Short-lived unless promoted to a higher ring
Intelligent Forgetting (Decay Engine)
Memories progressively compress over time, preserving essential knowledge while freeing token budget:| Stage | Tokens | Time to Next Stage | Description |
|---|---|---|---|
| FULL | ~500 | 7 days | Complete observation with all context |
| COMPRESSED | ~250 | 30 days | Key details preserved, context trimmed |
| SUMMARY | ~150 | 90 days | Single paragraph summary |
| ESSENCE | ~50 | 365 days | One-sentence core insight |
| FORGOTTEN | 0 | Deleted | Removed from storage |
- Shocks never decay regardless of age
- Frequently accessed memories decay slower (access resets the timer)
- Low success score memories decay faster
Progressive Retrieval (3-Layer)
Token-efficient memory access that only loads what you need:Layer 1: Search
Returns
content_essence or content_summary for each match (50-150 tokens per result). Ideal for scanning many memories quickly.Layer 2: Timeline
Adds temporal context — when the memory was created, which session, and related observations. Useful for understanding sequence of events.
Z-Reports (Session Summaries)
Inspired by retail Z-reports (end-of-day cash register summaries), Z-reports capture what happened during each session:- Summary text with key observations and outcomes
- Decisions made during the session
- Tools used and their results
- Success rate calculation (0.0 - 1.0)
- Z-reports with high success scores are eligible for promotion to long-term memory
Vector Search Infrastructure
Memory uses PostgreSQL pgvector for semantic search:- HNSW Indexing: High-recall approximate nearest neighbor search
- 1536-Dimension Embeddings: Generated via
text-embedding-3-small(OpenAI) or Gemini (Google) - Cosine Distance: Similarity metric for comparing memory embeddings
- AI Provider Abstraction: Automatic routing between available embedding providers
Collective Best Practices (CBP)
CBP is a privacy-preserving system that learns effective patterns from across the community and suggests them when relevant.How It Works
Privacy Guarantees
HMAC-SHA256 Hashing
Patterns are normalized and hashed before storage. The original pattern text is never stored in the collective pool.
k-Anonymity (k>=3)
Patterns are only surfaced as suggestions when observed independently by 3 or more unique profiles.
Feedback Loop
When a CBP pattern is suggested, users can:- Confirm: Increases the pattern’s success rate
- Reject: Decreases the pattern’s success rate and suppresses future suggestions
Memory MCP Tools
Session & Observation Tools
| Tool | Description |
|---|---|
pluggedin_memory_session_start | Start a memory session for the current interaction |
pluggedin_memory_session_end | End the session and trigger Z-report generation |
pluggedin_memory_observe | Record an observation during an active session |
pluggedin_memory_search | Search memories using progressive layer 1 retrieval |
pluggedin_memory_details | Get full memory details (layer 3) for a specific memory |
Collective Best Practices Tools
| Tool | Description |
|---|---|
pluggedin_cbp_query | Query collective best practices for relevant patterns |
pluggedin_cbp_feedback | Submit feedback (confirm/reject) on a CBP suggestion |
Persistent Clipboard
The Clipboard provides persistent key-value storage that MCP tools and AI agents can use to share data between tool invocations. With support for both named (semantic keys) and indexed (array-like) access patterns, it enables sophisticated data persistence workflows.Access Patterns
- Named Access
- Indexed Access
How it works: Store data with semantic keys for direct retrieval.Example Keys:
user_preferences, last_search_results, conversation_contextBest for:- Configuration and preferences
- Caching frequently used data
- Sharing state between tools
- Key-based lookups
Clipboard MCP Tools
Named Operations
| Tool | Description |
|---|---|
pluggedin_clipboard_set | Set or update a named clipboard entry |
pluggedin_clipboard_get | Retrieve entry by name or index |
pluggedin_clipboard_delete | Delete a specific entry |
pluggedin_clipboard_list | List all clipboard entries |
Stack Operations
| Tool | Description |
|---|---|
pluggedin_clipboard_push | Push value to indexed stack |
pluggedin_clipboard_pop | Pop and remove the most recent entry |
Data Structure
Source Types
| Source | Description |
|---|---|
ui | Created via the web interface (default) |
sdk | Created via one of the official SDKs |
mcp | Created via MCP proxy tools |
The
source field is automatically set based on how the entry was created. You cannot override this value.Content Types & Encoding
- Text Content
- Binary Content
For plain text and JSON data:Supported types:
text/plain, application/json, text/markdown, text/htmlUsage Examples
Sharing Data Between Tools
Processing Pipeline with Stack
Limits & Quotas
Entry Size
Maximum 2 MB per entry value
Default TTL
24 hours if not specified
Rate Limits
Standard API rate limits apply
Profile Scope
Entries isolated per profile
Security & Isolation
Access Control
- Profile Isolation: Each profile has its own clipboard and memory namespace
- Project Scope: Entries are associated with the current project
- CBP Privacy: Collective patterns use HMAC-SHA256 hashing with k-anonymity
- Visibility Levels:
private: Only accessible by youworkspace: Shared within your workspacepublic: Accessible via API with authentication
Data Protection
- Encryption: Content encrypted at rest (AES-256-GCM)
- TTL Enforcement: Automatic cleanup of expired entries
- Size Limits: 2 MB maximum prevents abuse
- Sanitization: Content validated before storage
- Transaction Safety: All memory operations wrapped in database transactions
Quick Start
Start a Session (via MCP)
Use
pluggedin_memory_session_start to begin tracking observations in your AI sessionRecord Observations
Use
pluggedin_memory_observe during your session to capture important patterns and decisionsAPI Reference
Memory Endpoints
Clipboard Endpoints
Next Steps
v3.1.0 Release Notes
Full details on the intelligent memory release
API Reference
Complete clipboard API documentation
JavaScript SDK
Clipboard methods in JavaScript
Python SDK
Clipboard methods in Python

