remi
Создавайте списки, добавляйте напоминания, организуйте их по разделам и синхронизируйте всё между всеми вашими устройствами Apple — прямо из терминала.
Почему remi?
Разделы с синхронизацией через iCloud — единственный CLI, поддерживающий разделы «Напоминаний» Apple. Создавайте их, назначайте напоминания, перемещайте их между разделами, и всё это будет синхронизироваться.
Естественный язык —
--due "next tuesday",--repeat "every 2 weeks on monday,friday"Нечеткий поиск — вводите
remi list shoppingвместоremi list "Groceries / Shopping List"Для ИИ-агентов — структурированный вывод JSON, плагин для Claude Code, навык для skills.sh, совместимость с OpenClaw
Быстродействие — скомпилированные помощники на Swift, без Electron, без графического интерфейса
Сравнение с другими инструментами
remi | |||
Разделы | Да | Нет | Нет |
Синхронизация разделов (iCloud) | Да | Н/Д | Н/Д |
Повторяемость | Да | Да | Нет |
Даты на естественном языке | Да | Да | Нет |
Вывод JSON | Да | Да | Нет |
Интеграция с ИИ-агентами | Да | Частично | Нет |
Установка
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 или 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Разделы синхронизируются с iCloud через векторные часы CRDT. Узнайте, как это работает.
Вывод JSON
Каждая команда поддерживает --json для машиночитаемого вывода:
remi today --json
# {"success": true, "data": [...]}Интеграция с ИИ-агентами
remi разработан для ИИ-агентов. Используйте его как 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 Command Line Tools (
xcode-select --install)
Как это работает
remi использует три уровня, так как Apple никогда не открывала разделы в своем публичном API:
Уровень | Что делает | Почему |
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