remi
创建列表、添加提醒事项、将它们整理到分区中,并让一切在你的所有 Apple 设备间同步 —— 全部通过终端完成。
为什么选择 remi?
支持 iCloud 同步的分区 —— 唯一支持 Apple 提醒事项分区的 CLI。创建分区、分配提醒事项、在分区间移动,一切都会自动同步。
自然语言 ——
--due "next tuesday"(下周二到期),--repeat "every 2 weeks on monday,friday"(每两周的周一和周五重复)。模糊匹配 —— 输入
remi list shopping即可,无需输入remi list "Groceries / Shopping List"。AI 代理优先 —— 结构化 JSON 输出,支持 Claude Code 插件、skills.sh 技能,兼容 OpenClaw。
快速 —— 编译后的 Swift 辅助程序,无 Electron,无 GUI。
与其他工具对比
remi | |||
分区 | 是 | 否 | 否 |
分区同步 (iCloud) | 是 | N/A | N/A |
重复提醒 | 是 | 是 | 否 |
自然语言日期 | 是 | 是 | 否 |
JSON 输出 | 是 | 是 | 否 |
AI 代理集成 | 是 | 部分 | 否 |
Related MCP server: MCP Apple Reminders
安装
brew tap mattheworiordan/tap && brew install remi或通过 npm 安装:
npm install -g @mattheworiordan/remi
# or run without installing
npx @mattheworiordan/remi lists快速开始
remi lists # See all lists
remi list "Groceries" # View a list (fuzzy: remi list groceries)
remi add "Groceries" "Buy milk" --section "Dairy" # Add to a section
remi today # What's due today?
remi complete "Groceries" "milk" # Fuzzy complete使用方法
查看待办事项
remi today # Due today
remi overdue # Past due
remi upcoming --days 7 # Coming up
remi search "dentist" # Search across all lists管理提醒事项
remi add "Work" "Review PR" --due "next friday" --priority high
remi add "Work" "Standup" --due tomorrow --repeat daily
remi complete "Work" "standup"
remi update "Work" "Review PR" --due "in 3 days"
remi delete "Work" "Review PR" --confirm日期:tomorrow(明天)、next tuesday(下周二)、in 3 days(3天后)或 YYYY-MM-DD
重复:daily(每天)、weekly(每周)、monthly(每月)、every 2 weeks(每两周)、every 3 months on monday,friday(每三个月的周一和周五)
使用分区进行整理
remi sections "Groceries" # List sections
remi create-section "Groceries" "Produce" # Create a section
remi add "Groceries" "Bananas" --section "Produce" # Add to a section
remi move "Groceries" "Bananas" --to-section "Dairy" # Move between sections分区通过 CRDT 向量时钟同步到 iCloud。查看工作原理。
JSON 输出
每个命令都支持 --json 以获取机器可读的输出:
remi today --json
# {"success": true, "data": [...]}AI 代理集成
remi 专为 AI 代理设计。将其用作 MCP 服务器、Claude Code 插件或技能:
MCP 服务器
{
"mcpServers": {
"remi": {
"command": "remi",
"args": ["--mcp"]
}
}
}16 个工具:remi_lists、remi_add、remi_complete、remi_move、remi_today、remi_search 等 —— 全部支持模糊匹配和结构化响应。
其他集成
# Claude Code plugin
claude plugin marketplace add mattheworiordan/remi
# skills.sh
npx skills add mattheworiordan/remi
# OpenClaw
clawhub install remi权限
首次运行时,macOS 会要求你授予“提醒事项”访问权限(点击“允许”)。分区功能还需要为你的终端应用授予“完全磁盘访问权限”。
remi authorize # Guides you through both
remi doctor # Shows what's granted要求
macOS 13+ (Ventura 或更高版本)
Node.js 18+
Xcode 命令行工具 (
xcode-select --install)
工作原理
由于 Apple 从未在其公共 API 中公开分区功能,remi 使用了三层架构:
层级 | 内容 | 原因 |
EventKit | 提醒事项 CRUD、查询、重复 | 稳定的公共 API |
ReminderKit | 分区 CRUD | 私有框架 —— 创建可同步分区的唯一途径 |
SQLite + Token Maps | 分区成员关系 | 直接数据库写入,使用 CRDT 向量时钟实现 iCloud 同步 |
完整的逆向工程故事解释了我们对 Apple 未公开的同步架构的发现。
贡献
git clone https://github.com/mattheworiordan/remi.git && cd remi
npm install && npm run build:swift && npm run build
npm test # Unit tests
npm run test:integration # Integration tests (needs Reminders access)许可证
MIT — Matthew O'Riordan
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP connector for Apple Reminders — search, create, complete, and edit via your own Mac.
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables fuzzy search, creation, and management of Apple Reminders via CLI or MCP tools.15 npmMIT
- AlicenseNot gradedqualityCmaintenanceA macOS-only MCP server that exposes Apple Reminders to AI clients, enabling create, read, update, delete, search, and organization of reminders and lists through natural language.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Apple Reminders, enabling management of reminders and lists via tools like add, edit, complete, and delete reminders.MIT
- AlicenseAqualityDmaintenanceAn MCP server for managing Apple Reminders via remindctl on macOS, integrating with Claude Desktop and CoWork.1010 npm3MIT