Skip to content

Owner-scheduled crons

You can ask Han AI to do anything on a schedule. It captures the schedule, persists it, and runs it via node-cron. Jobs survive reboots and run for as long as the schedule exists.

What it does

Lets you create, list, and cancel recurring tasks in natural language. Han AI maps your request to a cron expression and writes it to SQLite.

FieldValue
Schema namesschedule_recurring, list_recurring, cancel_recurring
Runnernode-cron
StoreSQLite at /var/hanai/state/owner_cron.db
Survives rebootYes

How you use it

You do not write cron syntax. You say what you want.

  • “Every Monday at 9am, summarise last week and email it to me.”
  • “On the 1st of every month, generate a property-portfolio PDF in executive style.”
  • “Each Friday at 6pm, list anything I still owe a reply on.”

Han AI confirms the schedule in plain English, then it is live.

Listing and cancelling

  • “What recurring jobs do I have?” → list_recurring.
  • “Cancel the Friday digest.” → cancel_recurring.

How it differs from the dreaming loop

FeatureDreaming loopOwner crons
Who sets itHan AI itselfYou
ScheduleFixed (06:30 daily)Whatever you ask for
OutputInsightsWhatever you ask for
Stored atdreams.jsonlowner_cron.db

Limits

  • Cron resolution is one minute.
  • A scheduled job that calls a tool that is later removed (e.g. SMTP credentials revoked) will log a capability gap when it next fires.
  • Sub-minute pacing or single-fire timers are not the design — use plain conversation for one-off reminders.

See also