跳过正文
Background Image

生产力起飞!如何实现 Memos 自动同步至飞书群聊?

·1416 字·3 分钟·
Tabor
作者
Tabor
分享技术,记录生活
目录

你是否习惯在 Memos 上随手记录灵感,却又希望这些碎碎念能实时同步到飞书,方便团队查阅或提醒自己?

由于 Memos 和飞书的 Webhook 数据格式“语言不通”,直接填地址是无法成功的。今天,手把手教你利用 Cloudflare Workers 搭建一个免费的中间“翻译官”,实现秒级同步!


🛠️ 准备工具
#

  1. Memos 账号(已部署好实例)
  2. 飞书 群机器人(获取 Webhook 地址)
  3. Cloudflare 账号(用于部署免费的转发脚本)

第一步:获取飞书机器人地址
#

  1. 进入飞书群聊,点击 设置 -> 机器人 -> 添加机器人
  2. 选择 “自定义机器人” ,设置好名字(如:Memos 助手)。
  3. 复制生成的 Webhook 地址(格式如:https://open.feishu.cn/open-apis/bot/v2/hook/xxx)。

image

  1. 安全设置: 建议先不设置自定义关键词和 IP 白名单,方便调试。

第二步:搭建“翻译官” Cloudflare Worker
#

这是最关键的一步,我们需要一个中间层把 Memos 发出的数据包转换成飞书能看懂的“卡片”。

  1. 登录 Cloudflare,进入 Workers & Pages
  2. 点击 Create Application -> Create Worker,起名 memos-to-feishu
  3. 点击 Edit Code,将代码框内容全部清空,粘贴以下最新增强版代码:
export default {
  async fetch(request, env, ctx) {
    if (request.method !== "POST") return new Response("Method Not Allowed", { status: 405 });

    try {
      const body = await request.json();
      
      // 兼容 Memos 不同版本的数据结构解析
      const memoData = body.memo || body.data || body;
      const memoContent = memoData.content || "内容为空或解析失败";
      const creator = body.creatorName || memoData.creatorName || memoData.creator?.nickname || "Memos用户";

      // 构建飞书美观卡片
      const feishuPayload = {
        "msg_type": "interactive",
        "card": {
          "header": {
            "title": { "tag": "plain_text", "content": "🌟 Memos 新动态" },
            "template": "blue" // 蓝色标题栏
          },
          "elements": [
            {
              "tag": "div",
              "text": {
                "tag": "lark_md",
                "content": `**发布者:** ${creator}\n**正文内容:**\n${memoContent}`
              }
            },
            { "tag": "hr" },
            {
              "tag": "note",
              "elements": [{ "tag": "plain_text", "content": `同步时间:${new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })}` }]
            }
          ]
        }
      };

      // ⚠️ 这里替换为你第一步复制的飞书 Webhook 地址
      const FEISHU_URL = "https://open.feishu.cn/open-apis/bot/v2/hook/你的代码";

      await fetch(FEISHU_URL, {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify(feishuPayload),
      });

      return new Response("Success", { status: 200 });
    } catch (err) {
      return new Response("Error: " + err.message, { status: 500 });
    }
  },
};
  1. 点击右上角 Save and Deploy 部署。
  2. 部署完成后,在页面上方找到该 Worker 的 URL 地址(例如:https://memos-to-feishu.xxx.workers.dev​),并复制它
  3. 有需要的,可以设置自定义域名

2026-03-11_14-39-09_1

  1. 对自定义域名安全规则中设置“跳过TTS检查”

2026-03-11_14-42-06

2026-03-11_14-42-23


第三步:在 Memos 中开启推送
#

  1. 登录你的 Memos 网页端,点击 设置 (Settings) -> 系统 (System) -> Webhooks

  2. 点击 创建 (Create)

    • 名称: 飞书推送
    • Payload URL: 粘贴你在第二步获得的 Cloudflare Worker URL
  3. 点击保存。

2026-03-11_14-57-10


🚀 测试一下!
#

现在,试着在 Memos 发送一条动态。不到 1 秒钟,你的飞书群就会弹出一条精致的蓝色卡片通知

2026-03-11_14-54-11


❓ 常见问题排查
#

Q:为什么提示“无法解析内容”?
Memos 的版本更新非常快,不同版本的字段名可能叫 memo​、data​ 或 content​。本教程提供的脚本已经做了多重兼容。如果依然报错,可以在 Cloudflare Worker 的 Logs 页面开启实时监控,查看 Memos 发出的原始 JSON 格式。

Q:我想修改通知卡片的颜色?
在脚本中找到 "template": "blue"​,你可以将其改为 orange​、red​、green​ 或 wathet(浅蓝色),定制你的专属通知风格。


结语
#

通过简单的几行代码,我们就让 Memos 与飞书无缝衔接。如果你觉得这个教程有用,欢迎点赞转发,让更多人的灵感不再“断点”!

💡 延伸阅读: Memos 还可以通过类似的方式同步到钉钉、微信订阅号或 Telegram 机器人。如果你感兴趣,请在评论区留言告诉我们!

参考文章
#


相关文章

文件分类与命名管理Skill文档
·3608 字·8 分钟
openclaw常见问题汇总
··1380 字·3 分钟
很不错的 一个建站方法
·126 字·1 分钟