Loading... # Inkstone:把 Markdown 笔记塞进 Cloudflare Workers,还带远程 MCP 在 Cloudflare Workers 上跑笔记服务,听起来像是"为了免费额度硬凑方案",但 Inkstone 这个项目把这件事做成了一个完成度相当高的东西——它不只是个 Markdown 编辑器,而是带文件夹、双链、全文搜索、版本历史和**远程 MCP 接口**的完整笔记系统。目前更新到 **v0.4.0**。 - 项目地址:https://github.com/shuaiplus/inkstone - 在线 Demo:https://inkstone-demo.pages.dev ## 它解决的是什么问题 自托管笔记的常见矛盾是:想要数据在自己手里,但不想养一台常驻服务器。 Obsidian 是本地优先,但同步要自己想办法;Notion 这类云端服务体验好,但数据不在自己手上;传统自托管方案(比如各种 Wiki)往往需要一台 VPS 常开,一年下来是笔固定开销。 Inkstone 的思路是**把服务端放到 Serverless 上**:Cloudflare Workers 负责应用逻辑,D1(SQLite)存结构化数据,KV 和 R2 存配置与附件。对个人用量来说这些通常落在免费额度内,等于"零成本自托管"。 ## 核心能力 ### 写作与编辑 编辑器用的是 **CodeMirror 6**,支持笔记标题独立编辑。比较特别的是**桌面双笔记窗格**——可以在当前笔记旁边再开一篇,左右两组的布局(仅编辑/编辑+分栏预览/仅预览)各自独立,刷新后连分隔比例都能恢复。 还带专注模式、打字机模式、自动保存和版本历史。 ### Markdown 支持 覆盖得相当全:表格、任务列表、脚注、定义列表、Callout、标签页、折叠块、数学公式、Mermaid 图表、代码高亮、Front Matter、Pandoc 属性。 ### 整理与检索 多级文件夹支持拖拽排序,加上标签、收藏、置顶、归档、回收站,以及 **Wiki 双链、反向链接、块引用、笔记嵌入和关系图谱**——这套组合基本是 Obsidian 用户的肌肉记忆。 搜索基于 **D1 的 FTS5** 全文索引,做了中文索引,支持条件筛选和命令面板。另外还提供由 Workers AI 驱动的**可选私有语义/混合搜索**。 ### MCP 支持(这个值得单独说) Inkstone 提供了**私有远程 MCP**,带 PKCE 的 OAuth 2.1 授权、可撤销的 `ink_...` API Key,暴露标准的 `search` / `fetch`,还有分段读取、版本安全写入、独立回收站权限和账号级授权管理。 **个人看法**:MCP 能力是当前笔记工具最有价值的分水岭。笔记系统天生是 AI 的上下文来源——如果把笔记暴露成标准 MCP 接口,任何支持 MCP 的客户端都能直接读写你的知识库,不需要为每个 AI 工具单独做集成。Inkstone 把 MCP 做成远程私有端点而不是本地进程,意味着手机端也能用,这点比只在桌面端提供 MCP 的方案实际得多。 ### 可靠性设计 这是我觉得项目比较认真的地方: - 可安装 **PWA**,支持离线启动 - 浏览器本地缓存 - **离线写入队列 + 乐观并发控制**——常用操作立即本地生效,失败可回滚 - 过期同步保护、冲突副本 - 实时通知,并带主标签页轮询降级 **离线写入队列加乐观并发**,通常是协作类应用才认真做的功课。放在个人笔记场景里,说明作者确实考虑过"地铁里改了笔记,出站后怎么合"这类真实问题。 ### 分享与迁移 - 公开笔记链接可设访问口令和有效期 - JSON / ZIP 导出,Markdown 可直接阅读,附件也可导出 - 支持**手动或定时 WebDAV / S3 备份** **可迁移性这点必须夸一下**。笔记工具是长期陪伴型软件,用户最怕的是数据被锁死。能导出成"可直接阅读的 Markdown"、还能定时备份到自己的 WebDAV/S3,这两条等于给了退出通道——反而更容易让人敢于投入。 ### 界面 桌面与移动布局自适应、深浅主题、强调色可换、简中与英文双语,以及仅站长可见的版本更新提醒。 ## v0.4.0 新增了什么 这一版的主题是「内容导入导出与双笔记工作区」。**不修改数据库结构,无需迁移**,已有笔记、设置、附件和离线数据保持兼容(但按自托管惯例,升级前仍建议留一份备份)。 - **剪贴板图片粘贴优化**:即使剪贴板没把截图暴露成普通文件,也能直接粘贴图片数据;过大的图会在上传前由浏览器缩放压缩,减少传输和 R2/KV 占用 - **独立标签管理**:侧边栏打开标签面板,可搜索、在正文中统一重命名、改色、删除 - **附件管理与清理**:「设置 → 数据」里能浏览筛选文件、查看每个附件被多少篇笔记引用、清理未引用文件 - **单篇笔记导出**:Markdown(含标题 Front Matter)/HTML(独立文档并内嵌私有图片)/PDF(走浏览器打印) - **Obsidian 仓库 ZIP 导入**:能识别普通 Markdown 路径和 Obsidian Wiki 嵌入引用的图片/PDF,上传为私有附件并改写正文引用;`%%` 注释转成隐藏 HTML 注释,数组或嵌套格式的 Front Matter 标签继续保留 - **桌面双笔记编辑组**:可通过按钮、右键菜单或 Alt 点击打开 其中 **Obsidian 仓库导入**是最实用的一条——它把迁移成本压到了"打包上传"。而且保留 `%%` 注释和嵌套 Front Matter 这些细节,说明作者对 Obsidian 的数据格式做过认真适配,不是简单解析一下 Markdown 就完事。 ## 部署 ```bash npm run build npm run deploy npm run deploy:kv ``` ## 个人看法与注意事项 **适合谁**:想要笔记数据在自己手里、又不想养 VPS 的人;已有 Cloudflare 账号、能接受 Serverless 心智模型的用户;以及希望把笔记库接进 AI 工作流、看重 MCP 支持的场景。 **几点需要留意**: 1. **Serverless 有平台绑定。** 数据在 D1、附件在 R2,虽然能导出,但你实际上是在 Cloudflare 生态里。如果对"平台锁定"敏感,这一点要想清楚——好在它的备份和导出机制还算完整,属于"可退出"的绑定。 2. **免费额度是前提。** Workers、D1、R2 对个人笔记量通常够用,但附件多、语义搜索用得多的话,要盯一下用量。R2 出网流量有免费额度,超额会计费。 3. **语义搜索依赖 Workers AI**,属于可选能力,不用也行——FTS5 全文搜索本身已经能覆盖大部分检索需求。 4. **v0.4.0 不需要迁移**是加分项,自托管项目能做到"升级不动数据库"的不多。 想快速判断是否合口味,建议先开 Demo 试一下(https://inkstone-demo.pages.dev),重点看双笔记窗格和 MCP 这两块——它们最能体现这个项目和普通 Markdown 编辑器的差别。 ## 来源 - 原帖:NodeSeek「【开源】Inkstone —— 部署在 Cloudflare workers 上的全能 Markdown 笔记(更新0.4.0)」 https://www.nodeseek.com/post-849481-1 - 项目仓库:https://github.com/shuaiplus/inkstone - 在线 Demo:https://inkstone-demo.pages.dev 本文为基于公开资料的整理与点评,功能描述以项目仓库和原作者说明为准。原文版权归原作者所有,本文未复制原文正文,引用内容仅用于介绍与评论。 > 版权说明:如原作者认为引用不当,请联系删除或调整。 Last modification:September 23, 2026 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏