Memos Webhook 与导出完全指南
Memos 是一个开源、自托管的笔记服务,支持 Webhook 和多种数据导出方式。
一、Webhook 使用指南
Memos 的 Webhook 功能可以实现笔记创建时的自动通知和同步,主要有两种使用方式:
1.1 Memos 发送 Webhook(主动推送)
当你在 Memos 中创建新笔记时,Memos 会向指定 URL 发送 POST 请求。
配置步骤
- 登录 Memos,进入 设置 → Webhook
- 点击 创建 Webhook
- 填写配置:
- URL:接收 webhook 的目标地址
- 触发事件:通常选择
memo.created - 保存配置
Webhook 请求格式示例
{
"creatorId": 1,
"createdTs": 1234567890,
"content": "笔记内容",
"visibility": "PUBLIC",
"id": 123
}
1.2 向 Memos 发送 Webhook(写入笔记)
通过 HTTP API 直接向 Memos 写入内容。
请求方式
POST https://你的memos地址/api/v1/memos
Headers
Authorization: Bearer 你的Token
Body (JSON)
{
"content": "笔记内容",
"visibility": "PUBLIC"
}
1.3 常见自动化场景
| 场景 | 工具 | 说明 |
|---|---|---|
| Memos → Flomo | n8n / Activepieces | 新笔记自动同步到 Flomo |
| Memos → Flarum | Activepieces | 笔记自动发布到论坛 |
| Mastodon → Memos | Docker + 脚本 | 嘟文自动保存到 Memos |
| Flarum → Memos | Webhook + 中间件 | 论坛帖子同步到笔记 |
二、笔记导出功能
Memos 支持导出所有笔记,但方式和传统笔记软件略有不同。
2.1 支持的导出方式
| 方式 | 说明 |
|---|---|
| 数据库文件备份 | 所有数据存储在 SQLite/MySQL/PostgreSQL 数据库中,直接备份数据库文件即可 |
| API 导出 | 通过 REST API 获取所有 memo 数据(JSON 格式) |
| Markdown 纯文本 | Memo 内容本身就是 Markdown 格式存储 |
2.2 具体操作方法
方法 1:直接备份数据库文件(最简单)
# Docker 部署
cp /var/opt/memos/memos_prod.db ~/backup/
# 查看数据库内容
sqlite3 memos_prod.db "SELECT * FROM memo;"
方法 2:使用 API 导出 JSON
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://你的memos地址/api/v1/memos
方法 3:SQLite Dump 命令
sqlite3 /root/memos/memos_prod.db .dump > backup.sql
2.3 注意事项
- Memos 没有内置"一键导出为 Markdown 文件"的界面功能
- 数据通过 API 获取是 JSON 格式,内容字段为 Markdown
- 如需导出为单独的 .md 文件,需要自己编写脚本处理
- SQLite 数据库文件通常位于
store/db/sqlite目录
三、常见问题
Q1: Memos 支持哪些数据库?
A: Memos 支持 SQLite、MySQL 和 PostgreSQL 三种数据库。
Q2: 如何定期自动备份?
A: 可以使用 crontab 定期执行数据库文件复制,或使用 Docker 的 volume 备份功能。
Q3: 导出的 JSON 数据包含哪些字段?
A: 包含笔记 ID、创建者 ID、创建时间戳、内容、可见性等字段。