ESC
入门指南 安装

安装

快速安装

pip install robotmem

这将安装带有 ONNX 向量嵌入支持的核心库(纯 CPU,无需外部服务)。

系统要求

依赖 版本 说明
Python >= 3.10 必需
SQLite >= 3.35 Python 自带;3.43+ 启用 contentless_delete 优化
fastembed >= 0.4 自动安装;ONNX 向量嵌入(~67MB 模型,自动下载)
sqlite-vec >= 0.1.6 自动安装;向量搜索扩展
mcp >= 1.0 自动安装;Model Context Protocol SDK

可选依赖

# Web 管理界面
pip install robotmem[web]

# Ollama 向量嵌入后端(替代 ONNX)
pip install robotmem[ollama]

# CJK(中日韩)全文搜索
pip install robotmem[cjk]

# 开发(测试)
pip install robotmem[dev]

作为 MCP 服务器运行

Claude Code

添加到 Claude Code MCP 设置(~/.claude/settings.json):

{
  "mcpServers": {
    "robotmem": {
      "command": "python",
      "args": ["-m", "robotmem"]
    }
  }
}

Claude Desktop

添加到 Claude Desktop 的配置文件:

{
  "mcpServers": {
    "robotmem": {
      "command": "python",
      "args": ["-m", "robotmem"]
    }
  }
}

直接 Python 导入

from robotmem import learn, recall, save_perception, start_session, end_session

注意:直接导入时,函数是 MCP 工具相同逻辑的轻量包装。

运行 Web 界面

# 默认: http://127.0.0.1:6889
python -m robotmem web

# 自定义端口
python -m robotmem web --port 8080

# 自定义主机(暴露到网络)
python -m robotmem web --host 0.0.0.0 --port 6889

Web 界面提供: - 记忆浏览器,支持分页和过滤 - 跨所有记忆的全文搜索 - 会话时间线视图 - 集合管理 - 健康诊断(/api/doctor

验证安装

1. 检查 MCP 服务器

python -m robotmem
# 应启动 MCP 服务器(等待 stdio 输入)
# 按 Ctrl+C 退出

2. 检查 Web 界面

python -m robotmem web
# 在浏览器中打开 http://127.0.0.1:6889
# 访问 http://127.0.0.1:6889/api/doctor 进行健康检查

3. 检查向量嵌入

from robotmem.embed_onnx import FastEmbedEmbedder
import asyncio

emb = FastEmbedEmbedder()
ok = asyncio.run(emb.check_availability())
print(f"ONNX 向量嵌入可用: {ok}")
# 首次运行会下载模型(~67MB)到 ~/.cache/fastembed/

数据存储位置

默认所有数据存储在 ~/.robotmem/

~/.robotmem/
├── memory.db          # SQLite 数据库(记忆、会话、标签)
└── config.json        # 配置覆盖(可选)

通过 ROBOTMEM_HOME 环境变量覆盖:

export ROBOTMEM_HOME=/path/to/custom/dir

故障排除

sqlite-vec 加载失败

WARNING: sqlite-vec 加载失败

这表示向量搜索不可用,但 robotmem 仍可使用 BM25 纯文本搜索。修复方法:

pip install --upgrade sqlite-vec

fastembed 模型下载失败

首次运行会下载 ONNX 模型。如果失败(网络问题):

# 手动下载
python -c "from fastembed import TextEmbedding; TextEmbedding('BAAI/bge-small-en-v1.5')"

Ollama 向量嵌入无法连接

# 确保 Ollama 正在运行
ollama serve

# 拉取向量嵌入模型
ollama pull nomic-embed-text

# 测试
curl http://localhost:11434/api/embed -d '{"model": "nomic-embed-text", "input": "test"}'