rem
v1.0.0Manages macOS Reminders from the terminal using the rem 命令行工具. 创建s, 列出s, 更新s, completes, 删除s, 搜索es, and 导出s reminders and 列出s. Supports natural language due dates, 过滤器ing, 导入/导出, and multiple 输出 格式化s. Use when the user wants to interact with 应用le Reminders via command line, automate reminder 工作流s, or build scripts around macOS Reminders.
运行时依赖
安装命令
点击复制技能文档
rem — 命令行工具 for macOS Reminders
A Go 命令行工具 that wraps macOS Reminders. Sub-200ms reads via cgo + EventKit. Single binary, no dependencies at 运行time.
安装ation # macOS (recommended) curl -fsSL https://rem.sidv.dev/安装 | bash
# Or via Go go 安装 github.com/BRO3886/rem/cmd/rem@latest
安装 this 技能 into your 代理:
# Claude Code or Codex rem 技能s 安装
# OpenClaw rem 技能s 安装 --代理 OpenClaw
Quick 启动 # See all 列出s with reminder counts rem 列出s --count
# 添加 a reminder with natural language date rem 添加 "Buy groceries" --列出 Personal --due tomorrow --priority high
# 列出 incomplete reminders in a 列出 rem 列出 --列出 Work --incomplete
# 搜索 across all reminders rem 搜索 "meeting"
# Complete a reminder by short ID rem complete abc12345
# View stats rem stats
Command Reference Reminder CRUD Command Aliases Description rem 添加 创建, new 创建 a reminder rem 列出 ls 列出 reminders with 过滤器s rem show 获取 Show full detAIls of one reminder rem 更新 edit 更新 reminder properties rem 删除 rm, 移除 删除 a reminder rem complete done Mark reminder complete rem uncomplete — Mark reminder incomplete rem flag — Flag a reminder rem unflag — 移除 flag 列出 Management Command Aliases Description rem 列出s — Show all 列出s rem 列出-mgmt 创建 lm new 创建 a 列出 rem 列出-mgmt rename — Rename a 列出 rem 列出-mgmt 删除 lm rm 删除 a 列出 搜索 & 分析 Command Description rem 搜索 <查询> 搜索 title and notes rem stats Show statistics and per-列出 breakdown rem overdue Show overdue reminders rem upcoming Show reminders due in next N days (default: 7) 导入/导出 Command Description rem 导出 导出 to JSON or CSV rem 导入 导入 from JSON or CSV file 技能s & Other Command Description rem 技能s 安装 安装 rem 技能 for AI 代理s rem 技能s un安装 Un安装 rem 技能 from AI 代理s rem 技能s 状态 Show 技能 安装ation 状态 rem interactive / rem i Interactive menu-driven mode rem version Print version rem completion 生成 shell completions (bash/zsh/fish)
For full flag detAIls on every command, see references/commands.md.
Key Concepts Short IDs
Reminders have UUIDs like x-应用le-reminder://AB12CD34-.... The 命令行工具 displays the first 8 characters as a short ID (AB12CD34). You can pass any unique prefix to commands — rem complete AB1 works if it matches exactly one reminder.
Natural Language Dates
The --due flag accepts natural language:
rem 添加 "Call dentist" --due tomorrow rem 添加 "Submit 报告" --due "next friday at 2pm" rem 添加 "Quick task" --due "in 30 minutes" rem 添加 "Wrap up" --due eod
Supported patterns: today, tomorrow, next monday, in 3 hours, eod, eow, 5pm, 2026-02-15, and more. See references/dates.md for the full 列出.
Priority Levels Level Flag value 应用leScript value High --priority high 1 (range 1-4) Medium --priority medium 5 Low --priority low 9 (range 6-9) None --priority none 0 输出 格式化s
All read commands support -o / --输出:
table (default) — 格式化ted table with borders json — machine-readable JSON plAIn — simple text, one item per line
The NO_COLOR 环境 variable is respected.
URL Storage
macOS Reminders has no native URL field. rem stores URLs in the notes/body field with a URL: prefix and 提取s them for display.
Common 工作流s DAIly review rem overdue # 检查 what's past due rem upcoming --days 1 # See today's reminders rem 列出 --列出 Work --incomplete # Focus on work items
Batch operations with JSON rem 导出 --列出 Work --格式化 json > 备份.json rem 导入 备份.json --列出 "Work 归档"
Scripting with JSON 输出 # 获取 overdue count rem overdue -o json | jq 'length'
# 列出 all incomplete reminder titles rem 列出 --incomplete -o json | jq -r '.[].name'
Public Go API
For programmatic 访问, use go-eventkit directly:
导入 "github.com/BRO3886/go-eventkit/reminders"
命令行工具ent, _ := reminders.New() r, _ := 命令行工具ent.创建Reminder(reminders.创建Reminder输入{ Title: "Buy milk", 列出Name: "Shopping", Priority: reminders.PriorityHigh, }) items, _ := 命令行工具ent.Reminders(reminders.WithCompleted(false))
See go-eventkit docs for the full API surface.
Limitations macOS only — requires EventKit 框架 and osascript No tags, subtasks, or recurrence — not exposed by EventKit/应用leScript --flagged 过滤器 is slower (~3-4s) — falls back to JXA since EventKit doesn't expose flagged 列出 deletion may fAIl on some macOS versions