跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

定期任务在您选择的时间和频率自动启动新会话。使用它们进行定期工作,如日常代码审查、依赖项更新检查或从您的日历和收件箱中提取信息的早晨简报。 Desktop 应用的 Routines 页面让您可以创建本地定期任务和远程 routines。本地任务在您的机器上运行,可直接访问您的文件和工具,但仅在应用打开且计算机处于唤醒状态时才会触发。远程 routine 在 Anthropic 管理的云基础设施上运行,即使您的计算机关闭也可以运行,还可以通过 API 调用或 GitHub 事件触发。本页面涵盖本地定期任务;有关远程 routine 及其触发选项,请参阅 Routines

比较调度选项

Claude Code offers three ways to schedule recurring or one-off work:
CloudDesktop/loop
Runs onAnthropic cloudYour machineYour machine
Requires machine onNoYesYes
Requires open sessionNoNoYes
Persistent across restartsYesYesRestored on --resume if unexpired
Access to local filesNo (fresh clone)YesYes
MCP serversConnectors configured per taskConfig files and connectorsInherits from session
Permission promptsNo (runs autonomously)Configurable per taskInherits from session
Customizable scheduleVia /schedule in the CLIYesYes
Minimum interval1 hour1 minute1 minute
Use cloud tasks for work that should run reliably without your machine. Use Desktop tasks when you need access to local files and tools. Use /loop for quick polling during a session.
默认情况下,定期任务针对您的工作目录的任何状态运行,包括未提交的更改。在创建任务时启用 worktree 切换,为每次运行提供其自己的隔离 Git worktree,与 parallel sessions 的工作方式相同。

创建定期任务

单击侧边栏中的 Routines,然后单击 New routine 并选择 Local。配置这些字段:
字段描述
Name任务的标识符。转换为小写 kebab-case 并用作磁盘上的文件夹名称。在您的任务中必须是唯一的。
Description任务列表中显示的简短摘要。
Instructions任务运行时 Claude 应该做什么。以您在提示框中编写任何消息的相同方式编写此内容。instructions 输入包括权限模式和模型的选择器,在其下方您选择工作文件夹以及是否在隔离的 worktree 中运行。
Schedule任务运行的频率。请参阅下面的 schedule options
在保存任务之前需要一个文件夹。如果您还没有信任该文件夹,Desktop 会在保存前提示您信任它。 您也可以通过在任何会话中描述您想要的内容来创建任务。例如,“设置一个每天早上 9 点运行的日常代码审查”会创建一个定期任务,“提醒我明天下午 3 点检查部署”会创建一个一次性任务,在触发后禁用自己。

调度选项

从 Schedule 控件中选择一个预设:
  • Manual:无调度,仅在您单击 Run now 时运行。适用于保存您按需触发的提示
  • Hourly:每小时运行一次
  • Daily:显示时间选择器,默认为本地时间上午 9:00
  • Weekdays:与 Daily 相同,但跳过星期六和星期日
  • Weekly:显示时间选择器和日期选择器
对于选择器不提供的间隔,例如每 15 分钟、每月的第一天或在特定未来时间的单次运行,请在任何 Desktop 会话中询问 Claude 来设置调度。使用纯语言;例如,“安排一个任务每 6 小时运行一次所有测试。“

定期任务如何运行

定期任务在您的机器上运行。Desktop 在应用打开时每分钟检查一次调度,并在任务到期时启动一个新会话,独立于您打开的任何手动会话。每个任务在计划时间后会有几分钟的小延迟,以错开 API 流量。延迟是确定性的:同一任务总是在相同的偏移量处启动。 当任务触发时,您会收到桌面通知,新会话会在侧边栏的 Scheduled 部分下出现。打开它以查看 Claude 做了什么、审查更改或响应权限提示。会话的工作方式与任何其他会话相同:Claude 可以编辑文件、运行命令、创建提交和打开拉取请求。 任务仅在 desktop 应用运行且计算机处于唤醒状态时运行。如果您的计算机在计划时间内进入睡眠状态,该运行将被跳过。要防止空闲睡眠,请在 Settings 中的 Desktop app → General 下启用 Keep computer awake。关闭笔记本电脑盖仍会使其进入睡眠状态。对于需要在计算机关闭时运行或应该通过 API 调用或 GitHub 事件触发的任务,请改为创建远程 routine

错过的运行

当应用启动或计算机唤醒时,Desktop 会检查每个任务是否在过去七天内错过了任何运行。如果有,Desktop 会为最近错过的时间启动恰好一次追赶运行,并丢弃任何更早的运行。一个错过六天的日常任务在唤醒时运行一次。当追赶运行启动时,Desktop 会显示通知。 在编写提示时请记住这一点。计划在上午 9 点运行的任务可能在晚上 11 点运行,如果您的计算机整天处于睡眠状态。如果时间很重要,请在提示本身中添加护栏,例如:“仅审查今天的提交。如果已经是下午 5 点之后,请跳过审查,只发布一份错过内容的摘要。“

定期任务的权限

每个任务都有自己的权限模式,您在创建或编辑任务时设置。来自 ~/.claude/settings.json 的允许规则也适用于定期任务会话。如果任务在 Ask 模式下运行并需要运行它没有权限的工具,运行将停滞,直到您批准它。会话保持在侧边栏中打开,以便您稍后可以回答。 为了避免停滞,在创建任务后单击 Run now,查看权限提示,并为每个提示选择”always allow”。该任务的未来运行会自动批准相同的工具,无需提示。您可以从任务的详细信息页面查看和撤销这些批准。

管理定期任务

单击 Routines 列表中的任务以打开其详细信息页面。从这里您可以:
  • Run now:立即启动任务,无需等待下一个计划时间
  • Status:在 Active 和 Paused 之间切换,以暂停或恢复定期运行,而无需删除任务
  • Edit:更改 instructions、schedule、folder 或其他设置
  • Review history:查看每次过去的运行,包括跳过的运行。将鼠标悬停在跳过的条目上以查看原因:您的计算机处于睡眠状态、前一次运行仍在进行中,或其他定期任务已在运行。单击 Show more 以加载较早的条目。
  • Review allowed permissions:从 Always allowed 面板查看和撤销此任务的已保存工具批准
  • Delete:删除任务并存档它创建的所有会话。确认对话框中会出现 Also delete files on disk 复选框;选中它以同时删除任务的 SKILL.md 文件和 ~/.claude/scheduled-tasks/ 中的关联数据。
您也可以通过在任何 Desktop 会话中询问 Claude 来列出、创建、编辑和暂停任务。例如,“pause my dependency-audit task”或”show me my scheduled tasks”。要删除任务,请使用其详细信息页面上的 Delete 按钮。 定期任务还可以使用 update_scheduled_task MCP 工具从运行中的会话内修改其自己的调度或提示。这让任务可以根据它发现的内容重新调度自己,例如,当它检测到发布分支已创建时,将代码审查重新调度为更早运行。 要在磁盘上编辑任务的提示,请打开 ~/.claude/scheduled-tasks/<task-name>/SKILL.md(如果设置了 CLAUDE_CONFIG_DIR,则在其下)。该文件使用 YAML frontmatter 表示 namedescription,提示作为正文。更改在下一次运行时生效。Schedule、folder、model 和 enabled 状态不在此文件中:通过 Edit 表单更改它们或询问 Claude。

相关资源