封闭的生态
ChatGPT 记忆、Claude 记忆,每一个都是孤立的。你在一个工具中建立的知识永远无法被另一个工具使用。
羽忆为您的所有 AI Agent 提供一个统一的、持久化的记忆层,部署在您自己的基础架构上,数据完全由您掌控,所有工具共享。
# Write a memory from any agent
$ curl -X POST https://memory.local/v1/memories \
-H "Authorization: Bearer mk-..." \
-d '{
"content": "All API responses follow {code, message, data}",
"memoryType": "project_rule",
"scope": { "projectId": "p_demo" }
}'
{
"code": "CREATED",
"data": {
"id": "mem_a1b2c3d4",
"memoryType": "project_rule",
"importance": 0.9,
"status": "active"
}
}
# Recall context for a task from any other agent
$ curl -X POST https://memory.local/v1/recall \
-d '{ "task": "Implement user registration", "maxTokens": 2000 }'ChatGPT 记忆、Claude 记忆,每一个都是孤立的。你在一个工具中建立的知识永远无法被另一个工具使用。
切换模型、切换客户端或者开始新会话,你所建立的一切都会消失。Agent 每次都在从零开始。
你无法审计存储了什么,无法精细删除指定记忆,也无法迁移数据。你的知识存放在别人的服务器上。
记忆在传统上常常作为依附于应用层面的一项产品特性存在。构建独立的基础设施层,才是解决数据持久化和跨模型协同的关键。
记忆只属于你。私有化部署、自主管理、支持全量导出和物理删除。无需任何外部账号。
第一阶段只在你允许时写入。自动写入必须是选择加入的,并且永远透明、可逆转。
Stable Memory 存储提炼后的事实,History Recall 存储过程上下文。将二者混为一谈会严重破坏召回质量。
不绑定任何厂商原生的记忆 API。可以接入任何 LLM 或向量模型。某个 Agent 挂了,核心基础设施依然运转。
系统召回管线会输出受 Token 预算约束的信息块,直接供大模型注入上下文,在机制上区别于传统文档检索。
优先交付最小可验证的全链路闭环。在经受考验的基础上渐进增加复杂度,而不是在未经验证的地基上堆砌特性。
每个适配器只负责把用户意图映射为标准 API 调用。所有业务逻辑都在服务端闭环,接入新 Agent 只需新增适配器。
第三层回答的是这值不值得存、该落哪一层、召回时什么能进上下文。它是调度中心,而不是单纯的数据库代理。
向量检索和词法检索独立容灾。没有 Embedding Provider 就回退纯词法,zhparser 不可用也不会让整条管线失效。
每次写入都会先过一条三阶段决策链。硬规则会最先执行,而且 不能 被 LLM 覆盖。模型只负责辅助判断,规则兜底永远存在。
Recall Orchestrator 会经过八个步骤,最终生成 RecallContextBlock。它不是简单的检索结果列表,而是已经压缩、 去重、受 Token 预算约束、可以直接注入 Agent 上下文的记忆块。
prefer 模式分配 Token 预算:所有接口统一返回 { code, message, data, httpStatus, timestamp } 结构。错误响应使用稳定的 MEM-* 业务码,而不是直接把 HTTP 状态文本暴露给接入层。
// Request body
{
"content": "All backend APIs return {code, message, data}",
"title": "Response format convention",
"memoryType": "project_rule",
"scope": { "projectId": "p_demo" },
"semanticKey": "p_demo:rule:api_response_format",
"importance": 0.9
}
// Response 201
{
"code": "CREATED",
"data": { "id": "mem_a1b2c3d4", "status": "active", "version": 1 }
}{
"content": "Completed user auth module. MailCodeService handles TTL.",
"recordKind": "task_summary",
"scope": { "projectId": "p_demo" },
"ttlPolicy": "365d"
}MEM-AUTH*认证与授权错误MEM-MEM*记忆读写错误MEM-RECALL*召回管线错误MEM-JUDGE*Judge / LLM Provider 错误MEM-SEARCH*Embedding 与检索错误MEM-SYS*系统与参数校验错误git clone https://github.com/plumememory/memory-deploy
cd memory-deploycp .env.example .env
# Set required variables:
MEMORY_BOOTSTRAP_ADMIN_USERNAME=admin
MEMORY_BOOTSTRAP_ADMIN_PASSWORD=change-me-now
POSTGRES_PASSWORD=your-db-password# Development
docker compose -f docker-compose.dev.yml up -d
# Production (with TLS via Caddy/Nginx)
docker compose -f docker-compose.prod.yml up -dbash verify-mvp.sh
# ✓ Write stable memory
# ✓ Write history record
# ✓ Task recall
# ✓ Cross-agent read
# ✓ Delete & temporary modeMEMORY_EMBEDDING_ENABLED=true
MEMORY_EMBEDDING_API_KEY=sk-...
MEMORY_EMBEDDING_MODEL=text-embedding-3-smallMEMORY_JUDGE_LLM_ENABLED=true
MEMORY_LLM_API_KEY=sk-...
MEMORY_LLM_MODEL=gpt-4o-mini
MEMORY_LLM_BASE_URL=https://api.openai.com/v1