Skip to main content
Glama

创建列表、添加提醒事项、将它们整理到分区中,并让一切在你的所有 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

remindctl

reminders-cli

分区

分区同步 (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_listsremi_addremi_completeremi_moveremi_todayremi_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

-
security - not tested
A
license - permissive license
-
quality - not tested

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