The DSH plugin ecosystem supports extensible functionality. A common need is to set reminders later or check background tasks. dsh-schedule-later addresses this issue. It is a plugin that schedules messages into DSH chat for later sending, with support for calendar selection and model tools.
What It Is¶
dsh-schedule-later is a DSH client plugin. It allows users to manually select a time to send a message, and it allows the model to schedule messages autonomously through tools. The plugin is maintained by adithyanraj03 and is licensed under the MIT license.
Core Features¶
Host-side delivery
Scheduling and message injection run in the DSH host process rather than in the browser. This means that even if the browser tab is closed, messages will still be sent on time as long as the DSH process is running.
UI interactions
* ⏱️ Schedule button: Located in the message input row, it includes a calendar picker and quick options (such as +5 min, Tonight 9 PM).
* ⏱️ Scheduled sidebar: Displayed at the bottom of the sidebar, it lists all pending messages, sorted by send time, and supports one-click send, rescheduling, or cancellation.
Model tools
The plugin provides three tools, enabling the model to schedule messages autonomously:
* schedule_message: Schedules a message into the current conversation, supporting delay_minutes or an ISO 8601 at time.
* list_scheduled_messages: Lists pending messages in the current conversation.
* cancel_scheduled_message: Cancels a message scheduled by the model.
Skills
The plugin includes a schedule-later skill (SKILL.md), which is registered with DSH’s skill service. By learning this skill, the model can independently schedule follow-up checks or reminders without user prompts.
Installation and enabling¶
Before installing, ensure that DSH is installed and the web profile is configured, and that the Node environment is version 18 or later.
- Run the installation command:
dsh plugin --profile web add dsh-schedule-later
- If the DSH process is running, restart it:
dsh --profile web
- Perform a hard refresh in the browser (Ctrl+Shift+R / Cmd+Shift+R) to ensure the latest client code is loaded.
After installation, the ⏱️ Schedule button appears in the message input and the ⏱️ Scheduled entry appears in the sidebar.
Typical Usage¶
Manual scheduling
Enter content in the input box, click the ⏱️ Schedule button, and confirm after selecting a time. The message does not send immediately; instead, it is added to the pending list.
Model scheduling
Ask the model to perform an action through conversation. For example:
* “Remind me to push the release at 6 PM.”
* “Check the CI run again in 20 minutes.”
The model calls the schedule_message tool to schedule the message, which is sent at the specified time as a new conversation turn.
Use Cases and Limitations¶
Use cases
* Tasks that require timed reminders (such as sending a daily report before clocking out).
* Periodically checking the status of background tasks (such as checking CI run results at scheduled times).
* Cases requiring the model to automatically reply or execute a specific operation after a certain period.
Limitations and considerations
* Current chat only: Model tools can only schedule messages in the current conversation.
* Time limit: Scheduling must be at least 1 minute ahead and no more than 30 days ahead.
* Quantity limit: A maximum of 10 pending messages per chat at the same time.
* Exclusivity: It is mutually exclusive with the dsh-send-later plugin; both register the same tools and buttons, so they cannot run simultaneously.
* Client dependency: The client depends only on React and has no additional runtime dependencies.
Ecosystem Context¶
The DSH philosophy is “everything is a plugin.” This plugin is maintained by the community, with its directory page on SkillHub and its source code on GitHub.