AI代理本地持久化内存服务

Smriti是一个基于MCP的本地优先AI代理持久化内存解决方案,通过sqlite-vec和本地嵌入模型实现语义搜索功能,无需云端依赖且完全免费。

  • by moltizmo
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 moltizmo/smriti

使用说明

死亡

通过MCP为AI代理提供本地第一持久内存。

Smriti("2381; 2350; said)-梵语,意为“记忆,回忆”

一个大脑。每个特工。零云。零成本。

这是什么?

由以下支持的独立MCP服务器 sqlite-vc 以及局部嵌入模型。安装它,将任何兼容MCP的代理指向它,你使用的每个AI都共享一个持久的、语义上可搜索的内存。

Smriti 云替代方案
设置 npx smriti 账户+API密钥+配置
成本 $0 变量
隐私 100%本地 外部服务器上的数据
离线 功能齐全 需要互联网
可移植性 单身 .db file 数据库导出/迁移

安装

npm install -g smriti

用法

# MCP server — stdio mode (for Claude Code, Cursor, etc.)
smriti

# MCP server — HTTP mode (for remote agents)
smriti --http --port 3838

CLI快速参考

# Capture a memory
smriti capture "We chose PostgreSQL over MySQL for the new service"

# Semantic search
smriti search "database decisions"

# Browse recent memories (last 7 days)
smriti recall --days 7

# Browse by topic
smriti recall "authentication"

# Batch-extract memories from a conversation or document
smriti ingest --text "Long meeting notes or conversation log..." --threshold 0.4

# Memory stats
smriti stats

# Sync to GitHub (requires: smriti auth)
smriti sync

# GitHub auth
smriti auth
smriti whoami
smriti logout

MCP客户端配置

克劳德代码

添加 ~/.claude/mcp.json:

{
  "mcpServers": {
    "memory": {
      "command": "smriti"
    }
  }
}

光标

添加到MCP设置:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["smriti"]
    }
  }
}

任何MCP客户端(HTTP模式)

smriti --http --port 3838

然后将您的客户指向 http://localhost:3838/mcp.

工具

工具 说明
capture 使用自动提取的元数据存储想法
search 语义搜索——通过意义找到想法
recall 使用过滤器浏览最近的回忆
forget 按ID删除特定内存
context 获取主题的结构化上下文包
stats 记忆模式和见解

资源

URI 描述
memory://recent 最后24小时的思考
memory://topics 带有计数的主题索引
memory://people 被提及的人+背景
memory://stats 总体内存统计

提示

名称 描述
brain-dump 引导式捕获会话
weekly-review 周末综合
migrate 从其他来源导入内存

配置

Config住在 ~/.smriti/config.json:

{
  "db_path": "~/.smriti/brain.db",
  "embedding": {
    "provider": "onnx",
    "model": "Xenova/all-MiniLM-L6-v2"
  },
  "extraction": {
    "provider": "rules"
  },
  "server": {
    "transport": "stdio",
    "port": 3838
  }
}

运作原理

  1. 您(或代理人)致电 capture 用文本
  2. Smriti在本地生成矢量嵌入(通过ONNX生成全MiniLM-L6-v2)
  3. 基于正则表达式的提取提取出人员、主题、操作,并对类型进行分类
  4. 所有内容都存储在一个SQLite文件中,并使用SQLite-vec进行矢量搜索
  5. search 通过语义相似性而不仅仅是关键字来查找想法
  6. 所有数据都保留在您的计算机上,没有任何数据离开本地主机

许可证

麻省理工学院