关于 open-zk-kb
open-zk-kb 是基于 Zettelkasten 方法的本地持久记忆服务,用于在 AI 助手的会话间保存并共享偏好、决定和经验。它以 Markdown 笔记为数据源,结合全文与本地向量检索,无需 API 密钥。
主要功能
- 01跨会话共享持久记忆
- 02以互相关联的原子笔记组织内容
- 03结合全文与语义搜索
- 04使用 Markdown 文件保存数据
- 05本地嵌入,无需 API 密钥
适用场景
- 01让助手记住用户偏好和项目约定
- 02在新会话中复用已保存的决定与经验
- 03在多个支持的客户端间共享记忆
MCP 相关
提供 10 个 MCP 工具,用于管理和检索知识库;Pi 还可直接使用原生工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
open-zk-kb
你打开一个新会话,Agent 却完全不知道你是谁。又来了。你得重新解释自己的技术栈、约定,以及那个你已经纠正过五次的边界情况。
open-zk-kb 为你的 Agent 提供记忆——让纠正始终有效、上下文不断积累,每次会话都比上次更聪明。
Pi 中的完整流程:存储一条偏好,将它带入一个全新会话,查看知识库,并在它不再有用时将其移除。
快速开始
需要 Bun——使用
curl -fsSL https://bun.sh/install | bash安装
bunx open-zk-kb@latest
安装程序会配置你选择的客户端、安装 Agent 指令,并创建本地知识库。支持的客户端:OpenCode、Claude Code、Cursor、Windsurf、Zed、Pi 和 OMP。
手动安装和故障排除请参阅安装指南。
为什么选择 open-zk-kb?
你的 Agent 每次会话都从零开始。没有记忆,也没有学习过程。你不断纠正同样的错误、重新解释相同的约定、反复传授相同的上下文。切换工具后情况更糟——你的 Cursor Agent 不知道 Claude Agent 学到了什么。
open-zk-kb 可以解决这个问题。
- 纠正一次,就会记住——你的 Agent 会存储纠正、偏好和决定。下次会话时,它已经知道这些内容。
- 适用于所有工具——Claude Code、Cursor、Windsurf、OpenCode、Zed、Pi 和 OMP 共享同一个知识库
- 找到相关内容——混合搜索匹配含义,而不只是关键词,因此只会呈现有用的上下文
- 在本地运行——无需 API 密钥,不用云服务,也可离线使用。你的数据保留在自己的设备上。
- 易于阅读——纯 Markdown 文件,你可以浏览、编辑并进行版本控制
- 开源——采用 MIT 许可证
Pi:原生知识工具
安装 Pi 软件包,然后重启 Pi:
pi install npm:open-zk-kb
该扩展会直接在 Pi 中公开全部十个 knowledge-* 工具。结果采用 Pi 原生的紧凑呈现方式:搜索、存储、上下文和健康状态提供重点摘要和可展开的详细信息;其他工具则显示简洁的状态输出。MCP 服务以及本地 SQLite/嵌入计算仍需 Bun >= 1.0;Pi 本身则在其支持的 Node.js 运行时下运行。因此,即使使用 Pi 软件包,也必须安装 Bun。
Pi 还会在会话开始时自动加载当前项目的偏好,并将其注入模型上下文,无需模型主动发起搜索。可见的 knowledge-context 条目会报告实际发生的情况,不会伪造工具调用。
完整的偏好工作流和渲染器示例请参阅 Pi 使用指南。有关由安装程序管理的指令、验证和故障排除,请参阅 Pi 安装说明。
配置
无需任何配置。无需 API 密钥,本地嵌入功能开箱即用。
有关嵌入、知识库路径、生命周期调优和服务设置,请参阅配置指南。
内部原理
基于 Zettelkasten 方法构建——以原子化、互相关联且类型结构化的笔记为基础。每条笔记记录一个概念(决策、偏好或注意事项),并链接到相关笔记,从而构建相互关联的知识图谱。
搜索结合 SQLite FTS5 全文索引和本地向量嵌入(MiniLM-L6-v2),实现语义匹配。Markdown 文件是事实来源;数据库是可重建的索引。
遥测
启用后(telemetry.enabled: true 且 telemetry.share: true),open-zk-kb 会在之后启动时,将每个已完成会话对应的一条匿名事件发送到 PostHog(欧盟云)。事件包含规范化的客户端、范围受限的模型 ID、知识库大小,以及全部 10 个工具的调用次数——不包含笔记内容、查询、路径、名称或电子邮件地址。运行时默认禁用遥测;交互式安装程序仅在获得明确同意后才会启用分享,而无人值守安装和直接安装软件包则保持禁用,除非另行配置。设置 DO_NOT_TRACK=1 可无条件阻止分享(本地 SQLite 计数器不受影响),也可以将两个标志都设为 false。完整的事件架构和详情请参阅遥测。
文档
- 设置指南 — 安装、针对特定客户端的设置和故障排除
- Pi 使用体验 — 原生工具、自动偏好设置和渲染器展示
- 工具参考 — 全部 10 个 MCP 工具及其参数和示例
- 笔记生命周期 — 笔记类型、状态和审核系统
- 配置 — 嵌入、知识库、生命周期和服务设置
- 架构 — 双重存储、所有权模型和设计决策
- 开发 — 本地开发、测试和调试
- 贡献 — 贡献者指南
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。