بنقرة واحدة
scheduler
// Manage scheduled jobs. Use when the user wants to create, list, or remove recurring or one-time scheduled tasks. Handles cron schedules, interval-based (every), and one-time (at) jobs.
// Manage scheduled jobs. Use when the user wants to create, list, or remove recurring or one-time scheduled tasks. Handles cron schedules, interval-based (every), and one-time (at) jobs.
Release workflow for stella Go CLI project. Create releases with semantic versioned tags, update changelog, and trigger automated CI/CD builds. Use when the user asks to "release", "create a release", "tag a version", "update changelog", "prepare release", "cut a release", or discusses versioning and release artifacts.
Self-knowledge about stella, the self-hosted AI assistant. Use when the user asks about stella itself: configuration, setup, onboarding, providers, models, agents, channels (Telegram/QQ/Feishu/WeChat), memory system (LCM), scheduled jobs, heartbeat, skills, plugins, session compaction, notifications, self-update, multi-agent, multi-user, or general "how does stella work" / "help me get started" questions. Also triggers on "change my model", "set up telegram", "set up wechat", "configure provider", "update stella", "what can you do", "how do I install skills", "stella onboard", "switch agent".
Database schema design best practices. Use when creating tables, reviewing migrations, planning data models, or answering schema design questions.
Automate Stella web UI testing with tap-web browser automation. Use when the user asks to "test the UI", "check the web page", "verify the frontend", "run UI tests", "browser test", or wants to interact with stella.localhost in a browser.
Access websites, search the web, and extract clean content using the `tap` CLI. Supports structured site scripts, readable page extraction, and browser automation for tabs, screenshots, forms, cookies, JavaScript evaluation, and network capture. Use for web lookup, page reading, content extraction, browser interaction, authenticated sessions, request interception, or CDP-connected desktop apps.
Reading assistant for saving, organizing, and recalling web content. Use when the user says "save this article", "read this link", "summarize this", "check my feeds", "add to my library", or asks about previously saved content. Handles articles, tweets, YouTube videos, GitHub repos, PDFs, and RSS feeds. Articles are stored as markdown files with metadata and indexed for fast search.
| name | scheduler |
| description | Manage scheduled jobs. Use when the user wants to create, list, or remove recurring or one-time scheduled tasks. Handles cron schedules, interval-based (every), and one-time (at) jobs. |
| metadata | {"author":"CherryHQ/stella","owner_plugin":"system/scheduler","version":"1.0"} |
Use scheduler for time-based triggers. If the scheduled work may be long-running, need human review, or need restart resilience, schedule a short prompt that creates an async task instead of doing the whole job inline.
Environment: The CLI talks HTTP to the running stella server. STELLA_TOKEN is
auto-set; the agent process inherits a reachable STELLA_SERVER_URL (default
http://127.0.0.1:25678). Scheduler is enabled only when the stella server is
configured with scheduler.enabled = true.
stella scheduler add \
--name "job-name" \
--message "Prompt or instruction to execute on schedule" \
--every 1h \
--session-mode reuse
Schedule types — use exactly one:
| Flag | Format | Example |
|---|---|---|
--cron | Standard cron expression | "0 9 * * 1-5" (weekdays 9am) |
--every | Go duration | 30m, 2h, 24h |
--at | RFC3339 timestamp (one-time) | "2024-01-15T14:30:00+08:00" |
Session mode:
reuse (default): conversation history is preserved across executionsnew: starts a fresh session on each executionOptional flags:
--agent-id <id>: run the job on a specific agent (defaults to the default agent)Output (JSON): job record with id, name, message, session_mode, enabled, and schedule fields.
stella scheduler list --json
Human-readable format omits --json. Use --json when you need to parse IDs.
stella scheduler remove <job-id>
Always list first to avoid duplicates:
stella scheduler list --json
Look for a job with the target name. If found, skip creation and report the existing job to the user.
stella scheduler add \
--name "weekly-audit" \
--message "Create an async task to audit the project and request review before making user-visible changes." \
--cron "0 9 * * 1" \
--session-mode new
stella scheduler add \
--name "daily-digest" \
--message "Run the daily digest and summarize for the user." \
--cron "0 8 * * *" \
--session-mode reuse
stella scheduler add \
--name "hourly-check" \
--message "Check for new items and notify the user if found." \
--every 1h \
--session-mode reuse
stella scheduler add \
--name "meeting-reminder" \
--message "Remind the user about their 3pm meeting." \
--at "2024-01-15T14:45:00+08:00"
scheduler.enabled = true in config).--at) with a past timestamp are rejected.