Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

桌面版定时任务

在 Claude Code 桌面版里设置按固定频率自动运行的本地定时任务:与云端例程和 /loop 的对比、创建字段、调度选项、错过的运行、权限与管理。

定时任务按你选择的时间和频率自动启动新会话,适合日常代码评审、依赖更新检查、从日历和收件箱拉取信息的晨间简报这类重复工作。桌面应用的 Routines 页面既能创建本地定时任务,也能创建远程例程:本地任务在你的机器上运行,可直接访问你的文件和工具,但只在应用打开且电脑唤醒时触发;远程例程在云端运行,即使电脑关着也会跑,还可以由 API 调用或 GitHub 事件触发。本页讲本地定时任务。

三种调度方式对比

云端桌面版/loop
运行位置云端(默认 Anthropic 托管)你的机器你的机器
需要机器开着否是是
需要打开的会话否否是
重启后持久是是--resume 时恢复(有例外)
访问本地文件否(全新克隆)是是
MCP 服务器按任务配置的连接器配置文件和连接器继承自会话
权限提示无(自主运行)每个任务可配置继承自会话
可自定义调度在 CLI 里用 /schedule是是
最小间隔1 小时1 分钟1 分钟

需要不依赖你机器可靠运行的工作用云端任务;需要访问本地文件和工具用桌面任务;会话内的快速轮询用 /loop。默认情况下,定时任务针对你工作目录当前的状态运行,包括未提交的改动;创建任务时启用 worktree 开关,可以让每次运行拥有独立隔离的 Git worktree,与并行会话的方式相同。

创建定时任务

在 Code 标签页点侧边栏的 Routines(或侧边栏 More 菜单里),点 New routine 并选 Local(桌面版 1.1.5368 之前不支持本地定时任务)。字段:

字段说明
Name任务标识,转成小写 kebab-case 并用作磁盘上的文件夹名,在你的任务里必须唯一
Description显示在任务列表里的简短摘要
Instructions任务运行时 Claude 该做什么,写法与提示框里的任何消息一样;输入框带权限模式和模型选择器,下面选工作文件夹以及是否在隔离的 worktree 里运行
Schedule任务多久运行一次

保存任务前必须有文件夹;文件夹未受信时,桌面版会在保存前提示你信任。你也可以在任何会话里用描述的方式创建:如「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 时运行,适合保存按需触发的提示)、Hourly(每小时)、Daily(每天你选的本地时间)、Weekdays(同 Daily 但跳过周六周日)、Weekly(时间选择器加日期选择器)。选择器没有的间隔(如每 15 分钟、每月 1 号、未来某个具体时间的单次运行),在任何桌面会话里用自然语言让 Claude 设置,比如「schedule a task to run all the tests every 6 hours」。

任务如何运行

定时任务在你的机器上运行。应用打开时桌面版每分钟检查一次调度,任务到期就启动一个全新会话,与你手动打开的会话无关。每个任务在计划时间之后有几分钟的小延迟用来错开 API 流量,延迟是确定的:同一个任务总是在同样的偏移处启动。触发时你会收到桌面通知,侧边栏的 Scheduled 分区里出现一个新会话,打开它可以看 Claude 做了什么、评审改动或回应权限提示。Claude 能编辑文件、运行命令、创建提交和打开 PR,与你自己启动的会话相同。

任务只在桌面应用运行且电脑唤醒时执行;电脑在计划时间睡着,这次运行会被跳过。要避免空闲睡眠,在设置的 Desktop app → General 里启用 Keep computer awake(合上笔记本盖仍会睡眠)。需要在电脑关机时也运行,或要由 API 调用或 GitHub 事件触发的,创建远程例程。

错过的运行

应用启动或电脑唤醒时,桌面版检查每个任务过去七天内是否错过了运行;如果错过了,只为最近一次错过的时间启动一次补跑,更早的丢弃,补跑启动时会通知。所以每天一次的任务错过六天只会在唤醒时运行一次。写提示词时要把这点考虑进去:电脑睡了一整天,9 点的任务可能晚上 11 点才跑。时间要紧的话,在提示里加护栏,比如「只评审今天的提交。如果已经过了下午 5 点,跳过评审,只发一份错过内容的摘要」。

权限

每个任务有自己的权限模式,在创建或编辑时设置;~/.claude/settings.json 里的 allow 规则也适用于定时任务会话。任务在 Manual 模式下需要运行没有权限的工具时,这次运行会停住直到你批准,会话保持在侧边栏里供你稍后回答。为避免停住:创建任务后点 Run now,留意权限提示,对每个选「始终允许」,之后该任务的运行会自动批准相同的工具,可以在任务详情页查看和撤销这些批准。标记了 requiresUserInteraction 的 MCP 工具每次调用都会提示且没有「始终允许」选项,调用它们的运行每次都会停住。

管理定时任务

在 Code 标签页的 Routines 列表里点一个任务打开详情页,可以:Run now(立即启动,不等下一次计划时间)、Status(Active 与 Paused 切换,暂停或恢复而不删除)、Edit(改指令、调度、文件夹等)、Review history(查看所有过往运行,包括被跳过的;悬停被跳过的条目可看原因:电脑睡着、上一次运行仍在进行、或其他定时任务已在运行;Show more 加载更早的条目)、Review allowed permissions(在 Always allowed 面板查看和撤销该任务保存的工具批准)、Delete(删除任务并归档它创建的所有会话;确认对话框里有 Also delete files on disk 复选框,勾选会同时移除任务的 SKILL.md 文件和 ~/.claude/scheduled-tasks/ 下的相关数据)。

你也可以在任何桌面会话里让 Claude 列出、创建、编辑和暂停任务,比如「pause my dependency-audit task」;删除要用详情页的 Delete 按钮。定时任务还可以在运行中的会话里用 update_scheduled_task MCP 工具修改自己的调度或提示,让任务根据发现的情况重新安排自己,例如检测到发布分支被创建时把代码评审提前。要在磁盘上编辑任务的提示,打开 ~/.claude/scheduled-tasks/<task-name>/SKILL.md(设置了 CLAUDE_CONFIG_DIR 则在它下面):文件用 YAML frontmatter 放 name 和 description,提示是正文,改动在下次运行时生效;调度、文件夹、模型和启用状态不在这个文件里,要通过 Edit 表单或让 Claude 修改。