The core philosophy of DSH is “everything is a plugin.” In agent development or everyday use, it is often necessary to delay message delivery or set reminders. The dsh-later plugin adds scheduled sending and reminder capabilities to DSH. It supports server-side driven delivery and can trigger on time even if the web page is closed.
Installation and Activation¶
Install it into the Web profile using the official plugin command:
dsh plugin --profile web add dsh-later
Restart DSH Web after installation to activate it.
Core Features¶
1. Scheduled Panel and Pending Dock¶
- Scheduled Panel: Click the “Scheduled Send” button on the right side of the input box to open it. The panel supports quick chips (for example, 10 minutes later), custom time, send preview, task list, and a cancel-all action.
- Pending Dock: A countdown bar appears above the input box. Each row ends with three buttons:
- Edit Reminder: Modify the reminder content in place.
- Delete Reminder: Cancel that reminder.
- Interject Send: Immediately send the content to the agent and wake up the model (Note: this action does not confirm the scheduled send; it only pushes the content out).
2. Command Usage¶
The plugin provides three command modes:
/later <time> <content>: Delayed send. When the time arrives, the content is sent as your identity.- Example:
/later +5s Check deployment result
- Example:
/schedule <time> <content>: Scheduled reminder. After pressing Enter, the user message is sent immediately, but the reminder is postponed to the specified time and appears in the conversation as a “scheduled reminder.”- Example:
/schedule 9:00 tomorrow Submit weekly report
- Example:
/schedule every <interval> <content>: Recurring reminder. The interval must be at least 5 minutes.- Example:
/schedule every 30m Remind every 30 minutes
- Example:
3. Sidebar Status Indicator¶
When a session has active reminders, a pixel clock appears in the sidebar. Colors represent different states:
- Purple: A scheduled reminder is pending.
- Amber: The next trigger is within 5 minutes.
- Red: Due, waiting for the session to become idle for dispatch.
Hover with the mouse to view the next trigger time and the number of tasks.
Typical Usage¶
The following commands all support relative durations (for example, +30m), same-day times (for example, 15:32), or date-time values (for example, 明天9点):
# 延迟 5 秒发送
/later +5s 内容
# 延迟 3 分钟发送
/later +3m 内容
# 延迟 1 小时 20 分钟发送
/later +1h20m 内容
# 指定时间发送
/later 15:32 内容
# 明天 9 点提醒
/schedule 明天9点 提交周报
# 每半小时提醒
/schedule every 30m 每半小时提醒
Configuration and Limitations¶
- Long text support: Reminder content has a default limit of 1000 characters. If longer text is needed (for example, code snippets or meeting notes), enable
allowLongPromptsand setmaxPromptCharsin DSH Settings → Plugins → Session Scheduler. - Session isolation: Reminders do not cross sessions. Child sessions derived from the current session do not inherit reminders from the parent session.
Notes¶
- No impersonation: When the reminder is due, it appears as a “⏰ Scheduled Reminder” message and does not pretend to be sent by the user.
- Command behavior: The
/schedulecommand sends the user message immediately after pressing Enter, while the/latercommand only sends it when the scheduled time arrives. - Interject Send: Clicking “Interject Send” immediately pushes the content to the agent and wakes up the model; it does not confirm a scheduled task.
Maintainer: WuJiaoJue
License: MIT
Catalog Page: https://www.skillhub.cn/plugins/WuJiaoJue/dsh-later
GitHub: https://github.com/WuJiaoJue/dsh-later