获取 Exporter

把 Apple 日历导出为 Markdown

Mac 上每月一个文件,每天一个标题,重复的日程出现在每个发生的日子里。

一个月,一个文件。

文件开头是这个月有什么,接着是每天一个标题、每个日程一行:时间、是什么、来自哪个日历、在哪里。

2026-09.md
---
title: "日历,2026 年 9 月"
created: 2026-09-01T09:00:00
tags:
  - "calendar"
month: 2026-09
events: 284
calendars: ["工作", "个人", "生日"]
---

## 2026-09-17, 星期四

- all day 玛丽莲生日 · 生日
- 09:30-10:00 站会 · 工作 · Zoom [repeats:: weekly] [with:: 6]
- 13:00-14:00 和 Kevin 吃午饭 · 个人 · Philz Coffee
- 19:00-22:00 SF Database Meetup · 工作 · 655 Montgomery St

## 2026-09-19, 星期六

- all day, 3 days 里斯本 · 个人
- 08:00 SFO 飞 LIS · 工作

导出什么

每月一个文件,都放在一个文件夹里。没有日程的月份不会生成文件。

每天一个标题

先是全天日程,然后按开始时间排,这正是日历画一天的顺序。全天日程就写成全天,而不是凭空得到一个从未有过的零点。

重复出现在每个发生的日子里

每周的站会每周都在,而不是只有一次。Exporter 读的是日历自己保存的发生记录,所以文件和 app 显示的一致。

每个日程来自哪个日历

工作、个人、共享日历或订阅日历。当月用到的日历写在前置信息里,vault 可以据此筛选。

在哪里

会议室、场地或地址,日程带什么就写什么。视频通话的链接以 join:: 放在同一行。

按账户分组,而不是一长串

选择器按账户把日历归类,和日历的边栏一样,所以取消一个勾就能把整个账户排除在外。

往回读多久

今年、2 年、5 年或全部,在卡片上选。日历本身只保存大约两年的发生记录,能读的也就这些。

怎么用

  1. 1连接日历

    会在日历自己的文件夹里打开一个窗口:点“选择此文件夹”。Exporter 读取其中的数据库,macOS 从不索取日历权限。

  2. 2选择日历

    所有日历默认勾选,按账户归类。取消一个,它的日程会在下次同步时从各月份里消失。

  3. 3自动同步

    按 sync。每个月成为一个文件,移动一个日程会在一分钟内重写那个月。

工作原理: 文档:日历指南: 留住你的日历

问题

还有问题? 联系我们

这会索取日历权限吗?
不会。Exporter 通过你授权的文件夹读取日历自己的数据库,而不是通过 EventKit,所以不会弹出权限对话框,也不会碰到其他 app。
为什么按月一个文件,而不是每个日程一个?
一年是几百个日程和十二个能读的文件。每个日程一个文件,就是一整个文件夹的一行笔记。
免费的部分是什么?
前 100 个事件会导出并持续免费同步。解锁日历是 Exporter 里的一次性购买。
邀请和参与者包含在内吗?
行里会写一个日程有多少人。他们的姓名和答复留在日历里。
有东西被上传吗?
没有。Exporter 读取你的日历,把文件写在你的 Mac 上。没有账户,没有服务器。

与其他做法相比

日历能导出 .ics,那是给另一个日历用的格式,不是用来读或搜的。

功能Exporter导出 .ics截图
可读的 Markdown是否否
每月一个文件,每天一个标题是否否
重复出现在每一天是否是
所有日历一次导出是一个一个来否
持续同步是否否
价格100 个事件免费,之后一次性购买免费免费

让 Claude 读你的日历

导出的月份可以通过 Exporter 的本地 MCP 服务器搜索。去设置。

连接 Claude Code。

然后问:“我九月做了什么,谁见了两次?”Claude 会把每个月当作文件来读。

$ claude mcp add --transport http exporter http://localhost:8744/mcp

相关页面

Exporter

版本 5.2(App Store)

macOS 15 或更高版本

exporter@tinysend.com

© system operator