Introduction

When developing DSH (DeepSeek Harness) applications, we often encounter requirements like this: halfway through a conversation, wanting to remind the user to drink water in 25 minutes; or pulling a stand-up meeting every day at 9 AM, or generating a weekly report every Monday at 10 AM. DSH itself does not have built-in scheduling capabilities. The common approach is to start a cron job yourself or switch to another tool to make a note—session and reminders are disconnected.

dsh-reminder solves this problem: setting a reminder within a DSH session with a single sentence, the background scheduler triggers it automatically when the time comes, without needing to leave the conversation. Below is an introduction to its features, installation, and usage.

What is it

dsh-reminder is a DSH plugin (Cordis Bundle). The source code is in the GitHub repository Komorebi3x3/dsh-reminder, licensed under MIT. The plugin version is 0.1.0, with peer dependency @deepseek-ai/dsh-tools.

In one sentence: creating scheduled reminders and recurring tasks in DSH (DeepSeek Harness), setting a reminder within the session with a single sentence, and the background scheduler triggers it automatically when the time comes.

Core Features

  1. Set reminder with a single sentence. Supports various when formats such as relative time, daily, weekdays, specific days of the week, today/tomorrow, absolute time, etc., for example in 25 minutes, every day 21:00, every weekday 9:30, every monday 10:00, tomorrow 9:00, today 14:30, 2026-09-01 10:00.

  2. Background scheduler. Checks every 15 seconds, writes reminders to the due queue and logs to the console when the time comes.

  3. Recurring tasks. Reminders for daily / every weekday / specific days of the week automatically roll over to the next occurrence.

  4. Full management. Supports listing, cancelling, snoozing, and viewing due reminders.

  5. Local persistence. Data is stored in $DSH_HOME/scheduler. It won’t be lost on restart, and no data is uploaded at any time.

The plugin exposes five tools externally: set_reminder, list_reminders, cancel_reminder, snooze_reminder, get_due_reminders.

Installation and Enablement

Search for dsh-reminder in the “Plugin Market” of DSH Launcher, or install it via CLI from the market:

dsh plugin --profile web add dsh-reminder

You can also install from the source repository (replace your_username with your own GitHub username, main with the corresponding branch):

dsh plugin --profile web add "github:your_username/dsh-reminder#main"

After installation, you need to restart web and refresh the page for the plugin to take effect:

dsh web

Use the following two commands to verify if the plugin is mounted successfully:

dsh --profile web --dump-config   # You should see the dsh-reminder layer
dsh plugin --profile web list

Typical Usage

Speak directly in the conversation, DSH will automatically call the corresponding tool:

  • “Remind me to drink water in 25 minutes” → set_reminder(when:"in 25 minutes", message:"喝水")
  • “Remind me for stand-up at 9 AM every day” → set_reminder(when:"every day 9:00", message:"站会")
  • “Generate weekly report every Monday at 10:00” → set_reminder(when:"every monday 10:00", message:"生成周报")
  • “List my reminders” → list_reminders
  • “What reminders do I have due?” → get_due_reminders

The responsibilities of each tool are as follows:

Tool Description
set_reminder Create a reminder, returns id and next trigger time
list_reminders List all uncompleted reminders
cancel_reminder Cancel by id
snooze_reminder Delay for N minutes (becomes one-time after delaying)
get_due_reminders Get due and unconfirmed reminders (clear with clear=true)

Note: After snooze delays the reminder, it becomes a one-time event and no longer rolls over according to the original cycle.

Implementation and Compatibility

The plugin is implemented based on defineTool from @deepseek-ai/dsh-tools and Cordis’s ctx.tools / ctx.effect API. It has been verified on 0.1.0-rc series host versions. Time parsing is a pure function and can be tested separately:

node test-time.mjs

For local development, the README suggests using an independent profile to avoid affecting the web production session:

git clone <repo> && cd dsh-reminder
dsh plugin --profile plugin-dev add ./dsh-reminder
dsh --profile plugin-dev --dump-config
dsh --profile plugin-dev

It is worth noting that DeepSeek Harness is in a developer preview period with extremely fast iteration. You need to re-verify the plugin after upgrading the host version; if the host API changes, refer to the official documentation. It is recommended to fix the verified DSH version number in your own plugin documentation.

Applicable Scenarios and Notes

Suitable users: People who need lightweight scheduled reminders and periodic tasks within a DSH session, such as stand-up reminders, periodic reminders, and routine items triggered at fixed times every week. All data falls locally in $DSH_HOME/scheduler and is not uploaded.

Two points to note:

  1. The plugin runs with the permissions of the current dsh process. You should check the source code and license before installing. dsh-reminder is under the MIT license and source code is public. You can read index.js and time.js before installing to confirm the behavior meets expectations.

  2. The host is in the preview period. After upgrading the version, the plugin may need re-verification. Do not assume it is available on all host versions by default.

Summary

dsh-reminder brings scheduled reminders and recurring tasks into the DSH session: set with a single sentence, triggered automatically by the background scheduler at the appointed time, with complete management actions and local data retention. For scenarios where lightweight scheduling needs to be added to the conversation flow, it is a plugin that can be directly installed and tried.

  • Community plugin directory page: https://www.skillhub.cn/plugins/Komorebi3x3/dsh-reminder
  • GitHub repository: https://github.com/Komorebi3x3/dsh-reminder