Anchor:自托管、离线优先的 Google Keep 替代笔记应用
阅读时间: 大约 6 分钟
Anchor:自托管、离线优先的 Google Keep 替代笔记应用

自托管笔记赛道过去几年基本被两个产品占据:Memos 偏轻量博客流,SilverBullet 又偏极客。中间”想要一个像 Google Keep 那样卡片化、移动端流畅、又能自己托管”的位置,长期没有特别顺的方案。Anchor(GitHub: zhfahim/anchor)正是填这个空位的——一个自托管、离线优先的笔记应用,UI 走纸条卡片风格,且罕见地在移动端原生体验上下了功夫。本文基于其官方 README 与 koala 条目,梳理它的能力边界与取舍。
一、它是什么
Anchor 官方自我定位是”An offline first, self hostable note taking application”,强调在移动端与 Web 端同时兼顾速度、隐私、简洁与可靠。核心数据模型很朴素:笔记存在本地、断网可编辑、联网后跨设备自动同步。
技术栈对自托管者相当友好且现代:
| 层 | 实现 |
|---|---|
| 后端 | Nest.js + PostgreSQL |
| 移动端 | Flutter 原生(iOS / Android) |
| Web 端 | Next.js |
| 协议 | AGPLv3 |
| 部署 | 官方提供 Docker 镜像,开箱即用 |
截至 koala 收录时,其 GitHub 星标约为 914,属于仍在快速成长的早期项目。
二、功能面:一张相当完整的清单
Anchor 的功能覆盖度,比起”极简笔记”要全得多,官方 README 列出的能力包括:
- 富文本编辑器:加粗、斜体、下划线、标题、列表、复选框;
- 离线优先:所有编辑在本地数据库完成,断网照常可用;
- 笔记分享:可把笔记以”查看者”或”编辑者”权限分享给其他用户;
- 历史版本:可读回笔记的早期版本并一键还原;
- 标签系统:自定义标签与配色;
- 附件:可附加图片与音频;
- 提醒:给任意笔记设时间,在手机上收到一次或重复通知;
- 搜索 / 归档 / 回收站:本地按标题或内容搜索,软删除后保留恢复期;
- 导入导出:整库备份,或以纯 Markdown 进出;
- 桌面小组件:Android 主屏挂件快速访问笔记;
- 管理面板:用户管理、注册开关、系统统计;
- OIDC 登录:可接 Pocket ID、Authelia、Keycloak 等 OpenID Connect 提供方。
部署也简单——官方给出的 docker-compose.yml 只需声明 ghcr.io/zhfahim/anchor:latest 镜像、映射 3000 端口并挂载数据卷即可起服。
三、定位:为什么是”Google Keep 替代”
koala 的点评抓住了要害:Anchor 走的是卡片化、移动端体验流畅、自托管多用户的路线,在移动端用 Flutter 原生实现,iOS 和 Android 都不像”凑数的 WebView 套壳”。对介意数据主权、又忍受不了自托管圈典型粗糙体验的人,这正是它的卖点。相比 Memos 的轻博客气质、SilverBullet 的极客 markdown 工作流,Anchor 更接近”随手记、随手贴、多设备同步”的日常笔记心智。
四、冷静看待:协议与同步模型的 nuance
两点需要在选型时明确:
- AGPLv3 是强 copyleft。这意味着如果你只是自己用、自托管给团队或小圈子,没有问题;但如果想把 Anchor 内嵌进商业产品或闭源 SaaS,AGPLv3 的网络服务条款会触发开源义务。想商用集成的团队必须先评估许可证。
- “自动同步”是最终一致,而非实时协作。Anchor 主打离线优先、联网同步,适合个人与小团队的多设备笔记;它并不是为多人实时协同编辑同一条笔记设计的。把它当 Evernote/Keep 用是对的,当 Notion 实时协作文档用则会失望。
此外,作为早期项目(约 900 星),其 API、插件生态与长期维护节奏仍需观察;多用户分享与权限模型也相对简单。
五、优势与局限
优势:
- 离线优先 + 多端:本地可编辑、联网自动同步,移动端原生体验扎实;
- 自托管友好:Nest.js+Postgres、Docker 一键起服、OIDC 可接现有身份体系;
- 功能完整:富文本、标签、提醒、历史版本、Markdown 导入导出一应俱全。
局限:
- AGPLv3 限制商业闭源集成;
- 非实时协同:同步模型面向个人多设备,不是多人实时共编;
- 生态早期:插件、模板与社区规模仍小。
六、适合谁用
- 想要一个能自己托管、又不像 Memos/SilverBullet 那样气质特殊的日常笔记的个人与小团队;
- 重视移动端原生体验、有离线使用需求的用户;
- 已搭好 OIDC(Pocket ID/Authelia/Keycloak)、希望统一登录的自托管玩家。