Built-ins

schedule Plugin

Internal scheduling infrastructure for plugin actions and delayed or timed redispatch

Action schedule

schedule is an infrastructure concept for delayed plugin actions.

It is responsible for polling scheduled jobs and redispatching due plugin actions. In the current user-facing CLI, it is not a standalone plugin that you start, stop, or call with business actions.

Main shape

  • persistent action jobs
  • runtime polling and recovery
  • no business actions

What it is for

Use action scheduling as a mental model when you want to understand:

  • why scheduling belongs to plugin lifecycle instead of the top-level agent shell
  • how delayed plugin actions are re-invoked
  • why it is managed through downcity plugin schedule, not through a separate downcity schedule command

How users use it

Create scheduled jobs by adding --delay or --time to a plugin action command:

downcity chat send --chat-key <chatKey> --text "Later" --delay 60000
downcity memory remember --content "Remember this later" --time "2026-06-06T09:00:00+08:00"

Inspect or cancel scheduled jobs through downcity plugin schedule:

downcity plugin schedule list
downcity plugin schedule info <jobId>
downcity plugin schedule cancel <jobId>

For reusable automation, use the task plugin instead of one scheduled action.

Important semantics

  • it mainly polls PluginScheduleStore
  • it restarts interrupted running jobs back to pending on startup recovery
  • it is a core infrastructure pattern, not a normal user-facing business plugin

Public status

Action scheduling is platform infrastructure rather than a normal public SDK capability plugin.