Memos:开源、可自托管的轻量笔记应用 #
Memos 是什么? #
Memos 是一款开源、可自托管的轻量级笔记应用,它抛弃了传统的“标题 + 文件夹”结构,让你像发动态一样随手记下一两句话。它把每条笔记按时间线排列,结合日历视图、地图定位、标签和全文搜索,让你日后能凭“什么时候写的、在哪儿写的、写了什么”轻松找回。Memos 采用 MIT 许可证,全部数据存放在你自己部署的实例数据库中,新笔记默认私密,软件本身不发送任何使用数据或分析统计。它适合希望掌控数据主权的个人用户、开发者、写作者,以及拥有 NAS 或家庭服务器的 Homelab 玩家,作为 Google Keep、Notion、Evernote 的轻量自托管替代方案。
Memos 有哪些亮点特色? #
-
随手记录,零结构负担:不用起标题、不用建文件夹,打开输入框写下“Any thoughts…”按 Ctrl+Enter 即存。想整理时再用标签(如
#reading/books)和 Space 归类,符合“先记录、后整理”的真实习惯。 -
一条时间线,多种找回方式:所有笔记按时间倒序排布,配合日历视图(一眼看到整月写了什么)、地图视图(按记录地点定位)、搜索与标签筛选,即使只记得“上周在咖啡馆写的那句话”也能快速定位。
-
纯 Markdown 存储,格式不锁定:笔记内容以纯 Markdown 文本形式保存,支持 GitHub Flavored Markdown、代码块语法高亮、表格、任务清单、脚注、删除线、Mermaid 流程图与时序图,以及带显式定界符的 LaTeX 数学公式,导出后依然可读。
-
自托管,数据完全属于你:官方提供一条 Docker 命令即可启动实例,数据持久化在本机目录中(默认 SQLite,也支持 MySQL 与 PostgreSQL)。开源 MIT 许可、无授权费用、零遥测,服务发不发数据由你决定。
-
四级可见性,私密优先:每条笔记可选 PRIVATE(仅自己可见)、PROTECTED(实例内登录用户可见)、PUBLIC(开启公开访问后匿名可读)、SPACE(指定空间成员可见)。新笔记默认私密,分享链接可随时撤销或过期。
-
像 App 一样使用(PWA):内置 Web App Manifest,支持的浏览器可把 Memos 安装到手机主屏或桌面,拥有独立图标与独立窗口,功能与浏览器版本完全一致,实例升级后无需经过应用商店即可用上新版。
-
开放 API 与外部集成:提供 REST 与 gRPC API 便于自动化与二次开发;配套 Web Clipper 可把网页存进 Memos,也能通过 Telegram 直接向实例发送消息,实现“离站也能记”。
-
多端可及,部署灵活:官方提供 macOS(Intel / Apple Silicon)与 Windows 等平台的可执行文件包,服务端可跑在服务器、NAS 或 Homelab 上,前端界面则通过任意浏览器在桌面与移动设备访问。

免费下载 Memos #
以下为官方提供的各平台安装包,点击链接即可下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| memos_0.31.0_darwin_amd64.tar.gz | macOS(Intel x86-64)压缩包 | 21.2 MB | 夸克网盘 |
| memos_0.31.0_darwin_arm64.tar.gz | macOS(Apple Silicon / ARM64)压缩包 | 20.1 MB | 夸克网盘 |
| memos_0.31.0_windows_amd64.zip | Windows(x86-64)压缩包 | 21.2 MB | 夸克网盘 |
说明:上述文件对应 Memos v0.31.0(官网当前最新发布版本)。Docker 用户也可直接使用官方镜像
neosmemo/memos:stable或指定版本neosmemo/memos:0.31.0部署服务端。
Memos 如何使用? #
第 1 步:启动并访问实例。
用 Docker 启动服务端后,浏览器打开 http://localhost:5230(Docker 默认端口;直接运行二进制文件时默认端口为 http://localhost:8081)。若页面打不开,可先执行 docker logs memos 查看日志确认容器状态。
第 2 步:创建第一个管理员账号。 首次访问时注册的第一个用户会自动成为实例管理员(host admin),拥有配置注册开关、认证方式、存储等全局设置的权限。官方建议使用强密码,并在实例设置中决定是否开放用户注册、是否允许公开笔记访问。
第 3 步:写下第一条 memo。 在侧边栏打开全局输入框,确认当前选中的 Space 与可见性后直接书写内容。可以立刻尝试这些写法:
# Welcome to Memos
This is my first memo.
## Tasks
- [x] Install Memos
- [ ] Write a real note
## Tags
Trying #memos and #getting-started
## Code
```ts
console.log("hello from memos");
此外还可以上传截图或文档作为附件、把重要笔记置顶(Pin)、用 `#tagname` 内联创建标签。
**第 4 步:理解可见性。**
每条笔记使用四种可见性之一,新建笔记默认是 PRIVATE。PRIVATE 仅自己可读;PROTECTED 供实例内已登录用户阅读;PUBLIC 在开启公开访问后允许匿名访客阅读;SPACE 仅对该笔记所属空间的活跃成员开放(SPACE 笔记不支持分享链接)。
**第 5 步:探索进阶工作流。**
第一条笔记完成后,建议依次了解:Markdown 写作、标签、Spaces 空间、Views 视图、分享与附件管理。需要外部采集时,可用 Web Clipper 保存网页,或通过 Telegram 直接向实例发送消息。
## Memos 的常见问题?
**Memos 是免费的吗?**
是的。Memos 是以 MIT 许可证发布的开源软件,没有授权费用。托管可能产生成本,具体取决于你选择的硬件或云服务商。
**我可以自托管 Memos 吗?**
可以。你可以在自己的服务器、NAS 或 Homelab 上用 Docker 运行它,数据库支持 SQLite、MySQL 和 PostgreSQL 三种。
**Memos 支持 Markdown 吗?**
支持。笔记内容用 Markdown 书写,包括列表、代码块和任务清单;Memos 把内容存储在实例数据库中,并支持将笔记导出为 ZIP 归档。
**和 Google Keep、Notion、Evernote 相比该怎么选?**
如果你希望快速写短笔记、之后再按搜索、标签或日期找回,并且运行在你自己掌控的服务器上,Memos 是合适的开源替代方案。建议按自己最在意的工作流去做实际对比。
**我的数据存在哪里?是否私密?**
笔记存储在你所使用的 Memos 实例数据库中。新笔记默认私密,每条笔记的可见性设置决定谁可以查看;托管与备份由运行该实例的人负责。
**为什么访问 `http://localhost:5230` 打不开?**
先执行 `docker logs memos` 查看容器日志;如果数据目录不可写,请检查 `~/.memos` 的权限。若需要匿名公开主页与 Explore 页面,需在实例设置中开启公开访问;使用反向代理时,应把 `MEMOS_INSTANCE_URL` 设置为规范化的 HTTP(S) 地址,该项与公开访问策略相互独立。
## Memos 如何安装?
### 前置条件
- 机器上已安装 Docker(推荐方式)。
### 方式一:Docker 一条命令部署(推荐,适用于 Linux / macOS / Windows / NAS)
1. 在终端或命令行中执行:
```bash
docker run -d \
--name memos \
-p 5230:5230 \
-v ~/.memos:/var/opt/memos \
neosmemo/memos:stable
- 该命令会:把 5230 端口暴露到宿主机、把数据持久化到
~/.memos、默认使用 SQLite,并创建一个易于检查和替换的容器。 - 若需固定版本,把镜像标签改为
neosmemo/memos:0.31.0。 - 打开浏览器访问
http://localhost:5230,注册第一个用户即为管理员。 - 如需使用说明文件方式部署,官方提供了 Docker Compose 方案;如需自定义或固定构建,可从源码构建。
注意:在全新实例上,此命令会初始化为私有访问模式——普通笔记页面需要登录,匿名 Explore 不可用。在 0.31 中,保存的
ACCESS实例设置独立于规范 URL 控制该策略。
方式二:使用二进制包安装(macOS / Windows) #
- 从上方下载表格获取对应平台压缩包:macOS Intel 选
memos_0.31.0_darwin_amd64.tar.gz,macOS Apple Silicon 选memos_0.31.0_darwin_arm64.tar.gz,Windows 选memos_0.31.0_windows_amd64.zip。 - 解压压缩包到任意目录(macOS 可用
tar -xzf 文件名,Windows 可直接右键解压)。 - 运行解压出的
memos可执行文件;macOS 若提示来源不明,可在“系统设置 → 隐私与安全性”中允许运行,或执行chmod +x memos后再启动。 - 打开浏览器访问
http://localhost:8081,注册第一个管理员账号。 - 生产环境建议配合反向代理并设置
MEMOS_INSTANCE_URL为对外访问的规范地址。
方式三:从源码构建(开发者) #
-
准备工具链:Go 1.27+、Node.js 24+、pnpm 11+、Git,以及处理生成式 API 代码时所需的
buf等仓库工具。 -
克隆仓库并安装依赖:
git clone https://github.com/usememos/memos.git cd memos go mod download cd web pnpm install -
确认 Go 能正常构建;除非专门需要测试 MySQL 或 PostgreSQL,否则首选 SQLite。
Memos 如何卸载? #
Docker 部署的卸载 #
-
停止并删除容器:
docker rm -f memos -
若不再需要已有笔记数据,删除数据目录(请务必先备份):
rm -rf ~/.memos -
如需彻底清理,可再删除本地镜像:
docker rmi neosmemo/memos:stable
注意:容器删除不会自动删除宿主机上的
~/.memos目录,笔记数据仍保留在那里,需手动清理。
macOS / Windows 二进制安装的卸载 #
- 关闭正在运行的 Memos 进程(Windows 可在任务管理器中结束
memos进程;macOS 可在活动监视器中退出)。 - 删除解压出来的程序目录及
memos可执行文件。 - 清理数据目录:默认数据存放于
~/.memos(Windows 通常位于用户目录下的.memos文件夹,例如C:\Users\你的用户名\.memos),确认已备份后手动删除。 - 如果曾把 Memos 作为 PWA 安装到桌面或手机主屏,可在浏览器或系统的应用列表中单独卸载该快捷方式,不影响服务器端数据。
从源码安装的卸载 #
- 停掉本地运行的服务进程。
- 直接删除克隆下来的
memos仓库目录。 - 视需要清理 Go 模块缓存与
web目录下的node_modules。 - 若本地实例使用 SQLite,同样记得处理
~/.memos中的数据库文件。
