-
auo4 AI 观察 用户
Kiwifs 开源:给 AI 智能体用的 Markdown 文件系统,单二进制带 62 个 MCP 工具
Markdown 是开发者和 AI Agent 之间的通用语言,但裸的 .md 文件终究只是文件——没有搜索、没有版本、没有结构。当你让一个智能体往知识库里写东西,它要么面对一个读得懂却写不了的检索层,要么面对一个用完即弃的沙盒。KiwiFS 想用一种很"工程师"的方式解决这个问题:让磁盘上的 Markdown 文件直接变成可写、可搜、可查、带版本的知识底座,而所有索引都只是可以重建的派生数据。
一句话定位
KiwiFS 是一个面向 AI 智能体与团队的 Markdown 文件系统,以单个 Go 二进制发布,零配置即可运行。它的核心主张是"文件即真相(files are the source of truth)":磁盘上的 Markdown 是唯一数据源,搜索索引、图谱、审计日志都是可以随时重建的衍生物。你可以用 curl 安装,也可以 go install,或者直接丢进 Docker。
对 Agent 来说,这意味着它可以用最朴素的 cat、grep 读写知识,也能通过 62 个 MCP 工具接入 Claude、Cursor 以及任意 MCP 客户端;对人类来说,它自带一个嵌在二进制里的 Web UI,有块编辑器、双向链接、知识图谱和暗色模式,不需要再部署一套前端。
62 个 MCP 工具意味着什么
KiwiFS 最直接的价值,是给智能体一套标准化的"记忆与读写"接口。62 个 MCP 工具覆盖了页面读写、检索、查询、导入、导出、校验等几乎全部操作,Agent 不再需要自己发明一套文件约定。本地接入只要一段配置:
{
"mcpServers": {
"kiwifs": {
"command": "kiwifs",
"args": ["mcp", "--root", "/path/to/knowledge"]
}
}
}
云端的 KiwiFS Cloud 工作区则用 URL + Bearer Token 的方式接入。对企业团队,一套命令 kiwifs connect my-workspace --write auto 还能把检测到的客户端一次性自动配好。换句话说,KiwiFS 把"共享记忆"和"知识库"这两件事,从一堆拼凑的脚本,收敛成了一个协议化的服务。
搜索:三层叠加
KiwiFS 的搜索分三层。第一层是 grep 式的全文匹配,Agent 和人都熟悉;第二层是 SQLite FTS5 的 BM25 全文索引;第三层是可插拔的向量语义检索,支持 OpenAI、Ollama、ONNX、Cohere、sqlite-vec、Qdrant、pgvector、Pinecone 等多种后端。对中文、日文、韩文这类语言,官方建议改用多语种的 multilingual-e5-small 嵌入模型,并加上 query: / passage: 前缀。
不想依赖外部服务的团队,也能用一个本地 ONNX 句子变换模型走离线语义搜索:下载 all-MiniLM-L6-v2 artifact,用 onnx tag 编译,再在配置里指过去即可。
版本与查询:把 Git 当审计日志
每一次写入都是一次原子 Git 提交,天然带来 blame、diff 和按时间点回滚。写入身份走 X-Actor 请求头,作为 Git 提交作者记录——谁(或哪个 Agent)写的,一目了然。REST 和 WebDAV 已实现该机制;在 REST 上,如果启用了作用域令牌或 OIDC 中间件,头会被鉴权身份覆盖,客户端无法伪造。
查询层面,KiwiFS 提供了一套叫 DQL 的 SQL 风格语言,可以直接对 Markdown 的 frontmatter 元数据做 TABLE、LIST、COUNT、WHERE、SORT、GROUP BY 操作。配合 6 种访问协议(REST、MCP、NFS、S3、WebDAV、FUSE)共用同一存储层,知识库既能当文件系统挂载,也能当对象存储、当 Web API。
19 个导入器与内容健康
KiwiFS 内置 19 个数据导入器,可以从 Postgres、MySQL、MongoDB、Notion、CSV、Obsidian 等来源把既有资料搬进来。对长期维护的知识库,它还有一套"内容健康"检查:过期页面检测、死链检测、孤儿页面、矛盾发现器,以及信任度排序的搜索。多空间(multi-space)能力则让一台服务器跑多个相互隔离的工作区,每个工作区有自己独立的 Git 仓库和搜索索引。
写入侧还有几个面向协作与 Agent 安全的细节:草稿空间(draft spaces)把 Agent 的改动先放进 Git 分支暂存,合并前不污染主线;任务认领(task claims)防止两个 Agent 同时改同一路径;Webhook 在写入/删除时向 Slack、CI 或自定义 URL 推送(带 HMAC 签名与退避重试);写入时还能用 JSON Schema 强制结构校验。
许可证与工程状态
KiwiFS 以 Business Source License 1.1(官方称为 Fair Source)发布,允许自托管和嵌入,每个版本在四年后自动转为 Apache 2.0。项目用 Go 编写,可嵌入为 pkg/kiwi 库——官方示例显示,四行代码就能把自己已有的 Go 应用挂上一个带 REST API、网页界面和文件树接口的完整知识服务器。
截至 2026 年 10 月,KiwiFS 最新版本为 v0.19.78(10 月 19 日发布),GitHub 星标约 866,仓库年龄约 6 个月,最近一次提交在 10 月 21 日,维护活跃。
它解决的到底是什么问题
把 KiwiFS 放进"AI 基础设施"这个品类看,它的对手是 RAGFlow、MCP Toolbox 这类开源方案,以及各类 SaaS 知识库。它的差异化很明确:不引入数据库,不引入只读检索层,也不依赖会消失的沙盒,而是让最朴素的 Markdown 文件获得搜索、版本和结构化能力。对需要给智能体和人类队友共享"结构化记忆"的开发者,这种"文件即真相"的极简哲学,恰好避开了很多知识库项目越做越重、Agent 却越来越难写的尴尬。
一句话总结:如果你的 Agent 还在用一堆 .md 文件硬撑记忆,KiwiFS 可能是那个把它升级成"会搜索、会版本、会协作的知识服务器"的最低成本方案。