DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Schedule Later — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-schedule-later

Schedule Later

Schedule a message into a dsh chat for later: a Schedule button in the message box with a date and time picker, a sidebar panel of pending messages across chats, delivery as a normal user message even with the browser closed, and schedule_message, list_scheduled_messages and cancel_scheduled_message

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-schedule-later@0.6.0
READMECompatibilityVersions

Description

Schedule a message into a dsh chat for later: a Schedule button in the message box with a date and time picker, a sidebar panel of pending messages across chats, delivery as a normal user message even with the browser closed, and schedule_message, list_scheduled_messages and cancel_scheduled_message tools so the model can come back to a chat on its own.

Compatibility and provenance

Schedule Later is published as dsh-schedule-later and currently resolves to version 0.6.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/24/2026

Versions

0.6.0stable
9/24/2026
0.5.1stable
9/24/2026
0.5.0stable
9/24/2026

Related plugins

Loading related plugins…

Latest
0.6.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
271 kB
Files
17
Surface
web
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
0
Last push
9/24/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Univer Officedsh-univer-officeDSH × Univer integration with a bundled collaboration Gateway and Viewer: inline previews, live floating Worktree windows, and session-end review actions in DeepSeek Harness.

README

dsh-schedule-later

A DeepSeek Harness plugin that schedules a message into a dsh chat for later — picked by you from a date and time picker in the message box, or by the model with its own tools.

It runs on the host, not in the browser. Schedule it, close the tab, go to sleep: the dsh process sends it on time as a normal user bubble, and the model replies to it exactly as if you had pressed Send.

The scheduler in motion: the sky follows the chosen time and the countdown ticks

The sidebar panel with a live countdown

It does five things:

  • A ⏱️ Schedule button in the message box — a day/night scheduler with a sky header that follows the chosen time, an analog clock, an AM/PM sun-and-moon pill and quick picks, on the same row as Send.
  • Host-side delivery — timing and message injection both run inside the dsh host process, so the browser is only a view; it works with the tab closed.
  • A sidebar “⏱️ Scheduled” panel — every pending message across all chats, grouped by chat, soonest first, tinted by the time it sends, where each message can be sent now, re-timed or cancelled.
  • Three tools for the model — schedule_message, list_scheduled_messages, cancel_scheduled_message — so the assistant can come back to a chat on its own.
  • A schedule-later skill — teaches the model when to schedule its own check-ins unprompted.

Install

Requires a working dsh with a web profile.

dsh plugin --profile web add dsh-schedule-later
dsh --profile web

Or install from GitHub or a local folder instead:

dsh plugin --profile web add github:adithyanraj03/dsh-schedule-later
dsh plugin --profile web add /path/to/dsh-schedule-later

Then restart dsh (dsh --profile web) if it was already running, and hard-refresh the browser (Ctrl+Shift+R / Cmd+Shift+R) — a plain refresh can serve a cached client bundle. A ⏱️ Schedule button appears in the message box row, and a ⏱️ Scheduled entry appears at the bottom of the sidebar.

Coming from dsh-send-later?

This is the same plugin under its published name. Do not run both in one profile: they register the same three model tools and the same message-box button, so remove the old one first — its row from the profile's cordis.patch.yml and its entry from the profile's package.json.

Pending messages live in a folder named after the plugin, so to keep them, copy the queue across while dsh is stopped:

mkdir -p ~/.dsh/dsh-schedule-later
cp ~/.dsh/dsh-send-later/tasks.json ~/.dsh/dsh-schedule-later/tasks.json

What you get

The scheduler

Sits on the message box row, next to Send. Type as usual → click ⏱️ Schedule → the scheduler opens (defaults to now + 5 minutes, any future time allowed) → Confirm turns the draft into a scheduled message and clears the box. Nothing is sent immediately. Multi-line text and Markdown source are kept exactly as typed.

The header is a sky that follows the chosen time — dawn, day, dusk, night — with the sun or moon moving along its arc, and an analog clock sweeping to the hour, its face light by day and dark with stars by night. The time carries an AM/PM pill with a sun or a moon, so 9:00 PM is never mistaken for 9:00 AM. Quick picks: +5 min, +15 min, +1 hour, Tonight 9 PM, Tomorrow 9 AM, and a live “Sends in …” underneath.

The scheduler by day

Night, with the click-to-pick hour list open

It animates without being noisy: the stopwatch sweeps while you schedule and nudges on hover, the sidebar icon ticks slowly while anything is pending, and the hourglass turns over on every countdown. All of it stops when the OS asks for reduced motion.

On phones and narrow windows (≤480px) the picker folds into a near-full-width popover, with touch targets at least 40px tall:

The folded layout used on phones and narrow windows

Cancel any pending message from the in-chat list or the sidebar panel — both ask first.

The sidebar panel

An entry at the bottom of the sidebar, with a badge counting every pending message, opens a panel listing pending messages across all chats, soonest first, each row showing the message in monospace (clamped to two lines), the send time and a countdown. Messages are grouped under their chat — click the chat's name to open it. Click a message for its details: the full text, who scheduled it and when, and Send now, Change time and Cancel. Send now and Cancel ask for confirmation first. Cancel from here for any chat. Entries whose chat was deleted are greyed out but can still be cancelled.

Pending messages across chats, tinted by the time they send

Pending messages for the current chat also appear in-chat, above dsh's To-dos, which sit next to the message box. With more than one, only the soonest is shown plus an “N more scheduled ⌄” toggle; an expanded list scrolls within a fixed height so its “Collapse ⌃” toggle never scrolls away. Any list can be collapsed by hand.

The model tools

Three tools let the assistant schedule messages into the chat it is working in — to come back to something later without you having to remember:

ToolWhat it does
schedule_messageSchedule a message into this chat, by delay_minutes or an ISO 8601 at (no offset = this machine's local time).
list_scheduled_messagesList what is pending in this chat — yours and the assistant's — and the current local time.
cancel_scheduled_messageCancel a message the assistant scheduled.

Ask things like “remind me at 6pm to push the release” or “check the CI run again in 20 minutes”. When it fires, it arrives as a new turn and the model acts on it.

Guard rails, because an assistant that can wake itself up could otherwise do so forever:

  • This chat only. It schedules into the chat it is running in, never another.
  • Visibly marked. Its messages arrive starting with [Scheduled by the assistant], so nobody mistakes them for you typing live.
  • At least 1 minute ahead, at most 30 days out, at most 10 pending per chat.
  • It cannot cancel yours. It can list your scheduled messages but only cancel its own.
  • Everything it schedules shows up in the ⏱️ panel and the in-chat list, where you can cancel it.

The skill

The plugin ships a schedule-later skill (SKILL.md), registered with dsh's skills service, whose catalog entry the model sees every turn. It teaches when to come back unprompted — a build, deploy or job still running, a page or status that will change, something you said you would do later — how to write the message so its future self can act on it cold, and to tell you what it scheduled and when. Edit SKILL.md to change that behaviour; it is re-read on every catalog refresh.

Requirements

  • A web dsh profile — engines: dsh >= 0.1.0
  • Node 18+
  • No runtime dependencies — the client bundle requires only react

Licence

MIT — see the LICENSE file.