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 代理集成 | 是 | 部分 | 否 |
安装
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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattheworiordan/remi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server