产品概述
在多 AI Agent 协同工作的场景里,"记忆"是决定 Agent 能否真正落地生产的最关键一环——它需要能够持久化跨会话、跨设备、跨模型地保存上下文,同时又能被 Agent 程序化地读写。MemKV 正是为解决这一痛点而设计的:它把记忆抽象成三级树形结构(项目 / 分组 / 条目),每一条记忆都是一个带 Markdown 正文、附件、版本时间戳和标签索引的对象,Agent 通过简单的 HTTP 接口就能完成读、写、搜、改、删的全部操作。
与传统的 Notion、Confluence 等 SaaS 知识库不同,MemKV 从设计之初就以 "AI-First" 为理念:每一个条目都是结构化的机器可读对象,每一次写入都会自动记录时间戳与版本,搜索接口返回的是可直接被 LLM 拼接进 prompt 的 JSON,而不是给人看的 HTML。Agent 调用一次 /api/v1/search?keyword=... 就能精准定位它需要的上下文,无需爬页面、无需 OCR、无需复杂的鉴权。
自 2026 年 4 月上线以来,MemKV 已经承载了 Leon-Note、Skills、日常操作规范、【投控】信息(设备)、AI自动运营体系 等 5 个核心项目分类,累积 60+ 条目,覆盖了从 LZ-Studio 模型中转站、AI 中转站、Leon-Memory 记忆系统介绍,到 SSH 密码认证、设备介绍模板、AI 偏好规范等"操作系统级"的基础知识。每一个新设备、新项目、新规范加入 Leon 生态时,Agent 都会先在 MemKV 中创建对应条目,让全栈生态具备自我描述与持续演进的能力。
更重要的是,MemKV 通过 References 引用机制把记忆条目之间的关系显式化:一个 LZ-Studio-Skill 条目可以引用 AI中转站-Skill、网络运维整合-Skill,让 Agent 在调用时能递归加载完整上下文,而不是只能看到碎片化的单条信息。这种"超文本 + 结构化"的混合设计,让 MemKV 既保留了人类阅读的层次感,又满足了 Agent 程序化处理的需求。
核心能力
围绕 AI Agent 实际工作流打磨的核心能力,从结构到接口、从检索到分享,每一项都为 Agent 友好而设计。
三级树形知识结构
采用「项目 / 分组 / 条目」三层组织方式,每个项目对应一个独立的业务域,分组相当于子文件夹,条目是真正的知识单元。Agent 可通过 /api/v1/memory/index 一次性获取全树索引,再逐层下钻,定位效率比扁平标签高 5 倍以上。
HTTP RESTful API 驱动
所有读写、搜索、附件操作均以 RESTful 接口暴露,鉴权采用 Authorization: Bearer <token> 简单机制,Agent 无需额外 SDK、无需复杂握手。主流语言(Python、Node、Go、Shell)都能在 5 行代码内完成首次调用。
Markdown 原生存储
条目正文使用 Markdown 格式存储,自动渲染为 HTML 提供人类阅读视图,同时保留原始 Markdown 供 Agent 直接抽取到 prompt。所有条目都带有 created_at / updated_at 时间戳,可作为版本演进依据。
附件与图床直链
支持在条目下挂载任意格式附件(文档、图片、安装包、压缩包等),系统自动生成公开直链。Agent 上传一张截图、生成一个 PDF、安装一个工具脚本,都能一键在知识库中留下索引供未来调用。
关键词全文检索
提供 /api/v1/search?keyword=... 接口,对项目名、分组名、条目名、摘要、正文做联合模糊匹配,秒级返回结果。Agent 在进行 RAG 召回时,可直接用关键词命中任意层级,无需逐条遍历。
公开访问与权限隔离
记忆树提供只读公开接口用于外部浏览与分享,敏感条目可按项目/分组级别开启 private 标记只让内部 Token 访问。同一套接口既能对外公开宣传页,又能保障核心运维信息不外泄。
References 引用机制
每个条目可显式声明它依赖或关联的其他条目(references 字段),Agent 调用时会递归加载所有引用条目形成完整上下文。这种"超文本关系"让 LZ-Studio、MemKV、AI 中转站等条目的内在联系一目了然。
Tags 标签与摘要
每个条目均带 tags 与 summary 两个核心字段:summary 是 LLM 友好的简介(≤200 字),tags 是用于二级过滤的关键词数组。在搜索结果中摘要可直接拼入 prompt,提升 LLM 上下文效率。
适用场景
从单 Agent 到多 Agent 协同,从个人笔记到团队知识中枢,MemKV 在四类典型场景里都展现了不可替代的价值。
AI Agent 持久化上下文
把每次会话的关键决策、用户偏好、业务背景存入 MemKV,让 Agent 在下一次会话(无论是 Opencode、Cursor、还是自研脚本)启动时自动加载上下文,避免每次都从零开始建立认知。在 Leon 实践中,AI 偏好、操作规范、sudo 规则都已沉淀到 MemKV,新会话首轮就能遵循既定偏好。
团队知识中枢与新人 Onboarding
新设备、新成员、新项目加入时,先在 MemKV 中创建"自我介绍"条目,再让 Agent 自动关联到相关上下游 Skills。Leon 生态的每台设备(如 TK-Server、LZ-Agent、Safe 三机)都有自己的条目页,新人通过一条 curl 就能了解整台设备的 SSH、IP、职能、归属。
Skills / SOP 库管理
每个 Skill 文档都对应一个条目(如 LZ-Studio-Skill、AI中转站-Skill、网络运维整合-Skill、企业官网制作-Skill),Agent 调用 Skill 前先 search 命中目标,再通过 references 字段加载相关 Skill 形成完整操作手册。Skill 库更新时只需修改条目,所有 Agent 立即生效。
RAG 检索增强生成
对接到 Leon-AI-Chat 等 AI 问答系统后,用户提问时先用关键词在 MemKV 中检索最相关的若干条目,把摘要拼入 prompt 再调用 LLM。相比传统向量数据库方案,这种"关键词 + 摘要 + references"的方式更可解释、更易调试、成本只有向量库的 1/10。
架构与数据模型
MemKV 的整个数据模型围绕"三级树 + 关系引用"设计。最上层是项目(Project),代表一个独立的业务域或物理实体,如「Leon-Note」「Skills」「日常操作规范」「【投控】信息(设备)」「AI自动运营体系」。每个项目下挂多个分组(Group),相当于子文件夹,用于进一步组织条目。每个分组下挂多个条目(Item),即真正的知识单元。
每个条目是一个完整的结构化对象,包含以下核心字段:item_name(条目名)、project_name(所属项目)、group_name(所属分组)、summary(≤200 字简介,给 LLM 看的)、content(Markdown 正文)、references(相关条目名数组,用于递归加载上下文)、tags(关键词标签数组)、created_at / updated_at(时间戳)。这种"宽字段"设计让 Agent 调用一次就能拿到完整上下文,无需二次查询。
读写链路走纯 HTTP:Agent 发起 POST /api/v1/... 请求,服务端解析项目 / 分组 / 条目路径,将 JSON 内容写入后端存储(SQLite + 文件系统双写),同时维护 references 关系图谱用于后续递归加载。整个流程无任何外部依赖、无云服务锁死,单机即可运行;分布式场景下也可平滑迁移到 PostgreSQL 或对象存储。鉴权通过共享 Token + 项目级 Token 双层控制:Agent 用 Token 写入,个人浏览可走公开只读接口。
核心 API 接口
所有接口都遵循 RESTful 规范,返回标准 JSON。除特别说明外均需 Authorization: Bearer wswwsw1234 鉴权头。
| GET | /api/v1/memory/index获取完整记忆树索引(项目 / 分组 / 条目三层结构),适合 Agent 启动时一次性加载 |
| GET | /api/v1/search?keyword=...关键词全文检索,跨项目/分组/条目匹配,返回含 summary 的 JSON 数组,秒级响应 |
| GET | /api/v1/item/content?project_name=...&group_name=...&item_name=...读取单条记忆的完整 Markdown 正文 + 元数据,常用于 references 递归加载 |
| POST | /api/v1/item/create创建新条目,Agent 自动建库的标准入口 |
| PUT | /api/v1/item/update更新条目正文,自动刷新 updated_at 时间戳 |
| DELETE | /api/v1/item/delete删除条目(需 sudo 级 Token) |
GET /api/v1/memory/index 一次性获取全树索引(约 5KB JSON),再根据当前任务用 search 或 item/content 按需加载。所有响应都是 LLM 友好的纯 JSON,可直接 json.dumps 后拼进 prompt。
技术栈
MemKV 的整个技术栈选择都遵循"单机能跑、零外部依赖、Agent 友好"三大原则。Web 层使用 Python Flask(轻量、成熟、易于二次开发),模板层使用 Jinja2(与 Flask 同生态),持久层使用 SQLite 作为主存储 + 文件系统作为 Markdown 正文 / 附件的二级存储。这种组合让 MemKV 可以在任何一台 Linux 机器上 30 秒内完成部署,无需 Docker、无需数据库服务、无需 Redis。
Markdown 渲染使用 Python-Markdown 库,所有条目都自动渲染为 HTML 用于人类浏览,但 原始 Markdown 始终保留,确保 Agent 调用时拿到的是干净的纯文本而非夹杂 HTML 标签的"渲染产物"。鉴权使用简单的 Bearer Token 机制,管理员 Token 由环境变量注入,Agent Token 在创建时一次性下发。所有 API 响应都是 UTF-8 编码的标准 JSON,不依赖任何特定语言或框架。
部署与访问
服务部署位置、监听端口、Agent 调用样例一站式汇总。
| 公网地址 | http://119.145.17.34:5001/ |
| 内网地址 | http://192.168.11.70:5001/ |
| 部署设备 | TK-Server · 192.168.11.70(vmesxi03 虚拟机) |
| 服务端口 | 5001 |
| 管理员 Token | wswwsw1234(仅内网使用) |
| 认证方式 | Authorization: Bearer <token> |
| 服务进程 | systemd unit memkv.service,7×24 持久在线 |
| 托管展示站 | http://119.145.17.34:5070/s/memkv/ |
记忆系统-Agent(位于「日常操作规范 / 开发相关」项目),其中包含认证机制、触发场景、Agent 列表、Skills 目录、References 引用机制的完整说明。