目 录CONTENT

文章目录

一个完全跑在 Cloudflare Workers 上的开源 Markdown 笔记

过客
2026-10-23 / 0 评论 / 1 点赞 / 1 阅读 / 0 字

说实话,我看过太多"又一个笔记应用"的开局了。但 Inkstone 不太一样——它没有让你把自己的数据锁在某个 SaaS 公司的数据库里,也没有给你塞一堆你用不上的协作功能。它的核心卖点就一句话:​纯 Markdown 存储 + 完全自托管 + 跑在 Cloudflare Workers 上​。

你不需要买服务器,不需要维护 Docker,不需要操心备份脚本。你只需要一个 Cloudflare 账号(免费的就够),Fork 一个仓库,点几下,你的笔记应用就上线了。

Inkstone 到底是什么

一句话:一个运行在 Cloudflare Workers 上的自托管 Markdown 笔记本。

演示地址:https://inkstone-demo.pages.dev/

仓库地址:https://github.com/shuaiplus/inkstone

它的核心理念很简单——​笔记就是 Markdown 文件,永远不变成私有格式​。你写的东西,随时可以导出、迁移、用其他工具打开。没有供应商锁定。

几个让我觉得有意思的点

1. MCP 支持

这是我觉得 Inkstone 最酷的功能。它内置了私人的远程 MCP(Model Context Protocol)服务,意味着你的 AI 助手可以直接搜索和读取你的笔记。OAuth 2.1 + PKCE,API Key 可以随时撤销,权限粒度控制到只读/写入/回收站级别。

想想看:你在本地用 Cursor 、Continue、OpenClaw 或 Hermes,配置一下 MCP 指向你的 Inkstone 实例,AI 就能基于你的个人知识库回答问题了。数据完全在你自己手里,不经过任何第三方 AI 服务。

2. 离线编辑 + 多端同步

PWA 安装后离线能用,断网时写的本地有队列,恢复网络后自动同步。多标签页之间有 Durable Object 做实时通知,一台设备改了,另一台设备秒级感知。

3. 双存储模式:R2 vs KV

附件可以走 Cloudflare R2(便宜,量大)或者 Workers KV(更快,但容量有限)。小型个人用 KV 就够了,省得额外配置 R2。

4. 语义搜索(可选)

绑定 Workers AI 后可以开语义搜索,不绑也照样有 D1 的 FTS5 全文搜索,中文分词也有。

5. 备份

支持定时 WebDAV 或 S3 备份。我直接指向我的 Nextcloud,自动每天备份一次。导出格式就是普通 Markdown 文件 + 附件,不是专有格式。

部署到 Cloudflare(手把手)

整个部署过程大概 5 分钟,前提是你有 Cloudflare 账号和 GitHub 账号。

第一步:Fork 仓库

打开 https://github.com/shuaiplus/inkstone ,点 Fork 到你自己的 GitHub 账号。

第二步:Cloudflare Pages 创建

  1. 登录Cloudflare账号:https://dash.cloudflare.com
  2. 打开 Cloudflare Dashboard → Workers 和 Pages → 创建应用程序

  1. 选择 Connect with GitHub → 授权 GitHub

  1. 选你 Fork 的 inkstone 仓库

第三步:构建设置

这里有个坑要注意——​R2 模式和 KV 模式的部署命令不一样​。

R2 模式(附件存 R2,开启R2需要帮定支付方式/信用卡):

  • 构建命令: npm run build
  • 部署命令: npm run deploy

KV 模式(附件存 Workers KV,无需要绑卡):

  • 构建命令: npm run build
  • 部署命令: npm run deploy:kv
对比项 R2 模式 KV 模式
部署命令 npm run deploy npm run deploy:kv
附件存储 R2,10 GB 免费额度 Workers KV,1 GB
语义搜索(Workers AI) 可用 配置里没挂 AI 绑定
是否要绑支付方式 ​要​(R2 需过结算流程) 不要
适合谁 手上有卡、要全功能、附件多 学生党、纯白嫖党、附件不多

第四步:环境变量

这个Cloudflare 会自动绑定 DB(D1 数据库)和 FILES(R2)。如果你选了 KV 模式,还需要绑定 FILES_KV。一般情况下不需要手动设置。

如果要手动设置

D1 数据库在 存储和数据库 → D1 SQLite 数据库 → Create database 创建后,绑定到 Pages 函数的 DB 变量。

R2 存储和数据库 → R2对象存储,创建 Bucket 后绑定到 FILES。

KV 存储和数据库 → Workers KV → KV 创建后绑定到 FILES_KV。

第五步:部署

设置保存后,Cloudflare 会自动触发构建。等几分钟,看到部署完成后

访问分配的 pages.dev 地址,看到登录页面就成功了。首次访问会自动建表,创建管理员账号。

第六步:绑定自己的域名(可选)

Workers 和 Pages → inkstone → 域 → 添加域名 → 输入自己的域名

配置MCP

这里我们配置一下OpenClaw使用MCP连接上笔记

  1. 登录后设置 → MCP,找到 OpenClaw,复制内容直接丢给 OpenClaw

  1. 等待配置完成,然后点击授权链接

  1. 进入浏览器授权

  1. 从浏览器地址栏复制完整的 code —— 就是 code= 后面到 &state= 前面的完整字符串

  1. 将复制的内容发给OpenClaw,它会自己配置好。

  1. 测试

几个坑和注意事项

这是坑: Cloudflare 免费版的 D1 数据库有读取配额限制(每天 500 万行读取,每天 10 万行写入)。个人使用完全够用,但如果你重度使用或者多用户,注意别超限。

这是坑: 如果你用了 R2 存储附件,R2 免费层有 10GB 存储限制。图片多的注意清理。

建议: 部署前先看看项目的 SECURITY.md,了解安全最佳实践。默认配置已经比较安全,但如果你要开放给公网访问,建议加上 Zero Trust。

总结

Inkstone 是一个定位清晰的工具。它不跟你聊"AI 原生笔记",不跟你聊"第二大脑",就是老老实实做一个 Markdown 编辑器,让你完全控制自己的数据。

部署难度:​极低​(Cloudflare Pages 一键部署)
运维成本:​几乎为零​(Cloudflare 托管,自动扩缩容)
数据可控性:​完全可控​(纯 Markdown,随时导出)
扩展性:​够用​(MCP、语义搜索、WebDAV 备份)

如果你厌倦了 Notion 的供应商锁定,又不想自己维护 Nextcloud,Inkstone 是个值得试试的中间路线。

1

评论区