面向AI智能体的云端持久化记忆。无状态插件结合TiDB Serverless,实现跨会话记忆召回、多智能体共享,以及混合向量与关键词检索。
mnemo — AI代理 U0001F9E0. 您的代理是无国籍的
功能概述
mnemo — AI代理 U0001F9E0. 您的代理是无国籍的是一项面向实际任务的技能,主要用于您的记忆不应该是;每次AI代理会话从零开始;
核心要点
- 失去联系, 忘记决定, a。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
mnemo — 面向 AI Agent 的云持久化内存 U0001F9E0
你的 Agent 是无状态的,但你的内存不该如此。
每个 AI Agent 会话都从零开始:上下文丢失、决策被遗忘,Agent 不断重复发现它本已知晓的内容。mnemo 将 Agent 内存外置至 TiDB Cloud Serverless —— 使 Agent 保持可丢弃性,而内存永久持久化。
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Claude Code │ │ OpenCode │ │ OpenClaw │
│ Plugin │ │ Plugin │ │ Plugin │
└──────┬───────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└────────────────────┼────────────────────┘
│
┌───────┴────────┐
│ mnemo-server │ ← 可选(团队模式)
└───────┬────────┘
│
┌───────┴────────┐
│ TiDB Cloud │ ← 免运维,免费套餐
│ Serverless │
│ │
│ • VECTOR 类型 │
│ • EMBED_TEXT │
│ • HTTP API │
└────────────────┘
解决什么问题?
| 痛点 | 未使用 mnemo 时 | 使用 mnemo 后 |
|---|---|---|
| 会话失忆 | Agent 重启后遗忘一切 | 内存持久化存储于云端 |
| 设备锁定 | 内存存于本地文件,切换设备即丢失 | 任意设备均可访问同一份内存 |
| Agent 孤岛 | Claude 无法看到 OpenCode 已学习的内容 | 所有 Agent 共享统一内存池 |
| 团队隔离 | 团队成员的 Agent 均从零开始 | 支持共享空间 + 每 Agent 独立 token |
| 缺乏语义搜索能力 | 仅能通过 grep 在扁平文件中检索 | 支持向量 + 关键词混合搜索 |
| 并发写冲突 | 最后写入静默覆盖先前内容 | CRDT 向量时钟自动检测并解决冲突 |
为何选择 TiDB Cloud Serverless?
mnemo 选用 TiDB Cloud Serverless,是因为它以单一服务、零成本的方式,集成了 Agent 内存所需的全部能力:
- 原生
VECTOR类型 —— 语义搜索与元数据共存于同一张表,无需独立向量数据库。 EMBED_TEXT()自动嵌入 —— TiDB 在服务端生成 embedding(例如:tidbcloud_free/amazon/titan-embed-text-v2),语义搜索无需 OpenAI API key。- HTTP 数据 API —— Agent 可直接通过
fetch/curl与 TiDB 通信,无需数据库驱动或连接池。 - 免费套餐 —— 提供 25 GiB 存储空间、每月 2.5 亿请求单元(Request Units),完全满足个人使用需求。
- 兼容 MySQL 协议 —— 可随时迁移至自托管 TiDB 或 MySQL。
一个数据库即可提供关系型存储 + 向量搜索 + 自动嵌入 + HTTP 接口访问 —— 无需胶水代码,也无需基础设施管理。
混合搜索:向量 + 关键词
是否配置了 embedding?
┌─────────┴─────────┐
是 否
│ │
混合搜索 仅关键词搜索
(向量 + 关键词) (LIKE '%q%')
│ │
┌─────────┴─────────┐ │
向量结果 关键词结果 │
(ANN 余弦相似度) │
└─────────┬─────────┘ │
合并并排序 直接返回结果
三种 embedding 方式 —— 可任选其一或全不启用:
- TiDB 自动 embedding ——
EMBED_TEXT()在服务端生成向量,零配置,完全免费。 - OpenAI / 兼容 API —— 设置
MNEMO_EMBED_API_KEY;亦支持 Ollama。 - 不启用 embedding —— 关键词搜索立即可用;后续可随时添加向量能力,无需迁移数据。
多 Agent 冲突解决(CRDT)
当多个 Agent 并发写入同一段内存时,mnemo 使用向量时钟(vector clocks),无需协调:
Agent A: 时钟 {A:3, B:1} Agent B: 时钟 {A:2, B:2}
/
└──── 服务端比对 ─────────┘
│
双方互不支配 →
并发冲突!
│
确定性决胜机制
│
胜者写入,时钟合并为:{A:3, B:2}
| 场景 | 结果 |
|---|---|
| A 的时钟支配 B 的时钟 | A 获胜 —— B 的写入已过期 |
| B 的时钟支配 A 的时钟 | B 获胜 —— A 的写入已过时 |
| 并发(双方互不支配) | 确定性决胜 —— 无数据丢失 |
| 未发送时钟(旧版客户端) | LWW 快路径 —— 向后兼容 |
删除操作为软删除(打墓碑标记 + 时钟递增),避免因 Agent 错过删除通知而导致已删数据“幽灵复活”。
为 OpenClaw 安装
npm install mnemo-openclaw
在 openclaw.json 中添加:
{
"plugins": {
"slots": { "memory": "mnemo" },
"entries": {
"mnemo": {
"enabled": true,
"config": {
"host": "",
"username": "",
"password": ""
}
}
}
}
}
在 tidbcloud.com 上 30 秒内即可获取免费集群。
可选 —— 启用自动 embedding(无需 API key):
{
"config": {
"host": "...",
"username": "...",
"password": "...",
"autoEmbedModel": "tidbcloud_free/amazon/titan-embed-text-v2",
"autoEmbedDims": 1024
}
}
同样适用于
| 平台 | 安装方式 |
|---|---|
| Claude Code | /plugin marketplace add qiffang/mnemos → /plugin install mnemo-memory@mnemos |
| OpenCode | "plugin": ["mnemo-opencode"] 添加至 opencode.json |
| 任意 HTTP 客户端 | 直接调用 REST API 或 TiDB HTTP Data API |
五大内存工具
| 工具 | 功能说明 |
|---|---|
memory_store |
存储一条记忆(按 key upsert,支持可选 CRDT 时钟) |
memory_search |
跨全部记忆执行混合向量 + 关键词搜索 |
memory_get |
根据 ID 获取单条记忆 |
memory_update |
更新已有记忆 |
memory_delete |
软删除(带墓碑标记,CRDT 感知) |
两种模式,一套插件
| 直连模式(Direct Mode) | 服务端模式(Server Mode) | |
|---|---|---|
| 适用对象 | 个人开发者 | 拥有多个 Agent 的团队 |
| 后端架构 | 插件 → TiDB Serverless | 插件 → mnemo-server → TiDB |
| 部署方式 | 无需部署 —— 免费套餐开箱即用 | 自托管 Go 二进制程序 |
| 功能特性 | 混合搜索、自动 embedding | + 空间隔离、每 Agent 独立 token、CRDT 支持 |
运行模式由配置自动推断:从个人起步,无缝扩展至团队协作 —— 无需修改代码。
相关链接
- GitHub: github.com/qiffang/mnemos
- 设计文档: docs/DESIGN.md
- CRDT 方案提案: crdt-memory-proposal.md
- TiDB Cloud Serverless: tidbcloud.com(提供免费套餐)
专为需要“记住”的 Agent 而构建,由 TiDB Cloud Serverless 提供动力。
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章