In the DeepSeek Harness (DSH) ecosystem, plugins usually run in the browser environment. If you need to send messages on a schedule, browser-dependent plugin approaches have a core limitation: after the browser is closed, scheduled tasks are interrupted and cannot run. This is not reliable enough for scenarios that require triggering responses at specific times.

@ottttto/dsh-scheduled-send aims to solve this problem. It leverages DSH’s host process capabilities to move scheduling logic out of the browser and run it on the server side. This way, even if the browser is closed, scheduled tasks will run as long as the host process is running.

Core Features

This plugin provides the following core features:

  • Input-box schedule button: Adds a “⏰ Schedule” button to the DSH Web input toolbar.
  • Send as you: When a task is delivered at the scheduled time, it creates a message bubble with role: 'user', triggering a model response rather than a system prompt.
  • Server-side scheduling: Scheduling logic runs on the DSH host and does not depend on the browser being online.
  • Session isolation: Tasks in each session are managed independently and do not interfere with each other.
  • Sidebar “Scheduled Tasks” panel: Provides an entry point at the bottom of the sidebar to view and manage pending messages across all sessions.
  • Collapsible in-session list: Displays the task list inside the session, with support for expanding/collapsing.
  • Catch-up sending: Task data is persisted locally. After DSH restarts, the queue is automatically restored and missed tasks are sent.
  • Mobile adaptation: The UI is adapted for mobile devices.

Installation and Enablement

To install this plugin, you first need DSH installed and ensure that the dsh web command runs properly.

dsh plugin --profile web add @ottttto/dsh-scheduled-send

After installation, restart dsh web and hard-refresh the browser (Cmd/Ctrl+Shift+R). Only then will the corresponding entry points appear in the input toolbar and sidebar.

Typical Usage

  1. Draft a message in the DSH Web input box.
  2. Click the “⏰ Schedule” button in the input toolbar.
  3. In the time picker that appears, select the send time. After confirming, the content becomes a scheduled task and the input box is cleared.
  4. When the scheduled time arrives, the message appears in the original session as a normal user bubble and automatically triggers a model response.

Use Cases and Notes

  • Use cases: Suitable for scenarios where you need to send a message to a DSH session at a specific time and trigger a model response, such as simulating delayed conversations or scheduled testing.
  • Note: This plugin runs with the permissions of the current DSH process. Review the source code and license before installing.

Known Limitations

  • Recurring rules are not supported (only one-time scheduling is supported).
  • Sending with a specified model is not supported (the model field of old tasks will be ignored).
  • Delivery at the scheduled time requires the session created at task creation time to exist in the DSH host. If the session was closed when the task was created, the task will be retained and sent when the session is restored.

Summary

@ottttto/dsh-scheduled-send solves the inherent limitation of browser plugins for scheduled tasks by pushing scheduling logic down into the host process. Its session isolation and catch-up sending mechanisms provide developers who need stable scheduled triggers with a reliable tool.

GitHub repository: https://github.com/OTTTTTO/dsh-scheduled-send