Loading... > 本文是一篇基于原帖的学习笔记与二次整理,不是原文转载。完整功能清单、部署步骤与版本说明请以原帖和项目仓库为准: > - 原帖:https://www.nodeseek.com/post-849481-1 > - 仓库:https://github.com/shuaiplus/inkstone > - 在线试用:https://inkstone-demo.pages.dev/ ## 它是什么 Inkstone 是一个**完全跑在 Cloudflare Workers 上的自托管 Markdown 笔记**。作者对它的定位很干脆——不上服务器、不装数据库,把整个笔记系统塞进 Cloudflare 的边缘运行时里。 截至写稿时,仓库数据是这样的: - Star **1106**、Fork **992** - 语言 TypeScript,创建于 2026-07-30,最近一次推送 2026-10-07 - 技术栈横跨 Cloudflare 全家桶:**Workers + D1 + KV + R2 + Durable Objects** - 前端是 React + CodeMirror 6,服务端框架用 Hono - 许可证为自定义(GitHub 标注 Other),**商用/二次分发前建议自行读一遍许可条款** 论坛里有个用了半个月的反馈挺有代表性:他原本用 Obsidian,觉得"重了一点",换成 Inkstone 之后把它当成了轻量化知识库,理由主要是 **MCP 打通了 PC 和移动端,随时随地读写**。 ## 功能面:不只是"能写 Markdown" 按原帖的功能表整理,它覆盖的面比想象中宽: **写作与编辑** CodeMirror 6 编辑器、可独立编辑的笔记标题、桌面双笔记窗格(两栏可各自设置纯编辑/分栏/纯预览)、双向滚动、大纲、专注模式、打字机模式、自动保存、版本历史。 **Markdown 支持** 表格、任务列表、脚注、定义列表、Callout、标签页、折叠块、数学公式、Mermaid、代码高亮、Front Matter、Pandoc 属性——基本是"该有的都有"。 **整理与关联** 支持拖拽排序的多级文件夹、正文标签、收藏、置顶、归档、回收站,以及 Wiki 双链、反向链接、块引用、笔记嵌入、**关系图谱**。这一组功能说明它不是"随手记",而是奔着知识库去的。 **搜索** 基于 **D1 FTS5** 的全文搜索(含中文索引)、条件筛选、命令面板;还提供由 Workers AI 驱动的可选私有语义/混合搜索。 **MCP(这是它最大的差异点)** 提供私有远程 MCP 服务:带 PKCE 的 OAuth 2.1 授权、可撤销的 `ink_...` API Key、标准的 `search`/`fetch` 工具、分段读取、版本安全写入、独立回收站权限、账号级授权管理。 换句话说——**AI 客户端可以合法地读写你的笔记库**,而不是靠文件同步曲线救国。 **可靠性与分享** 可安装 PWA、离线启动、浏览器本地缓存、**离线写入队列 + 乐观并发控制**、过期同步保护、冲突副本、实时通知。分享方面支持给公开笔记链接设置访问口令和有效期。 **可迁移性** JSON / ZIP 导出、可直接阅读的 Markdown、附件导出,以及**手动或定时的 WebDAV / S3 备份**。   ## 0.4.0 更新了什么 这一版的主题是**内容进出与双笔记工作区**。作者明确说明:**不涉及数据库结构变更,无需迁移**,已有笔记、设置、附件和离线数据保持兼容(不过照例建议部署前留一份备份)。 新增六项: 1. **剪贴板图片粘贴 + 浏览器端优化**。即使剪贴板没把截图暴露成普通文件,也能直接粘贴图片数据;过大的图会在上传前由浏览器缩放压缩,减少传输时间和 R2/KV 占用。 2. **独立标签管理**。侧边栏可打开标签面板,搜索标签、在正文中统一重命名、改色或清除颜色、删除标签。 3. **附件管理与清理**。"设置 → 数据"里新增附件管理器,可查看每个附件被多少篇笔记引用、单独删除、并清理未被引用的文件。 4. **单篇笔记导出 Markdown / HTML / PDF**。可从工作区或笔记右键菜单导出;Markdown 带标题 Front Matter,HTML 是可独立打开的完整文档并内嵌私有图片,PDF 走浏览器打印流程。 5. **Obsidian 仓库 ZIP 导入**。能识别普通 Markdown 路径和 Obsidian Wiki 嵌入引用的图片与 PDF,上传为私有附件并改写正文引用;Obsidian 的 `%%` 注释转成隐藏 HTML 注释,数组或嵌套格式的 Front Matter 标签也会保留。 6. **桌面双笔记编辑组**。可通过列表按钮、右键菜单或按住 Alt 点击,在当前笔记旁再开一篇;两栏布局独立、中间分隔线可拖动,刷新后能恢复组合、活动组、布局和分隔比例。 ## 0.2.0 打的地基 0.4.0 的很多体验其实建立在 0.2.0 上,那版做的是"让它像个日常应用": - **可安装、可离线启动的 PWA**:服务器或网络暂时不可用时,应用外壳和本地会话快照仍能启动,离线写入队列继续保护未同步的编辑。 - **更新提醒**:站长进入主界面后后台检查官方仓库,发现更高的稳定版本会提示;可以忽略、推迟,或去手动同步 Fork。**普通成员看不到部署提醒**——这个权限设计挺克制。 - **可编辑的自定义笔记标题**:不再强制侧边栏标题等于正文第一个标题,且自定义标题照常参与同步、导入、导出和版本历史。 另外 0.2.0 还改进了设置入口的可见性,并把 PWA 后台更新改成**必须用户确认**,刷新前先保存待处理的更改、并暂时保留上一版缓存,避免已打开的旧标签页加载资源失败。 ## 部署:命令很短,门槛在别处 原帖给的部署命令就三条: ``` npm run build npm run deploy npm run deploy:kv ``` 看起来比装一套 Docker 栈简单得多。但**真正的工作量不在敲命令**,而在前置准备: - 你得先在 Cloudflare 侧把 **D1、KV、R2** 这些绑定建好(项目还用到了 Durable Objects),拿到对应的 id 填进配置; - Workers 的部署方式是配合 `wrangler` 走的,账号鉴权要先捋顺; - 如果启用 Workers AI 的语义搜索,还要确认对应额度与模型可用性。 **所以"三条命令"描述的是最后一步,不是全部。** 建议先把原帖和仓库 README 里的绑定配置读完整再动手。 ## 我的判断:适合谁,不适合谁 **适合:** - 已经深度使用 Cloudflare 的人。Workspace 里的 D1/KV/R2 本来就是现成的,边际成本近乎为零,这套方案几乎是白捡一个笔记系统。 - 想让 AI 直接读写笔记的人。**MCP + OAuth 2.1 + API Key 这一套是它和同类产品拉开差距的地方**,不用再靠导出目录给模型喂文件。 - 需要多端且不想自建 VPS 的人。边缘运行时天然全球化,不用管机房、不用管证书续期。 **要谨慎:** - **绑定 Cloudflare 是这个方案最大的结构性代价。** 它不是可以随处搬的容器化应用,想迁到自己的服务器基本等于重写部署方式。真正让它"可撤退"的,是那套导出 + WebDAV/S3 备份能力——**这两件事一定要在投入使用前就配好**,别等笔记攒多了才想迁移。 - **0.x 版本迭代速度快**(帖子同时列了 0.2.0 和 0.4.0 的变更),功能在快速补齐,接口和行为也可能变。作者做了"不需要迁移"的兼容承诺,但长期看仍要跟版本。 - **许可证不是常见的 MIT/Apache**,GitHub 标的是 Other。自用没问题,要二次分发或商用请先读条款。 - Fork 数(992)接近 Star 数(1106)这个比例挺反常,通常意味着**大量人是"先 Fork 再自建"**——侧面说明部署确实是主要门槛。 ## 一句话总结 如果你的资产已经躺在 Cloudflare 上,Inkstone 值得花一个下午试一下——它把"自托管笔记"这件事的运维成本压到了接近零,同时用 MCP 把笔记库变成了 AI 可以正经调用的数据源。但正因为托管在别人家的边缘网络上,**导出和备份要先配好再开始记笔记**。 ## 来源与说明 - 原帖:【开源】Inkstone —— 部署在 Cloudflare workers 上的全能 Markdown 笔记(更新 0.4.0) https://www.nodeseek.com/post-849481-1 - 项目仓库:https://github.com/shuaiplus/inkstone - 在线演示:https://inkstone-demo.pages.dev/ - 项目数据(Star / Fork / 语言 / 时间)取自 GitHub API,为 2026-10-13 抓取时的快照。 > 版权说明:本文为基于公开资料的学习笔记与二次整理,原文版权归原作者所有。文中引用内容仅用于介绍、评论与学习交流,已尽量保留来源链接。如原作者认为引用不当,请联系删除或调整。 Last modification:October 16, 2026 © Reprinted from other stations Like 如果觉得我的文章对你有用,请随意赞赏