Files
obsidian-notif/README.md
T
2026-06-27 15:12:40 +08:00

11 KiB

Obsidian Reminder Notifier

Obsidian Reminder Notifier is an Obsidian plugin for creating reminders from notes, the command palette, editor selection, or the left ribbon. It can send notifications through local Obsidian notices, Telegram, ntfy, Discord webhooks, or generic webhooks.

Reminder delivery works while Obsidian is running. If Obsidian is closed at the due time, pending reminders are checked when Obsidian starts again.

English

Features

  • Create reminders from the command palette.
  • Create reminders from selected text in the editor context menu.
  • Create reminders from the left ribbon button.
  • Show active, sent, completed, failed, and snoozed reminders.
  • Scan the current note or the whole vault for @remind(...) syntax.
  • Send reminders through local Obsidian notices, Telegram, ntfy, Discord, or generic webhooks.
  • Configure notification providers from built-in templates.

Installation

Manual installation

  1. Download or build the plugin files.
  2. Create this folder inside your vault:
<your-vault>/.obsidian/plugins/reminder-notifier/
  1. Copy these files into that folder:
manifest.json
main.js
styles.css
  1. Restart Obsidian or reload plugins.
  2. Open Settings -> Community plugins.
  3. Disable Safe mode if needed.
  4. Enable Reminder Notifier.

Build from source

npm install
npm run build

After the build, copy manifest.json, main.js, and styles.css into your vault plugin folder.

Usage

Create a reminder from the UI

Use any of these entry points:

  • left ribbon button Create reminder;
  • command palette command Create reminder;
  • editor right-click menu item Create reminder;
  • command palette command Create reminder from selected text.

The create dialog contains:

  • reminder text input;
  • year dropdown;
  • month dropdown;
  • day dropdown;
  • hour dropdown;
  • minute dropdown;
  • optional details field;
  • optional channels field.

Leave the channels field empty to send through every enabled provider. Enter provider IDs or provider types separated by commas to target specific providers, for example:

ntfy
telegram, ntfy
discord

Show reminders

Use any of these entry points:

  • left ribbon button Show reminders;
  • editor right-click menu item Show reminders;
  • command palette command Show active reminders;
  • command palette command Show all reminders.

The list lets you snooze a reminder for 15 minutes, mark it done, or delete it.

Markdown syntax

- [ ] Call the doctor @remind(2026-07-01 10:00)
- [ ] Check server @remind(2026-07-01 09:00, ntfy)
- [ ] Take a break @remind(+2h, local)
- [ ] Weekly planning @remind(next monday 14:30, telegram, ntfy)
- [ ] Standup @remind(2026-07-01 09:00, ntfy, daily)

If no channel is provided, scanned reminders are sent through all enabled notification providers.

Frontmatter is supported:

---
reminder:
  at: 2026-07-01 10:00
  title: Call the doctor
  notify:
    - telegram
    - ntfy
---

Reminder code blocks are supported:

```reminder
title: Make a backup
at: 2026-07-01 23:00
notify: ntfy
priority: high
repeat: weekly
```

After adding reminders to notes, run Scan current note for reminders or Scan vault for reminders.

Provider setup

Open Settings -> Reminder Notifier.

ntfy

  1. Click Add provider.
  2. Choose ntfy.sh.
  3. Enable the provider.
  4. Set the topic in the JSON config:
{
  "serverUrl": "https://ntfy.sh",
  "topic": "my-obsidian-reminders",
  "token": "",
  "priority": 3,
  "tags": ["calendar", "obsidian"]
}
  1. Click Test notification.

For self-hosted ntfy, change serverUrl and set token if your server requires authentication.

Telegram

  1. Create a bot with BotFather.
  2. Add the Telegram provider from the template.
  3. Enable it.
  4. Set botToken and chatId.
  5. Click Test notification.

Webhook and Discord

Use the webhook templates for Discord, Slack-compatible tools, Make, n8n, Home Assistant, or custom services. Webhook methods are limited to POST, PUT, and PATCH.

Troubleshooting

  • If a test notification works but a note reminder does not arrive, run Scan current note for reminders after editing the note.
  • Check Show all reminders for failed reminders and error messages.
  • Make sure the provider is enabled in settings.
  • Make sure the reminder due time is in the future when created.
  • Obsidian must be running for reminders to be delivered at the exact due time.

Русский

Возможности

  • Создание напоминаний из командной палитры.
  • Создание напоминаний из выделенного текста через меню правой кнопки мыши.
  • Создание напоминаний через кнопку в левой панели Obsidian.
  • Просмотр активных, отправленных, выполненных, отложенных и ошибочных напоминаний.
  • Сканирование текущей заметки или всего vault по синтаксису @remind(...).
  • Отправка уведомлений через локальные уведомления Obsidian, Telegram, ntfy, Discord или универсальный webhook.
  • Настройка провайдеров из готовых шаблонов.

Установка

Ручная установка

  1. Скачайте или соберите файлы плагина.
  2. Создайте папку внутри вашего vault:
<ваш-vault>/.obsidian/plugins/reminder-notifier/
  1. Скопируйте туда файлы:
manifest.json
main.js
styles.css
  1. Перезапустите Obsidian или перезагрузите плагины.
  2. Откройте Settings -> Community plugins.
  3. При необходимости отключите Safe mode.
  4. Включите Reminder Notifier.

Сборка из исходников

npm install
npm run build

После сборки скопируйте manifest.json, main.js и styles.css в папку плагина внутри vault.

Использование

Создание напоминания из интерфейса

Доступные способы:

  • кнопка Create reminder в левой панели;
  • команда Create reminder в командной палитре;
  • пункт Create reminder в меню правой кнопки мыши в редакторе;
  • команда Create reminder from selected text.

В окне создания есть:

  • поле для текста напоминания;
  • выпадающий список года;
  • выпадающий список месяца;
  • выпадающий список дня;
  • выпадающий список часа;
  • выпадающий список минут;
  • дополнительное поле описания;
  • поле каналов уведомлений.

Если поле каналов оставить пустым, уведомление будет отправлено во все включённые провайдеры. Если нужно отправить только в конкретные каналы, укажите ID или типы провайдеров через запятую:

ntfy
telegram, ntfy
discord

Просмотр напоминаний

Доступные способы:

  • кнопка Show reminders в левой панели;
  • пункт Show reminders в меню правой кнопки мыши;
  • команда Show active reminders;
  • команда Show all reminders.

В списке можно отложить напоминание на 15 минут, отметить выполненным или удалить.

Синтаксис в Markdown

- [ ] Позвонить врачу @remind(2026-07-01 10:00)
- [ ] Проверить сервер @remind(2026-07-01 09:00, ntfy)
- [ ] Сделать перерыв @remind(+2h, local)
- [ ] Планирование недели @remind(next monday 14:30, telegram, ntfy)
- [ ] Стендап @remind(2026-07-01 09:00, ntfy, daily)

Если канал не указан, найденное в заметке напоминание отправляется во все включённые провайдеры уведомлений.

Поддерживается frontmatter:

---
reminder:
  at: 2026-07-01 10:00
  title: Позвонить врачу
  notify:
    - telegram
    - ntfy
---

Поддерживаются code blocks:

```reminder
title: Сделать бэкап
at: 2026-07-01 23:00
notify: ntfy
priority: high
repeat: weekly
```

После добавления напоминаний в заметки запустите Scan current note for reminders или Scan vault for reminders.

Настройка провайдеров

Откройте Settings -> Reminder Notifier.

ntfy

  1. Нажмите Add provider.
  2. Выберите ntfy.sh.
  3. Включите провайдер.
  4. Укажите topic в JSON-конфиге:
{
  "serverUrl": "https://ntfy.sh",
  "topic": "my-obsidian-reminders",
  "token": "",
  "priority": 3,
  "tags": ["calendar", "obsidian"]
}
  1. Нажмите Test notification.

Для self-hosted ntfy измените serverUrl и заполните token, если сервер требует авторизацию.

Telegram

  1. Создайте бота через BotFather.
  2. Добавьте Telegram-провайдер из шаблона.
  3. Включите его.
  4. Укажите botToken и chatId.
  5. Нажмите Test notification.

Webhook и Discord

Webhook-шаблоны можно использовать для Discord, Slack-совместимых сервисов, Make, n8n, Home Assistant и других HTTP-интеграций. Разрешённые методы webhook: POST, PUT, PATCH.

Если уведомление не пришло

  • Если тестовое уведомление работает, а напоминание из заметки не пришло, запустите Scan current note for reminders после изменения заметки.
  • Откройте Show all reminders и проверьте статус и текст ошибки.
  • Убедитесь, что нужный провайдер включён.
  • Убедитесь, что время напоминания было в будущем при создании.
  • Для точной отправки в заданное время Obsidian должен быть открыт.

Development

npm install
npm run build

The generated production bundle is main.js.