OMEM
Shared Memory That Never Forgets
English | 简体中文
______________________________________________________________________
问题
你的人工智能代理有健忘症,而且它们是独立工作的。
- 🧠 失忆 --每个会话都从零开始。偏好、决定、背景——都消失了。
- 🏝️ 筒仓 --您的Coder代理无法访问您的Writer代理学到的内容。
- 📁 本地锁定 --与一台机器相连的内存。切换设备,失去一切。
- 🚫 不共享 --团队特工不能分享他们所知道的。每个特工都会重新发现同样的东西。
- 🔍 愚蠢的回忆 --仅关键字匹配。没有语义理解,没有相关性排名。
- 🧩 没有集体智慧 --即使代理在同一个团队中工作,也没有共享的知识层。
我们的人解决了这一切。
我们的成员是什么
ourmem为AI代理提供了跨会话、设备、代理和团队的共享持久内存。一个API键重新连接所有内容。
🌐 网站: 我们的.ai
🧑💻 我使用AI编码工具
为您的平台安装插件。内存自动工作——您的代理在会话开始时回忆过去的上下文,并在会话结束时捕获关键信息。
→ 跳转到 快速开始
🔧 我正在构建人工智能产品
具有48个以上端点的REST API。Docker一行程序用于自部署。将持久内存嵌入到您自己的代理和工作流中。
→ 跳转到 自我部署
核心能力
🔗 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.
📖 内存管道架构 --深入了解我们的记忆是如何存储、检索和演化记忆的。
🔗 内存共享架构 --记忆如何在代理和团队之间流动:共享、来源、版本控制和跨空间搜索。
功能概述
| 类别 | 功能 | 详细信息 |
|---|---|---|
| 平台 | 4个平台 | OpenCode、Claude Code、OpenClaw、MCP服务器 |
| 共享 | 基于空间的共享 | 有来源的个人/团队/组织 |
| 来源跟踪 | 每个共享内存都有完整的谱系 | |
| 质量门控自动共享 | 创建内存时触发规则(异步、非阻塞) | |
| 支持矢量的共享副本 | 共享副本携带源矢量嵌入以进行完整搜索 | |
| 临时共享 | 重新共享返回现有副本(无重复) | |
| 版本跟踪 | 内存跟踪版本计数器,共享副本通过 ?check_stale=true | |
| 重新共享过时的副本 | 使用最新的源内容和向量刷新过时的共享副本 | |
| 便捷分享 | 一步式跨用户分享(share-to-user)和批量份额(share-all-to-user)具有自动桥接功能 | |
| 组织管理 | 一步式组织创建(org/setup)并发表(org/publish)有自动共享规则 | |
| 跨空间搜索 | 一次搜索所有可访问的空间 | |
| 摄入 | 聪明的整理 | 7个决定:创造、融合、跳过、超越、支持、竞争、反对 |
| 噪声滤波器 | 正则表达式+向量原型+反馈学习 | |
| 准入控制 | 5维评分门(实用性、置信度、新颖性、近期性、类型优先性) | |
| 双流写入 | 同步快速路径(\ *研究表明,协作记忆可以减少高达61%的冗余工作——代理停止重新发现他们的队友已经知道的东西。* |
--协作记忆,ICLR 2026
| 个人 | 团队 | 组织 | |
|---|---|---|---|
| 范围 | 一个用户,多个代理 | 多个用户 | 全公司 |
| 示例 | 程序员+作家共享偏好 | 后端团队共享拱形决策 | 技术标准、安全策略 |
| 访问 | 仅限所有者代理人 | 团队成员 | 所有组织成员(只读) |
来源跟踪共享 --每个共享的记忆都有其传承:谁共享了它,何时以及从哪里来。共享副本包括源内存的向量嵌入,因此它们在目标空间中是完全可搜索的。
质量门控自动共享 --规则按重要性、类别和标签进行过滤。当创建新的记忆时,规则会自动触发。只有高价值的见解才能跨越空间界限。
运作原理
┌──────────────────────────────────────────────────────────────────┐
│ 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 │ │
│ └────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘- 写一次,到处回忆 --内存在会话、设备和代理之间持续存在
- 随着时间的推移变得更聪明 --和解会自动合并、更新和反驳记忆
- 跨越边界共享 --个人→ Team → 具有完整来源的组织知识流
- 无手动内存管理 --Weibull衰变处理生命周期,自动共享规则处理分布
关键概念
API密钥=租户ID=您的身份
创建租户时,返回 id 是 您的API密钥。它们是相同的UUID。没有单独的“租户ID”。
curl -X POST https://api.ourmem.ai/v1/tenants -d '{"name": "alice"}'
# → {"id": "a1b2c3d4-...", "api_key": "a1b2c3d4-...", "status": "active"}
# ↑ same value ↑API密钥与空间ID
| 概念 | 它是什么 | 示例 | 有多少 |
|---|---|---|---|
| API密钥 | 你的身份。进去 X-API-Key 头球 | a1b2c3d4-... | 每位用户1个 |
| 空间ID | 内存存储地址。每个都是一个独立的数据库。 | personal/a1b2c3d4-... | 每个用户多个 |
一个API密钥拥有多个空间:
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)分享=传递API密钥
要与另一个用户共享记忆,您将其API密钥传递为 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"]}}'系统会自动在您和Bob之间创建一个桥接团队空间。无需手动管理空间。
快速开始
代理安装(推荐)
给你的AI代理发一条消息。它处理一切-API密钥,插件安装,配置,验证。
托管(ourmem.ai——无需部署):
| 平台 | 将此复制给您的代理 |
|---|---|
| 开爪 | Read https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem for OpenClaw |
| 克劳德代码 | Read https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem for Claude Code |
| 开源代码 | Read https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem for OpenCode |
| 光标/VS代码 | Read https://ourmem.ai/SKILL.md and follow the instructions to install and configure ourmem as MCP Server |
自托管(您自己的服务器):
| 平台 | 如何安装 |
|---|---|
| 开爪 | 快跑 openclaw skills install ourmem,然后告诉你的经纪人: setup ourmem in self-hosted mode |
| 克劳德代码 | Read https://raw.githubusercontent.com/ourmem/omem/main/skills/ourmem/SKILL.md and install ourmem for Claude Code, self-hosted mode |
| 开源代码 | Read https://raw.githubusercontent.com/ourmem/omem/main/skills/ourmem/SKILL.md and install ourmem for OpenCode, self-hosted mode |
就是这样。剩下的由你的经纪人处理。
技能安装(备选):
如果您更喜欢CLI安装,请直接安装ourmem技能:
npx skills add ourmem/omem --skill ourmem -g这适用于44多个AI代理,包括Claude Code、OpenCode、Cursor等。看 Vercel技能CLI 了解详情。
______________________________________________________________________
Manual Install (without agent assistance)
1.获取API密钥
主办单位:
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"}自我部署:
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 .保存返回的 api_key --这将使您从任何机器重新连接到同一内存。
2.安装插件
OpenCode: 添加 "plugin": ["@ourmem/opencode"] 到 opencode.json +配置 plugin_config 和 apiUrl 和 apiKey 在同一个文件中。
克劳德代码: /plugin marketplace add ourmem/omem +在中设置环境变量 ~/.claude/settings.json.
OpenClaw: openclaw plugins install @ourmem/ourmem +配置 openclaw.json 使用apiUrl和apiKey。
MCP(光标/VS代码/克劳德桌面):
{
"mcpServers": {
"ourmem": {
"command": "npx",
"args": ["-y", "@ourmem/mcp"],
"env": {
"OMEM_API_URL": "https://api.ourmem.ai",
"OMEM_API_KEY": "your-api-key"
}
}
}
}3.验证
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"你的代理人会得到什么
内存工具
| 工具 | 目的 |
|---|---|
memory_store | 使用智能数据整理保存事实、决策和偏好 |
memory_search | 11级混合搜索(向量+BM25+重排序器) |
memory_get | 按ID检索特定内存 |
memory_update | 修改内容、标签、重要性、层次 |
memory_delete | 删除内存 |
memory_list | 使用过滤器和分页浏览记忆 |
memory_ingest | 智能摄取完整对话(LLM提取) |
memory_profile | 自动生成的用户配置文件(静态事实+动态上下文) |
memory_stats | 分析:标签分布、衰减曲线、关系图 |
共享工具
| 工具 | 目的 |
|---|---|
space_create | 创建团队或组织空间 |
space_list | 列出所有可访问的空间 |
space_add_member | 邀请用户加入共享空间 |
memory_share | 将内存共享到任何来源的空间 |
memory_pull | 将共享内存拉入您的个人空间 |
memory_reshare | 用最新内容刷新过时的共享副本 |
便利API:share-to-user(一步式跨用户共享,自动桥接)和share-all-to-user(大宗份额)。MCP公开15个工具+1个资源。OpenCode/OpenClaw公开了11个工具和3个钩子。
智能挂钩
| 钩子 | 触发器 | 发生了什么 |
|---|---|---|
| 会话开始 | 新会话开始 | 最近的记忆+用户配置文件自动注入上下文 |
| 召回 | 会话中检测到关键字 | 相关记忆在没有明确搜索的情况下浮出水面 |
| 会话结束 | 会话结束 | 自动捕获关键决策、偏好和事实 |
| 压实 | 压缩上下文窗口 | 跨越压缩边界保留关键记忆 |
存储空间
在以下网址直观地浏览、搜索和管理您的代理人的记忆 ourmem.ai/空间 --看看记忆是如何随着时间的推移而连接、进化和衰退的。
安全与隐私
| Rust内存安全 | 没有垃圾收集器,没有数据竞争。所有权模型保证了编译时的安全性。 |
| 租户隔离 | 具有查询级租户筛选的X-API-Key身份验证。每个操作都验证所有权。 |
| 隐私保护 | ` |
| ` 标签编辑会在存储前删除敏感内容。 | |
| 加密 | 用于所有API传输的HTTPS。S3上的服务器端加密处于静止状态。 |
| 准入控制 | 5维评分门在存储前拒绝低质量数据。 |
| 开源可审计 | Apache-2.0已获得许可。审核每一行,分叉它,运行你自己的实例。 |
自我部署
# 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完整部署指南: 文档/DEPLOY.md
对象存储(可选)
默认情况下,我们的内存将数据存储在本地磁盘上。为了实现持久性和可扩展性,请配置AWS S3或任何与S3兼容的对象存储:
# 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如果两者都有OMEM_S3_BUCKET和OMEM_OSS_BUCKET如果已设置,OSS优先。
从源代码构建
两种构建模式
| 模式 | 命令 | 二进制 | 基岩 | 运行 |
|---|---|---|---|---|
| glibc(完整) | cargo build --release | 动态链接,约218MB | ✅ AWS Bedrock | 与构建主机相同的glibc版本 |
| musl(便携式) | 见下文 | 静态链接,~182MB | ❌ 仅兼容OpenAI | 任何Linux x86_64 |
glibc构建(带基岩支护)
cargo build --release -p omem-server
# Binary: target/release/omem-server
# Requires: same or newer glibc on target machinemusl静态构建(可移植,零依赖)
运行在上的单个二进制文件 任何Linux x86_64 --没有glibc,没有库,什么都没有。
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转移到任何服务器
# 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概览
| 方法 | 端点 | 描述 |
|---|---|---|
| 职位 | /v1/tenants | 创建工作区并获取API密钥 |
| 职位 | /v1/memories | 存储内存或智能摄取对话 |
| 得到 | /v1/memories/search | 11阶段混合搜索 |
| 得到 | /v1/memories | 带过滤器和分页的列表 |
| 得到 | /v1/profile | 自动生成的用户配置文件 |
| 职位 | /v1/spaces | 创建共享空间 |
| 职位 | /v1/memories/:id/share | 将内存共享到空间 |
| 职位 | /v1/files | 上传PDF/图片/视频/代码 |
| 得到 | /v1/stats | 分析和见解 |
API完整参考(48个端点以上): docs/API.md文件
文档
| 文档 | 描述 |
|---|---|
| docs/API.md文件 | 完整的REST API参考 |
| docs/PIPELINE.md | 内存管道架构——存储、检索和插件集成流程 |
| docs/SHARING.md | 内存共享架构、流程和教程 |
| 文档/DEPLOY.md | Docker和AWS部署指南 |
| docs/PLUGINS.md | 所有4个平台的插件安装 |
| 技能/我们的成员/SKILL.md | AI代理入职技能 |
许可证
阿帕奇-2.0
______________________________________________________________________
Shared Memory That Never Forgets.
ourmem.ai · GitHub
