Token导航 LogoToken导航TokenDH.com
qmemory (Qusaii Saleem) logo
AI代理stdio官方级别未说明来源级核验

qmemory (Qusaii Saleem)

MCP Server

tsx

Qmemory是一个基于图数据库的上下文引擎,为AI代理提供持久化、跨会话的智能记忆功能,支持动态关系和混合搜索。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
AI代理混合搜索TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

QusaiiSaleem

提供方

QusaiiSaleem

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsx src/cli.ts schema

详细介绍

🧠 Q存储器

AI代理的图形内存——记住一切、连接一切、永不忘记的代理。

](https://www.npmjs.com/package/qmemory) ![License: MIT](LICENSE) ![SurrealDB 3.0+](https://surrealdb.com) ![OpenClaw Plugin](https://github.com/openclaw) ![MCP Compatible](https://modelcontextprotocol.io)

它是什么: 一个基于图的上下文引擎,为AI代理提供持久的跨会话智能。每一个事实都是一个节点。每段关系都是一种优势。什么都不会忘记。 为什么存在: 内置的上下文引擎将内存存储为平面文件,没有跨会话调用。Qmemory插入到相同的上下文引擎槽中,并添加了图关系、显著性评分、时间有效性和4层混合搜索——这样你的代理就可以跨会话、主题和通道进行记忆。 使用它的三种方法: 1. 🔌 OpenClaw上下文引擎 --深度集成,全会话生命周期管理 1. 🖥️ Claude Code的MCP服务器 --stdio传输,添加到 ~/.claude.json 1. 🌐 Claude.ai的MCP服务器 --HTTP传输,通过远程MCP连接

______________________________________________________________________

📋 目录

______________________________________________________________________

😤 问题

每个AI代理会话都是一个孤岛。你的代理在一次对话中学习东西——决策、偏好、项目背景——然后 忘记一切 会话结束的那一刻。

┌─────────────────────────────────────────────────────────────────────┐
│                  THE FILING CABINET WITH LOCKED DRAWERS             │
│                                                                     │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐           │
│  │ Topic 7  │  │ Topic 9  │  │  Cron    │  │ Subagent │           │
│  │          │  │          │  │  Job     │  │  Task    │           │
│  │ "Budget  │  │ "What    │  │          │  │          │           │
│  │  approved│  │  was the │  │ "Check   │  │ "Deploy  │           │
│  │  at 500K"│  │  budget?"│  │  Railway │  │  to      │           │
│  │          │  │  🤷 ???  │  │  status" │  │  prod"   │           │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘           │
│       🔒            🔒            🔒            🔒                │
│                                                                     │
│  Each drawer is LOCKED. Session 9 cannot see what Session 7 knew.  │
│  The cron job has no idea about the budget. The subagent is blind. │
│                                                                     │
│  ┌──────────┐  ┌──────────┐                                       │
│  │ Topic 12 │  │  DM      │  ← Even direct messages are isolated  │
│  │ "Railway │  │ "User    │                                        │
│  │  is on   │  │  prefers │                                        │
│  │  us-east" │  │  Arabic" │                                        │
│  └──────────┘  └──────────┘                                        │
│       🔒            🔒                                             │
│                                                                     │
│  6 sessions. 6 locked drawers. Zero shared knowledge.              │
└─────────────────────────────────────────────────────────────────────┘

结果如何? 你重复一遍。代理人问了同样的问题。专题7中做出的决定在专题9中不可见。您的cron作业在没有上下文的情况下运行。子代理每次都是从头开始。

就是这样 AI助手默认工作,包括OpenClaw内置的上下文引擎(它使用平面标记文件,没有跨会话调用)。

______________________________________________________________________

✨ 解决方案

Qmemory将文件柜变成 连通图每一个事实、每一个决定、每一种偏好都变成了一个节点,它们都通过类型化关系连接在一起。

┌─────────────────────────────────────────────────────────────────────┐
│              THE CONNECTED GRAPH — QMEMORY IN ACTION               │
│                                                                     │
│  ┌──────────┐         ┌──────────────────────┐       ┌──────────┐  │
│  │ Topic 7  │────────▶│   🧠 Qmemory Graph   │◀──────│ Topic 12 │  │
│  │ "Budget  │         │                      │       │ "Railway  │  │
│  │  = 500K" │         │   ┌──────────────┐   │       │ us-east"  │  │
│  └──────────┘         │   │ memory:m001  │   │       └──────────┘  │
│                       │   │ "Budget 500K │   │                     │
│  ┌──────────┐         │   │  by team lead"│  │       ┌──────────┐  │
│  │ Topic 9  │────────▶│   └──────┬───────┘   │◀──────│  Cron    │  │
│  │          │         │          │supports    │       │  Job     │  │
│  │ ✅ Knows │         │   ┌──────▼───────┐   │       └──────────┘  │
│  │ budget!  │         │   │ memory:m042  │   │                     │
│  └──────────┘         │   │ "Railway on  │   │       ┌──────────┐  │
│                       │   │  us-east-1"  │   │◀──────│ Subagent │  │
│  ┌──────────┐         │   └──────────────┘   │       │          │  │
│  │   DM     │────────▶│                      │       │ ✅ Knows │  │
│  │ "Prefers │         │   All nodes linked.  │       │ context! │  │
│  │  Arabic" │         │   All sessions see.  │       └──────────┘  │
│  └──────────┘         └──────────────────────┘                     │
│                                                                     │
│  Topic 9 asks about the budget → Qmemory recalls it from Topic 7  │
│  Subagent deploys → Qmemory tells it "Railway is on us-east-1"    │
│  Cron job runs → it knows the budget, the server, the preferences  │
└─────────────────────────────────────────────────────────────────────┘

每次会议都能看到每一段记忆。 按重要性排序。按相关性过滤。通过代理本身创建的关系连接。

______________________________________________________________________

👁️ 代理人看到了什么

当Qmemory处于活动状态时,它会自动将相关内存注入代理的系统提示符中 在每次回应之前。以下是添加的内容:

## Cross-Session Memory (Qmemory)
_5 memories recalled, sorted by importance_

- [decision!] Budget approved at 500K SAR by team lead — final, no renegotiation
  ↳ Related: email in HEY (hey:inv-2026-003), task in Reminders
- [context!] Railway deployment on us-east-1, SurrealDB port must be 8000
  ↳ Related: entity "Railway" (deployment), entity "SurrealDB" (system)
- [preference] User prefers Arabic-first (RTL) with Cairo font across all projects
- [context] Acme CRM has 3 active clients: Waqf Fund, SRCA, Tamheer
  ↳ Scope: project:r-crm
- [decision] Use Hotwire (not React) for all new frontends — DHH philosophy
  ↳ Expires: 2027-01-01

关键细节:

  • ! 标记意味着显著性≥0.8(关键事实——总是先回忆)
  • 记忆是按重要性排序的,而不是按日期排序的
  • 外部引用(电子邮件、任务)是链接的,不是重复的
  • 范围过滤意味着特定于项目的内存只出现在正确的上下文中
  • 过期的事实会被自动过滤掉
  • 注射尊重 令牌预算 (默认为上下文窗口的15%)-它不会淹没您的提示

______________________________________________________________________

🏗️ 运作原理

三个入口,一个核心

┌─────────────────────────────────────────────────────────────────┐
│                        ENTRY POINTS                             │
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   OpenClaw   │  │  Claude Code │  │  Claude.ai   │          │
│  │   Plugin     │  │  (stdio MCP) │  │  (HTTP MCP)  │          │
│  │              │  │              │  │              │          │
│  │ Context      │  │ 4 tools via  │  │ 4 tools via  │          │
│  │ engine +     │  │ FastMCP      │  │ FastMCP      │          │
│  │ 5 tools +    │  │              │  │ httpStream   │          │
│  │ linker +     │  │              │  │              │          │
│  │ graph UI     │  │              │  │              │          │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘          │
│         │                 │                 │                   │
│         ▼                 ▼                 ▼                   │
│  ┌──────────────────────────────────────────────────┐          │
│  │                SHARED CORE (src/core/)            │          │
│  │                                                    │          │
│  │  recall   search   save   correct   link          │          │
│  │  extract  dedup    embeddings   migrate            │          │
│  └──────────────────────┬─────────────────────────────┘          │
│                         │                                       │
│                         ▼                                       │
│  ┌──────────────────────────────────────────────────┐          │
│  │              SurrealDB 3.0+                       │          │
│  │                                                    │          │
│  │  ┌─────┐  ┌─────────┐  ┌────────┐  ┌────────┐   │          │
│  │  │sess-│  │ message  │  │ memory │  │ entity │   │          │
│  │  │ion  │  │          │  │        │  │        │   │          │
│  │  └──┬──┘  └────┬─────┘  └───┬────┘  └───┬────┘   │          │
│  │     │          │            │            │        │          │
│  │  has_message  extracted_from  prev_version       │          │
│  │                    relates (dynamic — ANY type)    │          │
│  └──────────────────────────────────────────────────┘          │
└─────────────────────────────────────────────────────────────────┘

图形模式

Qmemory的大脑是一个图形 7种桌子类型5种边缘类型:

  ┌──────────┐                ┌──────────┐
  │ session  │──has_message──▶│ message  │
  │          │                │          │
  │ channel  │                │ role     │
  │ chat_type│                │ content  │
  │ scope    │                │ tokens   │
  └──────────┘                └─────┬────┘
                                    │
                           extracted_from
                                    │
  ┌──────────┐                ┌─────▼────┐
  │  entity  │◀──relates───▶ │  memory  │
  │          │   (dynamic)    │          │
  │ name     │                │ content  │
  │ type     │                │ category │
  │ aliases  │                │ salience │──prev_version──▶ (old memory)
  │ external │                │ scope    │
  │  _source │                │ validity │
  │  _id     │                │ active?  │
  │  _url    │                │ embedding│
  └──────────┘                └──────────┘

  7 tables: session, message, memory, entity, tool_call, scratchpad, metrics
  3 structural edges: has_message, extracted_from, prev_version (auto-created)
  1 dynamic edge: relates (agent creates ANY relationship type)

relates 边缘很特别 --它接受任何关系类型作为字符串: supports, contradicts, manages, blocks, depends_on, caused_by, reports_to,或代理决定适合的任何东西。这意味着图形会根据您的实际工作而不是严格的预定义本体有机地增长。

______________________________________________________________________

🚀 特性

记忆与回忆

  • 四级混合动力召回 --图遍历→ BM25全文→ 向量相似性→ 最近的倒退
  • 显著性评分 (0.0–1.0)——关键事实(salience ≥ 0.8)总是先被召回
  • 7内存类别style, preference, context, decision, idea, feedback, domain
  • 时间有效性 --事实可能 valid_fromvalid_until 日期;过期事实已自动筛选
  • 内存作用域global, project:xxx,或 topic:xxx --在正确的背景下拥有正确的记忆

重复数据删除和准确性

  • LLM驱动的数据删除 --每个新事实都会与现有记忆进行核对(ADD/UPDATE/NOOP)
  • 版本链 --更正创建a prev_version 边缘;原件永远不会被删除(仅软删除)
  • 矛盾解决 --反射服务自动检测冲突的事实并停用过时的事实

图形智能

  • 动态关系 --代理在任意两个节点之间创建ANY边类型(supports, contradicts, blocks等等)
  • 搜索中的连接提示 --前5个搜索结果显示了图边(类型、目标名称、原因),因此代理可以像思维导图一样看到并跟踪连接
  • 发布保存提示 --保存内存后,显示2-3个附近的内存 qmemory_link() 建立联系的建议
  • 背景链接器 (每5分钟一次)——查找未链接的记忆,要求LLM发现关系,创建边缘
  • 显著衰减 (每5分钟一次)——7天以上的记忆会变得突出\*=0.95(下限0.1),所以除非回忆起来,否则旧的事实自然会消失
  • 背景反映 (每30分钟一次)——综合记忆中的见解,解决矛盾(灵感来自后见之明)
  • 自动图形结构 --基于引导自动构建的通道/主题/会话层次结构(无需代理操作)
  • 12个生命周期挂钩 --捕获工具调用、cron结果、令牌使用、子代理关系、发送方身份、传递路由、会话生命周期
  • 实体抽取 --人、项目、组织、概念和系统成为一流的图节点

图书馆藏书

  • PDF+EPUB处理 --独立的Python脚本将整个图书库吸收到内存图中
  • 智能OCR --PyMuPDF原生文本优先,Gemini Vision OCR回退扫描文档(阿拉伯语优化)
  • 阿拉伯语感知组块 --每个块约900个标记,15%重叠,句子边界检测(.؟!\\n\\n)
  • 图形集成 --书籍和作者成为实体节点,块成为域内存,所有这些都通过 relates 边缘
  • 📚 图形地图中的库部分 --在带有连接计数和搜索提示的上下文注入中单独显示的书籍

OpenClaw深度集成

  • 预压缩内存刷新 --在70%的上下文使用率下,Qmemory提取内存 *之前* 压实火灾(修复 开放式法律#19488)
  • 压实后健忘症修复 --压缩后,高显著性记忆被重新注入摘要中
  • 子代理内存共享 --当子代理生成时,它会从父会话接收相关的内存
  • 代币预算控制 --内存注入上限为上下文窗口的15%(可配置)

外部参考

  • 关联实体 --电子邮件(HEY)、任务(Apple提醒)、智能表行、铁路部署、日历事件
  • 外部ID和URL --每个实体都可以引用其源系统(hey:12345, smartsheet:row:789)

可视化和工具

  • 图形查看器UI --交互式vis.js可视化 /qmemory/graph (深色主题,阿拉伯语友好)
  • 图形应用程序接口 --JSON端点位于 /qmemory/api/graph 带过滤器(类别、范围、日期范围)
  • 迁移工具 --导入现有 MEMORY.mdmemory/*.md 来自OpenClaw工作区的文件
  • 命令行界面qmemory status, qmemory schema, qmemory serve, qmemory serve-http

______________________________________________________________________

📊 与其他解决方案的比较

特点Q存储器OpenClaw内置Mem0LanceDB pro后见之明
存储SurrealDB图平面标记文件托管云LanceDB(矢量)自定义图
跨时段召回✅ 四层混合动力车❌ 仅限同一会话✅ 矢量搜索✅ 矢量搜索✅ 图形+矢量
图表关系✅ 动态(任何类型)❌ 无❌ 无❌ 无✅ 固定类型
去重✅ LLM驱动❌ 无✅ 基于规则❌ 无✅ LLM驱动
显著性评分✅ 0.0–1.0+衰减❌ 没有排名❌ 无得分❌ 无得分✅ 重要性
时间有效性✅ 有效期从/到❌ 无到期日❌ 无到期日❌ 无到期日✅ 时间意识
背景链接✅ 每5分钟一次❌ 无❌ 无❌ 无✅ 定期
反思/综合✅ 每30分钟一次❌ 无❌ 无❌ 无✅ 定期
版本历史✅ 上一版本链❌ 覆盖❌ 覆盖❌ 覆盖✅ 版本化
外部参照✅ 电子邮件、任务等。❌ 无❌ 无❌ 无❌ 没有
自托管✅ SurrealDB本地✅ 本地文件❌ 仅限云✅ 本地❌ 仅限云
OpenClaw集成✅ 上下文引擎插件✅ 内置❌ 仅限MCP❌ 仅限MCP❌ 不兼容
MCP支持✅ stdio+HTTP❌ 无✅ stdio✅ stdio❌ 没有
LongMemEval精度--(待定)~40%~65%~60%91.4% (最高)
依赖项4 (surrealdb, fastmcp, typebox, zod)0(内置)托管服务1(lancedb)托管服务
许可证MITMIT专有Apache 2.0专有
价格免费免费$$$免费$$$

为什么Qmemory胜过其他人?

  • 对比 内建:Qmemory插入相同的上下文引擎插槽,并添加跨会话召回、图关系、显著性和时间有效性——内置的默认值为每个会话存储平面文件
  • 对比 Mem0:Qmemory是自托管的、基于图的,并集成为一个完整的上下文引擎——Mem0是仅限云的矢量搜索
  • 对比 LanceDB专业版:Qmemory具有类型化关系和去重——LanceDB是纯向量,没有图智能
  • 对比 后见之明:功能相当,但Qmemory是开源的、自托管的,并作为OpenClaw上下文引擎插件运行——Hindsight是专有云

______________________________________________________________________

📦 安装

先决条件

选项1:OpenClaw插件(全功能)🔌

这是最深层次的融合。Qmemory注册为上下文引擎插件,并管理整个会话生命周期。

步骤1:安装SurrealDB 3.0+

重要提示: Qmemory需要SurrealDB v3.0或更高版本旧版本(v2.x)的架构、FULLTEXT索引和记录ID的语法不兼容。检查您的版本 surreal version.
# macOS (installs latest v3)
brew install surrealdb/tap/surreal

# Linux (installs latest v3)
curl -sSf https://install.surrealdb.com | sh

# Verify version — must be 3.x
surreal version
# Expected: surreal 3.0.0 or higher

# Start the server (data persists to disk)
surreal start --user root --pass root file:~/.qmemory/data.db

步骤2:安装插件

# From npm (recommended)
npm install -g qmemory

# OR directly through OpenClaw
openclaw plugins install qmemory

# Install dependencies (required after openclaw plugins install)
cd ~/.openclaw/extensions/qmemory && npm install --omit=dev

步骤3:将Qmemory设置为上下文引擎

openclaw config set plugins.slots.contextEngine "qmemory"

步骤4:启用插件工具

coding 默认情况下,工具配置文件仅包括核心工具。选择一个:

# Minimal — only Qmemory tools
openclaw config set tools.alsoAllow '["qmemory"]'

# Recommended — all plugin tools (if you have other plugins too)
openclaw config set tools.alsoAllow '["group:plugins"]'
如果不执行此步骤,Qmemory的6个工具将不会出现在代理的工具列表中。 "group:plugins" 推荐使用,因为它允许代理使用所有已安装插件中的工具——当Qmemory在群聊和主题中与其他插件一起工作时非常有用。

步骤5:(可选)配置插件

# Set SurrealDB password (default: root)
openclaw config set plugins.config.qmemory.surrealdb_pass "your-password"

# Enable vector search (uses your existing OpenClaw embedding key)
openclaw config set plugins.config.qmemory.embedding_provider "auto"

步骤6:重新启动网关

openclaw gateway restart

步骤7:验证

openclaw plugins inspect qmemory

# Check the graph is working
qmemory status

您应该看到:

Qmemory: connected
  SurrealDB:  ws://localhost:8000
  Namespace:  qmemory/main
  Memories:   0
  Entities:   0
  Edges:      0
  Sessions:   0
重要提示: SurrealDB必须正在运行 之前 OpenClaw网关启动。如果网关启动时SurrealDB关闭,Qmemory将以降级模式运行(没有内存操作,但没有崩溃)。

______________________________________________________________________

选项2:克劳德代码(MCP服务器--stdio)🖥️

在Claude Code配置中添加Qmemory作为MCP服务器。

步骤1:安装

npm install -g qmemory

第二步:启动SurealDB 3.0+

# Install if needed (see Option 1 above for full instructions)
surreal version  # Must be 3.x
surreal start --user root --pass root file:~/.qmemory/data.db

步骤3:应用模式

qmemory schema

步骤4:添加到Claude代码配置

将此添加到您的 ~/.claude.json (或你的项目 .claude.json):

{
  "mcpServers": {
    "qmemory": {
      "command": "qmemory",
      "args": ["serve"],
      "env": {
        "QMEMORY_SURREALDB_URL": "ws://localhost:8000",
        "QMEMORY_SURREALDB_USER": "root",
        "QMEMORY_SURREALDB_PASS": "root"
      }
    }
  }
}

步骤5:重新启动Claude代码

Claude Code现在有4个工具: qmemory_search, qmemory_save, qmemory_correct, qmemory_link.

注: 在Claude Code模式下,您将获得4个工具(否 qmemory_import).将内存自动注入系统提示需要OpenClaw插件模式。

______________________________________________________________________

选项3:Claude.ai(MCP服务器--HTTP)🌐

将Qmemory作为HTTP MCP服务器运行,并将其连接到Claude.ai的远程MCP功能。

步骤1:安装并启动

npm install -g qmemory
surreal start --user root --pass root file:~/.qmemory/data.db
qmemory schema

步骤2:启动HTTP服务器

# Default port: 3777
qmemory serve-http

# Custom port
qmemory serve-http 4000

您应该看到:

Qmemory MCP server running on http://localhost:3777/mcp

步骤3:从Claude.ai连接

在Claude.ai设置中,添加一个指向的远程MCP服务器 http://localhost:3777/mcp (或您的公共URL(如果已部署)。

提示: 对于生产环境,使用HTTPS在反向代理后部署Qmemory。MCP端点位于 /mcp.

______________________________________________________________________

⚙️ 配置

OpenClaw插件配置

所有选项均通过设置 openclaw config set plugins.config.qmemory. :

选项类型默认值描述
surrealdb_url字符串ws://localhost:8000SurrealDB连接URL
surrealdb_user字符串rootSurrealDB用户名
surrealdb_pass字符串rootSurrealDB密码
namespace字符串qmemorySurrealDB命名空间
database字符串mainSurrealDB数据库名称
context_threshold编号0.75在上下文窗口的此百分比处触发压缩(0–1)
fresh_tail_count整数32最近防止压缩的邮件数
memory_budget_pct编号0.15内存注入上下文窗口的最大百分比(0–1)
embedding_provider字符串auto嵌入提供程序: auto (重用OpenClaw的密钥), voyage, openai, gemini,或 none (仅限BM25)
embedding_api_keystring-覆盖嵌入的API键(保留为空以使用OpenClaw)
embedding_modelstring--覆盖嵌入模型(留空以使用OpenClaw)
embedding_dimension整数1024嵌入向量维度
linker_interval_ms整数300000后台链接器间隔(默认值:5分钟)
reflect_interval_ms整数1800000背景反射间隔(默认值:30分钟)
min_salience_recall编号0.3回忆结果中应包含的最低显著性
subagent_model字符串zai/glm-5后台LLM任务模型(数据删除、提取、链接)。使用廉价型号,如 zai/glm-5google-gemini-cli/gemini-3-flash-preview 降低成本
extraction_mode字符串balanced自适应提取预设: economy (精简计划,节省代币), balanced (专业计划,正常), aggressive (团队/无限,无限制)
debug布尔值false启用调试日志记录

环境变量(CLI/MCP模式)

当作为独立的MCP服务器运行时,通过环境变量进行配置:

变量默认值描述
QMEMORY_SURREALDB_URLws://localhost:8000SurrealDB连接URL
QMEMORY_SURREALDB_USERrootSurrealDB用户名
QMEMORY_SURREALDB_PASSrootSurrealDB密码
QMEMORY_NAMESPACEqmemorySurrealDB命名空间
QMEMORY_DATABASEmainSurrealDB数据库名称
QMEMORY_EMBEDDING_PROVIDERnonevoyage, openai,或 none
QMEMORY_EMBEDDING_API_KEY-嵌入提供程序的API密钥
QMEMORY_DEBUGfalse启用调试日志记录

______________________________________________________________________

🔧 工具参考

Qmemory暴露 6工具 在OpenClaw模式下 4工具 在MCP模式下。

qmemory_search

搜索跨会话内存和工具调用历史记录。 图连接提示丰富了前5个结果 --代理人看到链接的书籍、人物和其他记忆,鼓励通过知识图谱进行探索。

参数类型必填说明
querystring按含义搜索(BM25全文+向量相似度)
categoriesstring\[\]筛选器: style, preference, context, decision, idea, feedback, domain
scopestring筛选器: global, project:xxx, topic:xxx
limitnumberNo最大结果,1–50(默认值:10)
include_tool_callsboolean也搜索 tool_call 所有会话中的表
tool_namestring按名称过滤工具调用(例如。, "exec", "qmemory_save")

示例:

qmemory_search({ query: "Railway deployment", categories: ["context", "decision"], limit: 5 })
qmemory_search({ include_tool_calls: true, tool_name: "exec" })
qmemory_search({ query: "Railway", include_tool_calls: true })

退货:

[mem001] [context, salience:0.9] Railway deployment on us-east-1, SurrealDB port must be 8000
[mem042] [decision, salience:0.8] Use Railway free tier for staging, upgrade for production

______________________________________________________________________

qmemory_save

将事实保存到跨会话内存中。跑步会自动结束。

参数类型必填说明
contentstring要记住的事实(一个明确的陈述)
categorystringstyle, preference, context, decision, idea, feedback,或 domain
saliencenumberNo重要性0.0–1.0(默认值:0.5)。关键事实使用0.8+
scopestringglobal (默认), project:xxx,或 topic:xxx

例子:

qmemory_save({
  content: "Budget approved at 500K SAR by team lead — final decision",
  category: "decision",
  salience: 0.9,
  scope: "project:acme"
})

退货: ADD: memory:mem1710864000abc [decision, salience:0.9]

如果类似的内存已经存在,系统可能会返回 UPDATE (合并)或 NOOP (已知)。

______________________________________________________________________

qmemory_correct

修复、更新、删除或取消链接记忆。4个可用操作。

参数类型必填说明
memory_idstring存储器ID(例如。, memory:mem1234abcd)
actionstringcorrect, update, delete,或 unlink
new_contentstring仅适用于 correct更正内容
saliencenumber仅适用于 update新重要性得分(0.0–1.0)
scopestring仅适用于 update新范围(global, project:xxx, topic:xxx)
valid_untilstring仅适用于 update有效期(ISO 8601)
edge_idstring仅适用于 unlinkThe relates 要删除的边ID

示例:

// Fix wrong content (creates version chain)
qmemory_correct({ memory_id: "memory:mem001", action: "correct", new_content: "Actually 600K not 500K" })

// Update metadata (in-place, no new version)
qmemory_correct({ memory_id: "memory:mem001", action: "update", salience: 1.0 })

// Soft-delete
qmemory_correct({ memory_id: "memory:mem001", action: "delete" })

// Remove a relationship edge
qmemory_correct({ memory_id: "memory:mem001", action: "unlink", edge_id: "relates:r789" })

退货: Corrected: memory:mem001 → memory:mem002 (为 correct 行动)

代理内存管理 详细解释所有4个动作。

______________________________________________________________________

qmemory_link

在图中的任意两个节点之间创建关系。

参数类型必填说明
from_idstring源节点ID(例如。, memory:mem123, entity:ent456)
to_idstring目标节点ID
typestring任何关系: supports, contradicts, blocks, depends_on, caused_by, manages等等。
reasonstring为什么存在此关系

例子:

qmemory_link({
  from_id: "memory:mem001",
  to_id: "entity:ent_railway",
  type: "deployed_on",
  reason: "The application is hosted on Railway us-east-1"
})

退货: Linked: memory:mem001 —[deployed_on]→ entity:ent_railway (relates:r789)

______________________________________________________________________

qmemory_import *(仅限OpenClaw)*

将markdown文件导入内存图。

参数类型必填说明
file_pathstringYesmarkdown文件的绝对路径

例子:

qmemory_import({ file_path: "~/.openclaw/workspace/memory/2026-03-14.md" })

退货: Imported: 12 facts extracted, 9 new memories created

______________________________________________________________________

🖥️ 图形查看器UI

Qmemory包括一个交互式图形可视化,它显示了你的整个记忆网络——每个事实、实体和关系都是一个实时的、可探索的图形。

访问地址: http://localhost:/qmemory/graph

对于默认的OpenClaw设置: http://127.0.0.1:18789/qmemory/graph

观众展示:

  • 记忆节点 --具有显著色彩的事实(更亮=更重要)
  • 实体节点 --人、项目、系统
  • 关系边 --类型化连接(支持、管理、阻止等)
  • 过滤器 --按类别、范围或日期范围筛选

API终点: GET /qmemory/api/graph 返回JSON { nodes, edges } 带有可选的查询参数:

  • ?category=context --按内存类别筛选
  • ?scope=global --按范围筛选
  • ?from=2026-01-01&to=2026-03-18 --按日期范围筛选
在本地主机上不需要身份验证。图形查看器是只读的。

______________________________________________________________________

🧹 代理内存管理

Qmemory使代理(和您)能够完全控制其内存——不仅是保存和搜索 编辑、更新、过期、删除和取消链接 回忆。这 qmemory_correct 工具支架 4个不同的行动:

1.正确——修复错误内容(版本链)

当事实有误时, correct 创建a 新版本 同时通过一个 prev_version 边缘。没有什么是真正失去的。

qmemory_correct({
  memory_id: "memory:mem001",
  action: "correct",
  new_content: "Budget approved at 600K SAR (revised up from 500K)"
})

结果: 旧内存已软删除→ 创建新内存→ prev_version 边缘将它们连接起来。

2.更新--更改元数据(无新版本)

更新显著性、范围或到期时间 不创建新版本。当事实正确,但其重要性或背景发生变化时,请使用此选项。

// Make something critical
qmemory_correct({ memory_id: "memory:mem001", action: "update", salience: 1.0 })

// Set an expiry date
qmemory_correct({ memory_id: "memory:mem001", action: "update", valid_until: "2026-06-01T00:00:00Z" })

// Change scope from topic-specific to global
qmemory_correct({ memory_id: "memory:mem001", action: "update", scope: "global" })

3.删除——软删除内存

将内存标记为 is_active = false。它保留在图表中(用于审计),但不再出现在召回结果中。

qmemory_correct({ memory_id: "memory:mem001", action: "delete" })

4.取消链接--删除关系

删除a relates 两个节点之间的边。节点本身仍然存在,只有连接被切断。

qmemory_correct({ memory_id: "memory:mem001", action: "unlink", edge_id: "relates:r789" })

汇总表

操作更改内容创建新版本?是否保留旧数据?
correct内容是(新节点+ prev_version edge)是(软删除,链接)
update显著性、范围、到期时间否(就地编辑)否(覆盖)
deleteis_active → false是(仍在图表中)
unlink删除边否(边已删除)

______________________________________________________________________

🤖 人工智能代理——SKILL.md

Qmemory附带了 技能.md file——一本教授人工智能代理的综合指南 何时以及如何 有效地使用Qmemory。它包括:

  • 何时保存 --决策指南(“这在未来的对话中有用吗?”)
  • 显著性评分 --用实例说明0.3 vs 0.5 vs 0.8 vs 1.0意味着什么
  • 类别选择 --7个类别中的哪一个适合每种类型的信息
  • 何时链接 --应创建指示关系的信号
  • 何时更正 --用户反馈信号(“那是错误的”,“那已经不重要了”,“算了”)
  • 自由关系类型 --代理可以使用任何字符串作为关系类型
  • 后台进程 --什么是自动发生的,所以代理不需要这样做

如何使用SKILL.md

在代理的系统提示符SOUL.md或配置中添加对SKILL.md的引用:

对于OpenClaw --添加到您的代理 SOUL.md:

## Memory

This agent uses Qmemory for cross-session graph memory.
See SKILL.md in the Qmemory plugin for the full memory management guide.

克劳德代码 --添加到您的项目 .claude/CLAUDE.md:

## Memory

This project uses Qmemory (MCP server) for persistent memory.
When the user shares important facts, decisions, or preferences, save them with qmemory_save.
When you need past context, search with qmemory_search.
See the Qmemory SKILL.md for detailed usage guidelines.

SKILL.md教导代理成为一个负责任的内存管理器——保存重要的东西,跳过琐碎的交换,并为每个事实使用正确的类别和显著性。

______________________________________________________________________

🕸️ 图形架构

完整的SurrealDB模式存在于 schema/qmemory.surql。以下是视觉概述:

┌─────────────────────────── NODES ───────────────────────────┐
│                                                             │
│  SESSION                MESSAGE               MEMORY        │
│  ┌──────────────┐      ┌──────────────┐      ┌───────────┐ │
│  │ session_key  │      │ role         │      │ content   │ │
│  │ channel      │      │ content      │      │ category  │ │
│  │ chat_type    │      │ tool_calls   │      │ salience  │ │
│  │ topic_id     │      │ tool_name    │      │ valid_from│ │
│  │ group_id     │      │ token_count  │      │ valid_until│ │
│  │ scope        │      │ created_at   │      │ scope     │ │
│  │ last_active  │      └──────────────┘      │ is_active │ │
│  └──────────────┘                            │ confidence│ │
│                                              │ source_type│ │
│  ENTITY                                      │ embedding │ │
│  ┌──────────────┐                            └───────────┘ │
│  │ name         │                                          │
│  │ type         │  Types: person, project, org, concept,   │
│  │ aliases[]    │  system, email, task, event, document,   │
│  │ external_id  │  smartsheet, deployment                  │
│  │ external_url │                                          │
│  │ external_src │                                          │
│  │ embedding    │                                          │
│  └──────────────┘                                          │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────── EDGES ───────────────────────────┐
│                                                             │
│  STRUCTURAL (auto-created by the system):                   │
│                                                             │
│    session ──[has_message]──▶ message                       │
│    memory  ──[extracted_from]──▶ message                    │
│    memory  ──[prev_version]──▶ memory  (version chain)     │
│                                                             │
│  DYNAMIC (created by agent, linker, reflect, or compact):   │
│                                                             │
│    (any) ──[relates]──▶ (any)                               │
│                                                             │
│    relates.type: ANY string                                 │
│      "supports", "contradicts", "elaborates",              │
│      "depends_on", "caused_by", "blocks",                  │
│      "manages", "reports_to", "deployed_on",               │
│      "synthesized_from", "follows", ...                    │
│                                                             │
│    relates.confidence: 0.0–1.0                              │
│    relates.created_by: "agent"|"linker"|"compact"|"reflect"│
│    relates.reason: optional explanation                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

索引

  • BM25全文搜索memory.content (主要搜索方法)
  • 标准指标is_active, category, salience, scope
  • 向量索引 (HNSW,可选)打开 memory.embedding 启用嵌入时
  • 唯一索引session.session_key
  • 综合指数entity.external_source + external_id

______________________________________________________________________

🔄 迁移(导入旧记忆)

已经有OpenClaw的内存文件了吗?Qmemory可以导入它们。

导入整个工作区

# Via the agent (OpenClaw mode — uses LLM for smart extraction)
> Import all my memory files into Qmemory

# The agent will call qmemory_import for each file

导入单个文件

qmemory_import({ file_path: "/path/to/MEMORY.md" })

迁移是如何运作的

┌─────────────────────────────────────────────────────┐
│                 MIGRATION PIPELINE                   │
│                                                     │
│  ~/.openclaw/workspace/                             │
│    ├── MEMORY.md          ← Long-term curated       │
│    └── memory/                                      │
│        ├── 2026-03-01.md  ← Daily snapshot          │
│        ├── 2026-03-02.md                            │
│        └── 2026-03-14.md                            │
│                                                     │
│            │                                        │
│            ▼                                        │
│  ┌─────────────────────┐                            │
│  │   Smart Extract     │  (with LLM)               │
│  │   OR Simple Extract │  (without LLM — fallback) │
│  └─────────┬───────────┘                            │
│            │                                        │
│            ▼                                        │
│  ┌─────────────────────┐                            │
│  │   Dedup Pipeline    │  ADD / UPDATE / NOOP       │
│  └─────────┬───────────┘                            │
│            │                                        │
│            ▼                                        │
│  ┌─────────────────────┐                            │
│  │   Graph Nodes       │  + chronological edges     │
│  │   (memory, entity)  │  (file A → file B)         │
│  └─────────────────────┘                            │
└─────────────────────────────────────────────────────┘

两种模式:

  1. 智能导入 (与法学硕士一起):使用子代理提取结构化事实、类别、显著性得分和实体
  2. 简单导入 (没有LLM):每一行非空行都成为一个具有启发式分类的内存

文件处理时间最长→ 最新,与 follows 按时间顺序连接它们的边缘。

______________________________________________________________________

⚡ 内存如何更新

Q内存具有 6个触发点 其中创建或更新存储器:

┌────────────────────────────────────────────────────────────────────┐
│                   6 MEMORY UPDATE TRIGGERS                        │
│                                                                    │
│  ① afterTurn                                                      │
│     After every agent response, extract facts from the last       │
│     few messages. Runs in the background (non-blocking).          │
│                                                                    │
│  ② Pre-compaction flush (70% context)                             │
│     When context hits 70%, urgently extract memories              │
│     from older messages BEFORE compaction drops them.             │
│     Fixes OpenClaw #19488.                                        │
│                                                                    │
│  ③ compact()                                                      │
│     When context exceeds threshold (default 75%), extract         │
│     memories from old messages and drop them from context.        │
│     High-salience facts are re-injected (prevents amnesia).       │
│                                                                    │
│  ④ qmemory_save (agent tool)                                     │
│     The agent explicitly saves a fact (e.g., user says            │
│     "remember this"). Goes through full dedup pipeline.           │
│                                                                    │
│  ⑤ Background Linker (every 5 min)                                │
│     Finds unlinked memories, asks LLM for relationships,          │
│     creates `relates` edges. Makes the graph smarter over time.   │
│                                                                    │
│  ⑥ Background Reflect (every 30 min)                              │
│     Reviews recent memories, synthesizes insights,                │
│     resolves contradictions. Creates new "insight" memories       │
│     and deactivates outdated facts.                               │
│                                                                    │
└────────────────────────────────────────────────────────────────────┘

______________________________________________________________________

🔗 外部参考

Qmemory中的实体可以引用外部系统。这意味着您的代理可以将内存连接到真实世界的对象,而无需复制数据。

┌─────────────────────────────────────────────────────────────────┐
│                    EXTERNAL REFERENCES                           │
│                                                                 │
│  ┌─────────────────┐      ┌─────────────────┐                  │
│  │ entity:ent001   │      │ memory:mem042   │                  │
│  │                 │      │ "Invoice sent   │                  │
│  │ name: "Invoice" │◀─────│  to team lead" │                  │
│  │ type: "email"   │      └─────────────────┘                  │
│  │ external_source:│                                           │
│  │   "hey"         │  ← Source system (HEY email)              │
│  │ external_id:    │                                           │
│  │   "hey:inv-003" │  ← ID in source system                   │
│  │ external_url:   │                                           │
│  │   "https://app. │  ← Direct link to the email              │
│  │    hey.com/..." │                                           │
│  └─────────────────┘                                           │
│                                                                 │
│  Supported sources:                                            │
│  ┌──────────────────────────────────────────┐                  │
│  │ hey             → HEY email              │                  │
│  │ apple-reminders → Apple Reminders tasks  │                  │
│  │ smartsheet      → Smartsheet rows        │                  │
│  │ railway         → Railway deployments    │                  │
│  │ calendar        → Calendar events        │                  │
│  └──────────────────────────────────────────┘                  │
│                                                                 │
│  The agent doesn't copy email content into memory.             │
│  It creates a LINK: "This decision relates to that email."     │
└─────────────────────────────────────────────────────────────────┘

______________________________________________________________________

🐛 社区问题已解决

Qmemory旨在解决OpenClaw社区报告的实际问题:

问题问题Qmemory如何修复它
#19488预压缩刷新永远不会启动——在压缩过程中丢失的记忆70%的预压缩刷新上下文会在事实丢失之前提取事实
#19148压实后遗忘症——压实后主体忘记关键背景高显著性记忆(≥0.8)被重新注入摘要
#18932没有跨会话内存——每个主题都是孤立的所有会话、主题和通道的基于图形的完整回忆
#18744内存重复堆积——同一事实存储了20次LLM驱动的数据消除管道:每次保存时添加/更新/NOOP
#18201无法纠正错误的记忆qmemory_correct 带有软删除+版本链
#17956子代理没有来自父代理的上下文prepareSubagentSpawn() 与儿童会话共享相关记忆

______________________________________________________________________

🔍 故障排除

代理无法看到Qmemory工具

症状: 插件加载(日志显示“Qmemory插件已加载”),但代理仅列出核心工具(读、写、执行等)——否 qmemory_* 工具。

原因: OpenClaw的 tools.profile: "coding" 有一个硬编码的核心工具列表。除非明确允许,否则插件工具将被过滤掉。

修复:

openclaw config set tools.alsoAllow '["group:plugins"]'
openclaw gateway restart

这将所有插件工具(不仅仅是Qmemory)添加到代理的可用工具中。你只需要做一次。

______________________________________________________________________

SurrealDB未运行

症状: 插件已加载,但未保存或调用任何内存。日志显示“无法连接到SurrealDB”或代理在“降级模式”下运行

修复:

# Start SurrealDB
surreal start --user root --pass root file:~/.qmemory/data.db

# Verify
qmemory status

# (Optional) Auto-start on macOS login
bash scripts/setup-surrealdb-launchagent.sh
SurrealDB必须正在运行 之前 OpenClaw网关启动。如果在之后启动SurrealDB,请重新启动网关: openclaw gateway restart

______________________________________________________________________

上下文引擎未激活

症状: 工具可以工作,但记忆不会自动注入对话。无压实。没有跨时段召回。

原因: 上下文引擎插槽未设置为Qmemory。

修复:

openclaw config set plugins.slots.contextEngine "qmemory"
openclaw gateway restart

______________________________________________________________________

SurrealDB版本错误

症状: 模式应用失败、FULLTEXT索引错误、, Cannot execute CREATE statement 错误,或 type::record 解析错误。

原因: SurrealDB v2.x的语法不兼容。Qmemory需要v3.0+版本。

修复:

# Check version
surreal version
# If 2.x, upgrade:

# macOS
brew upgrade surrealdb/tap/surreal

# Linux
curl -sSf https://install.surrealdb.com | sh

# Verify
surreal version
# Must show: 3.0.0 or higher

______________________________________________________________________

架构未应用

症状: SurrealDB正在运行,但查询失败,出现“找不到表”错误。

修复: 架构在第一个会话上自动应用(bootstrap()).如果您需要手动应用它:

qmemory schema
# or
npx tsx src/cli.ts schema

______________________________________________________________________

插件未加载

症状: 日志中没有“Qmemory插件已加载”消息。

修复:

# Check plugin status
openclaw plugins list | grep qmemory

# Ensure it's enabled
openclaw config set plugins.entries.qmemory.enabled true

# Ensure it's in the allowlist
openclaw config set plugins.allow '["qmemory"]'

# Restart
openclaw gateway restart

______________________________________________________________________

工具已注册但返回错误

症状: 代理看到 qmemory_* 工具,但它们会因连接错误而失败。

修复: 检查SurrealDB是否正在运行且可访问:

qmemory status
# Should show: Qmemory: connected

如果显示“已断开连接”,请重新启动SurrealDB和网关。

______________________________________________________________________

快速诊断检查表

# 1. Is SurrealDB running?
qmemory status

# 2. Is the plugin loaded?
openclaw plugins list | grep qmemory

# 3. Is the context engine set?
openclaw config get plugins.slots.contextEngine
# Should show: "qmemory"

# 4. Are plugin tools allowed?
openclaw config get tools.alsoAllow
# Should include: "group:plugins"

# 5. Check logs for errors
openclaw logs --follow | grep -i "qmemory\|surreal\|error"

______________________________________________________________________

🛠️ 发展

设置

git clone https://github.com/QusaiiSaleem/qmemory.git
cd qmemory
npm install
npm run build

本地开发

# Start SurrealDB
surreal start --user root --pass root file:~/.qmemory/data.db

# Apply schema
npx tsx src/cli.ts schema

# Check status
npx tsx src/cli.ts status

# Run MCP server (stdio — for testing with Claude Code)
npx tsx src/cli.ts serve

# Run MCP server (HTTP — for testing with Claude.ai)
npx tsx src/cli.ts serve-http 3777

# Interactive MCP inspector (great for debugging tools)
npm run dev

# Link as OpenClaw plugin (dev mode — no npm publish needed)
openclaw plugins install -l /path/to/qmemory
openclaw config set plugins.slots.contextEngine "qmemory"
openclaw config set tools.alsoAllow '["group:plugins"]'
openclaw gateway restart

测试

npm test            # Run tests once
npm run test:watch  # Watch mode

调试

# OpenClaw logs (filter for Qmemory)
openclaw logs --follow | grep qmemory

# Direct SurrealDB queries
surreal sql -e http://localhost:8000 -u root -p root \
  --namespace qmemory --database main

项目结构

src/
├── core/               ← SHARED logic (used by all entry points)
│   ├── recall.ts       ← 4-tier hybrid recall pipeline
│   ├── search.ts       ← BM25 + vector + graph search
│   ├── save.ts         ← Save with dedup pipeline
│   ├── correct.ts      ← Fix or soft-delete memories
│   ├── link.ts         ← Create dynamic `relates` edges
│   ├── extract.ts      ← LLM-driven fact extraction
│   ├── dedup.ts        ← LLM-driven dedup (ADD/UPDATE/NOOP)
│   ├── embeddings.ts   ← Embedding generation + config resolution
│   └── migrate.ts      ← Import old memory files
├── db/
│   ├── client.ts       ← SurrealDB connection + parameterized queries
│   └── queries.ts      ← Reusable query helpers
├── openclaw/           ← ENTRY 1: Context engine plugin
│   ├── index.ts        ← Plugin registration (6 tools + engine + linker)
│   ├── engine.ts       ← Full context engine (bootstrap/ingest/assemble/compact)
│   └── linker.ts       ← Background services (link + reflect)
├── mcp/
│   └── server.ts       ← ENTRY 2: FastMCP server (4 tools, stdio + HTTP)
├── cli.ts              ← ENTRY 3: CLI (serve, serve-http, status, schema)
├── config.ts           ← Types, constants, formatMemories()
└── ui/
    ├── graph-handler.ts ← HTTP handler for graph viewer + API
    └── graph.html       ← vis.js interactive graph (dark theme)

依赖项

4运行时依赖关系 --保持简单:

包装为什么
surrealdbSurrealDB官方JavaScript SDK
fastmcpMCP服务器框架(stdio+HTTP传输)
@sinclair/typeboxOpenClaw工具参数模式
zodMCP工具参数模式

______________________________________________________________________

⛓️ 关系链——权力特征

relates 边缘连接 从任何节点到任何节点。代理构建映射现实世界工作流的链:

User says: "Ahmed needs the Q2 report by Thursday. Send it to his work email."

Agent builds this chain:

  Session (Topic 9)
    │ has_message
    ▼
  Message: "Ahmed needs the Q2 report by Thursday"
    │ extracted_from
    ▼
  Memory: "Ahmed needs Q2 report by Thursday"        (salience: 0.8)
    │ relates (assigned_to)
    ▼
  Entity: "Ahmed"                                     (type: person)
    │ has_identity
    ├──▶ Contact: WhatsApp 966501234567
    ├──▶ Contact: gmail ahmed@company.com             ← send here
    └──▶ Contact: Smartsheet user:12345

更多现实世界链

Decision Chain:
  memory:"Budget approved" → approved_by → entity:manager
                           → communicated_via → entity:approval_email
                           → depends_on → memory:"Board meeting March 5"

Incident Chain:
  memory:"Prod down 2 hours" → caused_by → memory:"Friday deploy broke auth"
                              → affected → entity:railway_prod
                              → resolved_by → entity:on_call_engineer

Task Chain:
  entity:hire_developer → depends_on → memory:"Budget approved"
                        → blocks → memory:"Need 2 devs for Q3"
                        → assigned_to → entity:hr_manager

具有多重身份的人

qmemory_person({
  name: "Ahmed",
  aliases: ["أحمد"],
  contacts: [
    { source: "whatsapp", id: "966501234567" },
    { source: "gmail", id: "ahmed@company.com" },
    { source: "telegram", id: "ahmed_k" },
    { source: "smartsheet", id: "user:12345" }
  ]
})

稍后: qmemory_person({ name: "Ahmed", action: "find" }) 返回任何会话中的人+所有联系人+所有链接的记忆。

常见关系类型

类型用途
assigned_to任务→ 个人
approved_by决定→ 个人
caused_by事故→ 根本原因
depends_on任务→ 先决条件
blocks阻断器→ 已阻止项目
has_identity个人→ 联系人(自动)
communicated_via事实→ 沟通渠道
managed_by项目→ 经理
monitors会议→ 系统
solved_using问题→ 工具/技能

这些不是固定的——使用 任何词语 这描述了这种关系。

______________________________________________________________________

📚 Wiki/参考文件

文件内容何时阅读
技能.mdAgent指南-教AI Agent何时/如何保存、搜索、链接、更正和管理内存设置新Agent,自定义内存行为
CLAUDE.md开发人员参考——架构、关键模式、陷阱、快速命令为Qmemory、调试、理解代码库做出贡献
模式/qmemory.surql完整的SurrealDB模式——7个表、5种边缘类型、索引、分析器了解数据模型,编写自定义查询
openclaw.plugin.json插件清单——所有配置选项,包括类型、默认值和UI提示配置OpenClaw插件,了解可用设置
npm包——脚本、依赖关系、入口点安装、构建、理解项目结构

______________________________________________________________________

📄 许可证

麻省理工学院 --随心所欲地使用它。

______________________________________________________________________

🙏 学分

由...创建 库赛·阿布·沙纳布.

由...驱动 SurrealDB --使图形+文档+矢量查询感觉自然的多模型数据库。

龙虾 社区——开源AI代理平台。

MCP集成通过 FastMCP --构建MCP服务器的最简单方法。

______________________________________________________________________

"The best memory is the one that connects, not just stores."

目录标签

目录标签

AI代理混合搜索TypeScriptClaude本地部署图数据库上下文记忆跨会话智能

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

tsx

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP