رفتن به محتوا

زمان‌بندیِ کارهای تکرارشونده در Claude Code Desktop

کارهای زمان‌بندی‌شده به‌صورتِ خودکار در زمان و تناوبی که انتخاب می‌کنی یک نشستِ تازه شروع می‌کنند. از آن‌ها برای کارهای تکرارشونده مثلِ code reviewهای روزانه، بررسیِ به‌روزرسانیِ وابستگی‌ها، یا بریفینگ‌های صبحگاهی که از تقویم و inboxت داده می‌کشند استفاده کن.

صفحه‌ی Routinesِ اپِ دسکتاپ به تو اجازه می‌دهد هم کارهای زمان‌بندی‌شده‌ی محلی و هم routineهای راه‌دور بسازی. یک کارِ محلی روی دستگاهت با دسترسیِ مستقیم به فایل‌ها و ابزارهایت اجرا می‌شود، اما فقط وقتی اپ باز است و کامپیوترت بیدار است شلیک می‌کند. یک routineِ راه‌دور روی زیرساختِ ابریِ مدیریت‌شده‌ی Anthropic اجرا می‌شود حتی وقتی کامپیوترت خاموش است، و می‌تواند با فراخوانیِ API یا رویدادهای GitHub هم شلیک کند. این صفحه کارهای زمان‌بندی‌شده‌ی محلی را پوشش می‌دهد؛ برای routineهای راه‌دور و گزینه‌های triggerشان، Routines را ببین.

مقایسه‌ی گزینه‌های زمان‌بندی

Section titled “مقایسه‌ی گزینه‌های زمان‌بندی”

Claude Code سه راه برای زمان‌بندیِ کارهای تکرارشونده یا یک‌باره ارائه می‌دهد:

CloudDesktop/loop
اجرا رویابرِ Anthropicدستگاهتدستگاهت
نیازمندِ روشن‌بودنِ دستگاهخیربلهبله
نیازمندِ نشستِ بازخیرخیربله
پایدار در سراسرِ ری‌استارت‌هابلهبلهاگر منقضی نشده باشد، با --resume بازیابی می‌شود
دسترسی به فایل‌های محلیخیر (کلونِ تازه)بلهبله
MCP serverهاconnectorها به‌ازای هر کار پیکربندی می‌شوندفایل‌های پیکربندی و connectorهااز نشست به ارث می‌رسد
پرامپت‌های دسترسیخیر (خودمختار اجرا می‌شود)به‌ازای هر کار قابلِ‌پیکربندیاز نشست به ارث می‌رسد
زمان‌بندیِ قابلِ‌سفارشی‌سازیاز طریقِ /schedule در CLIبلهبله
کمینه‌ی بازه۱ ساعت۱ دقیقه۱ دقیقه

یک کارِ زمان‌بندی‌شده بساز

Section titled “یک کارِ زمان‌بندی‌شده بساز”

روی Routines در نوارِ کناری کلیک کن، سپس روی New routine کلیک کن و Local را انتخاب کن. این فیلدها را پیکربندی کن:

فیلدتوضیح
Nameشناسه‌ی کار. به lowercase kebab-case تبدیل می‌شود و به‌عنوانِ نامِ پوشه روی دیسک استفاده می‌شود. باید در میانِ کارهایت یکتا باشد.
Descriptionخلاصه‌ی کوتاهی که در فهرستِ کارها نشان داده می‌شود.
Instructionsآنچه Claude باید هنگامِ اجرای کار انجام دهد. این را همان‌طور بنویس که هر پیامی را در جعبه‌ی پرامپت می‌نویسی. ورودیِ instructions شاملِ انتخاب‌گرهایی برای حالتِ دسترسی و مدل است، و زیرِ آن پوشه‌ی کاری و اینکه آیا در یک worktree ایزوله اجرا شود را انتخاب می‌کنی.
Scheduleاینکه کار هر چند وقت اجرا شود. گزینه‌های زمان‌بندی را در زیر ببین.

پیش از اینکه بتوانی کار را ذخیره کنی، یک پوشه لازم است. اگر هنوز به آن پوشه اعتماد نکرده‌ای، Desktop پیش از ذخیره از تو می‌خواهد به آن اعتماد کنی.

همچنین می‌توانی با توصیفِ آنچه می‌خواهی در هر نشستی یک کار بسازی. برای مثال، «set up a daily code review that runs every morning at 9am» یک کارِ تکرارشونده می‌سازد، و «remind me at 3pm tomorrow to check the deploy» یک کارِ یک‌باره می‌سازد که بعد از شلیک خودش را غیرفعال می‌کند.

یک پیش‌تنظیم را از کنترلِ Schedule انتخاب کن:

  • Manual: بدونِ زمان‌بندی، فقط وقتی روی Run now کلیک کنی اجرا می‌شود. برای ذخیره‌ی پرامپتی که در صورتِ نیاز trigger می‌کنی مفید است
  • Hourly: هر ساعت اجرا می‌شود
  • Daily: یک انتخاب‌گرِ زمان نشان می‌دهد، با پیش‌فرضِ ۹:۰۰ صبح به وقتِ محلی
  • Weekdays: مثلِ Daily اما شنبه و یکشنبه را رد می‌کند
  • Weekly: یک انتخاب‌گرِ زمان و یک انتخاب‌گرِ روز نشان می‌دهد

برای بازه‌هایی که انتخاب‌گر ارائه نمی‌دهد، مثلِ هر ۱۵ دقیقه، اولِ هر ماه، یا یک اجرای تکیِ در زمانی مشخص در آینده، در هر نشستِ Desktop از Claude بخواه زمان‌بندی را تنظیم کند. از زبانِ ساده استفاده کن؛ برای مثال، «schedule a task to run all the tests every 6 hours.»

کارهای زمان‌بندی‌شده چطور اجرا می‌شوند

Section titled “کارهای زمان‌بندی‌شده چطور اجرا می‌شوند”

کارهای زمان‌بندی‌شده روی دستگاهت اجرا می‌شوند. Desktop تا وقتی اپ باز است هر دقیقه زمان‌بندی را بررسی می‌کند و وقتی یک کار سررسید شد، یک نشستِ تازه شروع می‌کند، مستقل از هر نشستِ دستی‌ای که باز داری. هر کار چند دقیقه تأخیرِ کوچک بعد از زمانِ زمان‌بندی‌شده می‌گیرد تا ترافیکِ API را پلکانی کند. تأخیر قطعی است: همان کار همیشه با همان آفست شروع می‌شود.

وقتی یک کار شلیک می‌کند، یک اعلانِ دسکتاپ می‌گیری و یک نشستِ تازه زیرِ بخشِ Scheduled در نوارِ کناری ظاهر می‌شود. آن را باز کن تا ببینی Claude چه کرد، تغییرات را مرور کن، یا به پرامپت‌های دسترسی پاسخ بده. نشست مثلِ هر نشستِ دیگری کار می‌کند: Claude می‌تواند فایل‌ها را ویرایش کند، دستورها را اجرا کند، کامیت بسازد، و pull request باز کند.

کارها فقط وقتی اجرا می‌شوند که اپِ دسکتاپ در حالِ اجراست و کامپیوترت بیدار است. اگر کامپیوترت در طولِ یک زمانِ زمان‌بندی‌شده بخوابد، آن اجرا رد می‌شود. برای جلوگیری از خوابِ بیکاری، Keep computer awake را در Settings زیرِ Desktop app → General فعال کن. بستنِ درِ لپ‌تاپ همچنان آن را به خواب می‌برد. برای کارهایی که باید حتی وقتی کامپیوترت خاموش است اجرا شوند، یا باید با یک فراخوانیِ API یا رویدادِ GitHub trigger شوند، به‌جایش یک routineِ راه‌دور بساز.

وقتی اپ شروع می‌شود یا کامپیوترت بیدار می‌شود، Desktop بررسی می‌کند که آیا هر کار در هفت روزِ گذشته اجرایی را از دست داده است. اگر داده باشد، Desktop دقیقاً یک اجرای جبرانی برای آخرین زمانِ ازدست‌رفته شروع می‌کند و هرچه قدیمی‌تر است را دور می‌اندازد. کارِ روزانه‌ای که شش روز را از دست داده باشد، هنگامِ بیدارشدن یک بار اجرا می‌شود. Desktop وقتی یک اجرای جبرانی شروع می‌شود یک اعلان نشان می‌دهد.

این را هنگامِ نوشتنِ پرامپت‌ها در نظر داشته باش. کاری که برای ۹ صبح زمان‌بندی شده ممکن است ساعتِ ۱۱ شب اجرا شود اگر کامپیوترت تمامِ روز خواب بوده باشد. اگر زمان‌بندی مهم است، نرده‌های محافظ را به خودِ پرامپت اضافه کن، برای مثال: «Only review today’s commits. If it’s after 5pm, skip the review and just post a summary of what was missed.»

دسترسی‌ها برای کارهای زمان‌بندی‌شده

Section titled “دسترسی‌ها برای کارهای زمان‌بندی‌شده”

هر کار حالتِ دسترسیِ خودش را دارد، که هنگامِ ساخت یا ویرایشِ کار تنظیمش می‌کنی. قواعدِ allow از ~/.claude/settings.json هم روی نشست‌های کارِ زمان‌بندی‌شده اعمال می‌شوند. اگر کاری در حالتِ Ask اجرا شود و نیاز داشته باشد ابزاری را اجرا کند که برایش دسترسی ندارد، اجرا تا وقتی تأییدش کنی متوقف می‌ماند. نشست در نوارِ کناری باز می‌ماند تا بتوانی بعداً پاسخ دهی.

برای پرهیز از توقف، بعد از ساختِ یک کار روی Run now کلیک کن، مراقبِ پرامپت‌های دسترسی باش، و برای هرکدام «always allow» را انتخاب کن. اجراهای آینده‌ی آن کار همان ابزارها را بدونِ پرامپت به‌صورتِ خودکار تأیید می‌کنند. می‌توانی این تأییدها را از صفحه‌ی جزئیاتِ کار مرور و لغو کنی.

مدیریتِ کارهای زمان‌بندی‌شده

Section titled “مدیریتِ کارهای زمان‌بندی‌شده”

روی یک کار در فهرستِ Routines کلیک کن تا صفحه‌ی جزئیاتش باز شود. از این‌جا می‌توانی:

  • Run now: کار را فوراً و بدونِ انتظار برای زمانِ زمان‌بندی‌شده‌ی بعدی شروع کن
  • Status: بینِ Active و Paused تاگل کن تا اجراهای زمان‌بندی‌شده را بدونِ حذفِ کار متوقف یا از سر بگیری
  • Edit: instructionها، زمان‌بندی، پوشه، یا دیگر تنظیمات را عوض کن
  • Review history: هر اجرای گذشته، شاملِ اجراهای ردشده را ببین. روی یک ورودیِ ردشده هاور کن تا ببینی چرا: کامپیوترت خواب بود، اجرای قبلی هنوز در جریان بود، یا کارهای زمان‌بندی‌شده‌ی دیگری از قبل در حالِ اجرا بودند. روی Show more کلیک کن تا ورودی‌های قدیمی‌تر بارگذاری شوند.
  • Review allowed permissions: تأییدهای ابزارِ ذخیره‌شده‌ی این کار را از پنلِ Always allowed ببین و لغو کن
  • Delete: کار را حذف کن و همه‌ی نشست‌هایی که ساخته آرشیو کن. یک چک‌باکسِ Also delete files on disk در دیالوگِ تأیید ظاهر می‌شود؛ آن را تیک بزن تا فایلِ SKILL.mdِ کار و داده‌های مرتبط از ~/.claude/scheduled-tasks/ هم حذف شوند.

همچنین می‌توانی با درخواست از Claude در هر نشستِ Desktop کارها را فهرست، ساخت، ویرایش و متوقف کنی. برای مثال، «pause my dependency-audit task» یا «show me my scheduled tasks.» برای حذفِ یک کار، از دکمه‌ی Delete در صفحه‌ی جزئیاتش استفاده کن.

یک کارِ زمان‌بندی‌شده همچنین می‌تواند از داخلِ یک نشستِ در حالِ اجرا با ابزارِ MCPِ update_scheduled_task زمان‌بندی یا پرامپتِ خودش را تغییر دهد. این به یک کار اجازه می‌دهد بر اساسِ آنچه پیدا می‌کند خودش را دوباره زمان‌بندی کند، برای مثال، دوباره زمان‌بندیِ یک code review برای اجرای زودتر وقتی تشخیص می‌دهد یک شاخه‌ی release ساخته شده است.

برای ویرایشِ پرامپتِ یک کار روی دیسک، ~/.claude/scheduled-tasks/<task-name>/SKILL.md را باز کن (یا زیرِ CLAUDE_CONFIG_DIR اگر تنظیم شده باشد). فایل از YAML frontmatter برای name و description استفاده می‌کند، با پرامپت به‌عنوانِ بدنه. تغییرات در اجرای بعدی اعمال می‌شوند. زمان‌بندی، پوشه، مدل، و وضعیتِ enabled در این فایل نیستند: آن‌ها را از طریقِ فرمِ Edit عوض کن یا از Claude بخواه.