omem

by ourmemVerified

Shared Memory That Never Forgets — persistent memory for AI agents with Space-based sharing across agents and teams. Plugins for OpenCode, Claude Code, OpenClaw, MCP Server.

172
Stars
9
Forks
Rust
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/ourmem/omem

Getting Started

Guides for using skills like omem.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

OMEM
Shared Memory That Never Forgets

License Hosted Stars

English | 简体中文


The Problem

Your AI agents have amnesia — and they work alone.

  • 🧠 Amnesia — every session starts from zero. Preferences, decisions, context — all gone.
  • 🏝️ Silos — your Coder agent can't access what your Writer agent learned.
  • 📁 Local lock-in — memory tied to one machine. Switch devices, lose everything.
  • 🚫 No sharing — team agents can't share what they know. Every agent re-discovers the same things.
  • 🔍 Dumb recall — keyword match only. No semantic understanding, no relevance ranking.
  • 🧩 No collective intelligence — even when agents work on the same team, there's no shared knowledge layer.

ourmem fixes all of this.

What is ourmem

ourmem gives AI agents shared persistent memory — across sessions, devices, agents, and teams. One API key reconnects everything.

🌐 Website: ourmem.ai

🧑‍💻 I use AI coding tools

Install the plugin for your platform. Memory works automatically — your agent recalls past context on session start and captures key info on session end.

→ Jump to Quick Start

🔧 I'm building AI products

REST API with 48+ endpoints. Docker one-liner for self-deploy. Embed persistent memory into your own agents and workflows.

→ Jump to Self-Deploy

Core Capabilities

🔗 Shared Across Boundaries

Three-tier Spaces — Personal, Team, Organization — let knowledge flow across agents and teams with full provenance tracking.

🧠 Never Forget

Weibull decay model manages the memory lifecycle — core memories persist, peripheral ones gracefully fade. No manual cleanup.

🔍 Deep Understanding

11-stage hybrid retrieval: vector search, BM25, RRF fusion, cross-encoder reranking, and MMR diversity for precise recall.

⚡ Smart Evolution

7-decision reconciliation — CREATE, MERGE, SUPERSEDE, SUPPORT, CONTEXTUALIZE, CONTRADICT, or SKIP — makes memories smarter over time.

📖 Memory Pipeline Architecture — Technical deep-dive into how ourmem stores, retrieves, and evolves memories.

🔗 Memory Sharing Architecture — How memories flow across agents and teams: sharing, provenance, versioning, and cross-space search.

Feature Overview

CategoryFeatureDetails
Platforms4 platformsOpenCode, Claude Code, OpenClaw, MCP Server
SharingSpace-based sharingPersonal / Team / Organization with provenance
Provenance trackingEvery shared memory carries full lineage
Quality-gated auto-sharingRules fire on memory creation (async, non-blocking)
Vector-enabled shared copiesShared copies carry source vector embeddings for full search
Idempotent sharingRe-sharing returns existing copy (no duplicates)
Version trackingMemories track version counter, shared copies detect staleness via ?check_stale=true
Re-share stale copiesRefresh outdated shared copies with latest source content and vector
Convenience sharingOne-step cross-user share (share-to-user) and bulk share (share-all-to-user) with auto-bridging
Organization managementOne-step org creation (org/setup) and publish (org/publish) with auto-share rules
Cross-space searchSearch across all accessible spaces at once
IngestionSmart dedup7 decisions: CREATE, MERGE, SKIP, SUPERSEDE, SUPPORT, CONTEXTUALIZE, CONTRADICT
Noise filterRegex + vector prototypes + feedback learning
Admission control5-dimension scoring gate (utility, confidence, novelty, recency, type prior)
Dual-stream writeSync fast path (<50ms) + async LLM extraction
Post-import intelligenceBatch import → async LLM re-extraction + relation discovery
Adaptive import strategyAuto/atomic/section/document — heuristic content type detection
Content fidelityOriginal text preserved, dual-path search (vector + BM25 on source text)
Cross-reconcileDiscover relations between memories via vector similarity
Batch self-dedupLLM deduplicates facts within same import batch
Privacy protection<private> tag redaction before storage
Retrieval11-stage pipelineVector + BM25 → RRF → reranker → decay → importance → MMR diversity
User ProfileStatic facts + dynamic context, <100ms
Retrieval tracePer-stage explainability (input/output/score/duration)
LifecycleWeibull decayTier-specific β (Core=0.8, Working=1.0, Peripheral=1.3)
Three-tier promotionPeripheral ↔ Working ↔ Core with access-based promotion
Auto-forgettingTTL detection for time-sensitive info ("tomorrow", "next week")
Multi-modalFile processingPDF, image OCR, video transcription, code AST chunking
GitHub connectorReal-time webhook sync for code, issues, PRs
DeployOpen sourceApache-2.0
Self-hostableSingle binary, Docker one-liner, ~$5/month
musl static buildZero-dependency binary for any Linux x86_64
Object storageAWS S3 or any S3-compatible storage, with IAM role support
Hosted optionourmem.ai — nothing to deploy

From Isolated Agents to Collective Intelligence

Most AI memory systems trap knowledge in silos. ourmem's three-tier Space architecture enables knowledge flow across agents and teams — with provenance tracking and quality-gated sharing.

Research shows collaborative memory reduces redundant work by up to 61% — agents stop re-discovering what their teammates already know. — Collaborative Memory, ICLR 2026

PersonalTeamOrganization
ScopeOne user, multiple agentsMultiple usersCompany-wide
ExampleCoder + Writer share preferencesBackend team shares arch decisionsTech standards, security policies
AccessOwner's agents onlyTeam membersAll org members (read-only)

Provenance-tracked sharing — every shared memory carries its lineage: who shared it, when, and where it came from. Shared copies include the source memory's vector embedding, so they're fully searchable in the target space.

Quality-gated auto-sharing — rules filter by importance, category, and tags. Rules fire automatically when new memories are created. Only high-value insights cross space boundaries.

How It Works

┌──────────────────────────────────────────────────────────────────┐
│   Your AI Agent (OpenCode / Claude Code / OpenClaw / Cursor)     │
│                                                                  │
│   Session Start → auto-recall relevant memories                  │
│   During Work   → keyword detection triggers recall              │
│   Session End   → auto-capture decisions, preferences, facts     │
└───────────────────────────┬──────────────────────────────────────┘
                            │ REST API (X-API-Key)
                            ▼
┌──────────────────────────────────────────────────────────────────┐
│                       ourmem Server                              │
│                                                                  │
│  ┌─ Smart Ingest ─────────────────────────────────────────────┐  │
│  │  Messages → LLM extraction → noise filter → admission      │  │
│  │  → 7-decision reconciliation (CREATE / MERGE / SUPERSEDE / │  │
│  │    SUPPORT / CONTEXTUALIZE / CONTRADICT / SKIP)            │  │
│  │  → cross-reconcile relations → privacy redaction           │  │
│  └────────────────────────────────────────────────────────────┘  │
│                                                                  │
│  ┌─ Hybrid Search (11 stages) ────────────────────────────────┐  │
│  │  Vector + BM25 → RRF fusion → cross-encoder reranker       │  │
│  │  → Weibull decay boost → importance scoring                │  │
│  │  → MMR diversity → parallel cross-space aggregation        │  │
│  └────────────────────────────────────────────────────────────┘  │
│                                                                  │
│  ┌─ Sharing Engine ───────────────────────────────────────────┐  │
│  │  Personal / Team / Organization spaces                     │  │
│  │  → provenance tracking → version-based stale detection     │  │
│  │  → auto-share rules → one-step share-to-user              │  │
│  └────────────────────────────────────────────────────────────┘  │
│                                                                  │
│  ┌─ Lifecycle ────────────────────────────────────────────────┐  │
│  │  Weibull decay (Core β=0.8 / Working β=1.0 / Peripheral   │  │
│  │  β=1.3) → 3-tier promotion → auto-forgetting TTL          │  │
│  └────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────┘
  • Write once, recall everywhere — memories persist across sessions, devices, and agents
  • Gets smarter over time — reconciliation merges, updates, and contradicts memories automatically
  • Share across boundaries — Personal → Team → Organization knowledge flow with full provenance
  • No manual memory management — Weibull decay handles lifecycle, auto-share rules handle distribution

Key Concepts

API Key = Tenant ID = Your Identity

When you create a tenant, the returned id is your API Key. They're the same UUID. There is no separate "tenant ID".

curl -X POST https://api.ourmem.ai/v1/tenants -d '{"name": "alice"}'
# → {"id": "a1b2c3d4-...", "api_key": "a1b2c3d4-...", "status": "active"}
#          ↑ same value ↑

API Key vs Space ID

ConceptWhat it isExampleHow many
API KeyYour identity. Goes in X-API-Key header.a1b2c3d4-...1 per user
Space IDA memory storage address. Each is an isolated database.personal/a1b2c3d4-...Multiple per user

One API Key owns multiple Spaces:

API Key "a1b2c3d4"
  │
  ├── personal/a1b2c3d4     ← auto-created, your private memories
  ├── team/e5f6g7h8          ← team space you created (you = Admin)
  ├── team/i9j0k1l2          ← team space you were invited to (you = Member)
  └── org/m3n4o5p6           ← organization you joined (you = Reader)

Sharing = Passing Your API Key

To share memories with another user, you pass their API Key as target_user:

# Share all your preferences to user Bob
curl -X POST https://api.ourmem.ai/v1/memories/share-all-to-user \
  -H "X-API-Key: your-api-key" \
  -d '{"target_user": "bobs-api-key", "filters": {"categories": ["preference"]}}'

The system automatically creates a bridging Team Space between you and Bob. No manual space management needed.

Quick Start

Agent Install (recommended)

One message to your AI agent. It handles everything — API key, plugin install, config, verification.

Hosted (ourmem.ai — nothing to deploy):

PlatformCopy this to your agent
OpenClawRead https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem for OpenClaw
Claude CodeRead https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem for Claude Code
OpenCodeRead https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem for OpenCode
Cursor / VS CodeRead https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem as MCP Server

Self-hosted (your own server):

PlatformHow to install
OpenClawRun openclaw skills install ourmem, then tell your agent: setup ourmem in self-hosted mode
Claude CodeRead https://raw.githubusercontent.com/ourmem/omem/main/skills/ourmem/SKILL.md and install ourmem for Claude Code, self-hosted mode
OpenCodeRead https://raw.githubusercontent.com/ourmem/omem/main/skills/ourmem/SKILL.md and install ourmem for OpenCode, self-hosted mode

That's it. Your agent handles the rest.

Skill Install (alternative):

If you prefer CLI installation, install the ourmem skill directly:

npx skills add ourmem/omem --skill ourmem -g

This works with 44+ AI agents including Claude Code, OpenCode, Cursor, and more. See Vercel Skills CLI for details.


Manual Install (without agent assistance)

1. Get an API Key

Hosted:

curl -sX POST https://api.ourmem.ai/v1/tenants \
  -H "Content-Type: application/json" \
  -d '{"name": "my-workspace"}' | jq .
# → {"id": "xxx", "api_key": "xxx", "status": "active"}

Self-deploy:

docker run -d -p 8080:8080 -e OMEM_EMBED_PROVIDER=bedrock ghcr.io/ourmem/omem-server:latest
curl -sX POST http://localhost:8080/v1/tenants \
  -H "Content-Type: application/json" \
  -d '{"name": "my-workspace"}' | jq .

Save the returned api_key — this reconnects you to the same memory from any machine.

2. Install Plugin

OpenCode: Add "plugin": ["@ourmem/opencode"] to opencode.json + configure plugin_config with apiUrl and apiKey in the same file.

Claude Code: /plugin marketplace add ourmem/omem + set env vars in ~/.claude/settings.json.

OpenClaw: openclaw plugins install @ourmem/ourmem + configure openclaw.json with apiUrl and apiKey.

MCP (Cursor / VS Code / Claude Desktop):

{
  "mcpServers": {
    "ourmem": {
      "command": "npx",
      "args": ["-y", "@ourmem/mcp"],
      "env": {
        "OMEM_API_URL": "https://api.ourmem.ai",
        "OMEM_API_KEY": "your-api-key"
      }
    }
  }
}

3. Verify

curl -sX POST "$OMEM_API_URL/v1/memories" \
  -H "X-API-Key: $OMEM_API_KEY" -H "Content-Type: application/json" \
  -d '{"content": "I prefer dark mode", "tags": ["preference"]}'

curl -s "$OMEM_API_URL/v1/memories/search?q=dark+mode" -H "X-API-Key: $OMEM_API_KEY"

What Your Agent Gets

Memory Tools

ToolPurpose
memory_storeSave facts, decisions, preferences with smart dedup
memory_search11-stage hybrid search (vector + BM25 + reranker)
memory_getRetrieve a specific memory by ID
memory_updateModify content, tags, importance, tier
memory_deleteRemove a memory
memory_listBrowse memories with filters and pagination
memory_ingestSmart-ingest full conversations (LLM extraction)
memory_profileAuto-generated user profile (static facts + dynamic context)
memory_statsAnalytics: tag distribution, decay curves, relation graphs

Sharing Tools

ToolPurpose
space_createCreate Team or Organization spaces
space_listList all accessible spaces
space_add_memberInvite users to a shared space
memory_shareShare a memory to any space with provenance
memory_pullPull a shared memory into your personal space
memory_reshareRefresh stale shared copies with latest content

Convenience APIs: share-to-user (one-step cross-user share with auto-bridging) and share-all-to-user (bulk share). MCP exposes 15 tools + 1 resource. OpenCode/OpenClaw expose 11 tools + 3 hooks.

Smart Hooks

HookTriggerWhat Happens
SessionStartNew session beginsRecent memories + user profile auto-injected into context
KeywordRecallKeyword detected mid-sessionRelevant memories surfaced without explicit search
SessionEndSession endsKey decisions, preferences, and facts auto-captured
CompactionContext window compressedCritical memories preserved across compaction boundaries

Memory Space

Browse, search, and manage your agent's memories visually at ourmem.ai/space — see how memories connect, evolve, and decay over time.

Security & Privacy

Rust Memory SafetyNo garbage collector, no data races. Ownership model guarantees safety at compile time.
Tenant IsolationX-API-Key auth with query-level tenant filtering. Every operation verifies ownership.
Privacy Protection<private> tag redaction strips sensitive content before storage.
EncryptionHTTPS for all API transit. Server-side encryption at rest on S3.
Admission Control5-dimension scoring gate rejects low-quality data before storage.
Open Source AuditableApache-2.0 licensed. Audit every line, fork it, run your own instance.

Self-Deploy

# Minimal (BM25 search only, no embedding API needed)
docker run -d -p 8080:8080 ghcr.io/ourmem/omem-server:latest

# With Bedrock embedding (recommended, needs AWS credentials)
docker run -d -p 8080:8080 \
  -e OMEM_EMBED_PROVIDER=bedrock \
  -e AWS_REGION=us-east-1 \
  ghcr.io/ourmem/omem-server:latest

# With OpenAI-compatible embedding
docker run -d -p 8080:8080 \
  -e OMEM_EMBED_PROVIDER=openai-compatible \
  -e OMEM_EMBED_API_KEY=sk-xxx \
  ghcr.io/ourmem/omem-server:latest

Full deployment guide: docs/DEPLOY.md

Object Storage (Optional)

By default ourmem stores data on local disk. For durability and scalability, configure AWS S3 or any S3-compatible object storage:

# Add to your environment
OMEM_S3_BUCKET=your-bucket            # enables s3:// scheme
AWS_ENDPOINT_URL=https://s3.amazonaws.com
AWS_REGION=us-east-1

# Alternative: OSS-compatible storage
OMEM_OSS_BUCKET=your-bucket           # enables oss:// scheme
OSS_ENDPOINT=https://oss-xx-internal.aliyuncs.com
OSS_ACCESS_KEY_ID=your-ak             # or use ECS RAM role (auto-discovered)
OSS_ACCESS_KEY_SECRET=your-sk

If both OMEM_S3_BUCKET and OMEM_OSS_BUCKET are set, OSS takes priority.

Build from Source

Two build modes

ModeCommandBinaryBedrockRuns on
glibc (full)cargo build --releaseDynamic linked, ~218MB✅ AWS BedrockSame glibc version as build host
musl (portable)See belowStatic linked, ~182MB❌ OpenAI-compatible onlyAny Linux x86_64

glibc build (with Bedrock support)

cargo build --release -p omem-server
# Binary: target/release/omem-server
# Requires: same or newer glibc on target machine

musl static build (portable, zero dependencies)

Single binary that runs on any Linux x86_64 — no glibc, no libraries, nothing.

rustup target add x86_64-unknown-linux-musl

RUSTFLAGS="-C target-feature=+crt-static -C relocation-model=static" \
  cargo build --release --target x86_64-unknown-linux-musl \
  -p omem-server --no-default-features

# Binary: target/x86_64-unknown-linux-musl/release/omem-server
# Statically linked, runs anywhere

Note: The musl build uses --no-default-features which excludes AWS Bedrock support. Use OMEM_EMBED_PROVIDER=openai-compatible (e.g. DashScope, OpenAI) instead. This is because aws-lc-sys (AWS crypto library) crashes on musl static linking due to dlopen(NULL) incompatibility (aws-c-cal#213), and Rust's default static-pie output segfaults with musl-gcc (rust-lang/rust#95926).

Transfer to any server

# Compress
gzip -c target/x86_64-unknown-linux-musl/release/omem-server > omem-server.gz

# Copy to server
scp omem-server.gz user@server:/opt/

# Run (no dependencies needed)
ssh user@server "gunzip /opt/omem-server.gz && chmod +x /opt/omem-server && /opt/omem-server"

API at a Glance

MethodEndpointDescription
POST/v1/tenantsCreate workspace & get API key
POST/v1/memoriesStore memory or smart-ingest conversation
GET/v1/memories/search11-stage hybrid search
GET/v1/memoriesList with filters & pagination
GET/v1/profileAuto-generated user profile
POST/v1/spacesCreate shared space
POST/v1/memories/:id/shareShare memory to a space
POST/v1/filesUpload PDF / image / video / code
GET/v1/statsAnalytics & insights

Full API reference (48+ endpoints): docs/API.md

Documentation

DocumentDescription
docs/API.mdComplete REST API reference
docs/PIPELINE.mdMemory pipeline architecture — storage, retrieval, and plugin integration flows
docs/SHARING.mdMemory sharing architecture, flows, and tutorials
docs/DEPLOY.mdDocker & AWS deployment guide
docs/PLUGINS.mdPlugin installation for all 4 platforms
docs/TWEETCLAW_OPENCLAW.mdOpenClaw workflow for storing TweetClaw X/Twitter research decisions in ourmem
skills/ourmem/SKILL.mdAI agent onboarding skill

License

Apache-2.0


Shared Memory That Never Forgets.
ourmem.ai · GitHub

Frequently Asked Questions

What is omem?

omem is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ourmem. Shared Memory That Never Forgets — persistent memory for AI agents with Space-based sharing across agents and teams. Plugins for OpenCode, Claude Code, OpenClaw, MCP Server. It has 172 GitHub stars.

Is omem safe to use?

Yes. omem passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install omem?

Clone the repository with "git clone https://github.com/ourmem/omem" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is omem written in?

omem is primarily written in Rust. It is open-source under ourmem on GitHub, so you can review or fork the full source.

Are there alternatives to omem?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh omem against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI Agents
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details