更新时间:2026-07-31 GMT+08:00
分享

定时任务

通过自然语言创建和管理定时任务,包括周期性任务(如每日代码检查)和一次性任务(如明日提交提醒),实现灵活的任务调度与控制。

定时任务命令

表1 定时任务命令

开发环境

命令

功能说明

TUI

/schedule

自然语言提示词

在TUI开发环境中,您可以通过输入/schedule命令,或直接使用自然语言描述来创建定时任务。

CLI

codearts run --command schedule "提示词"

codearts run "提示词"

在CLI开发环境中,您可以通过输入/schedule命令,或直接使用自然语言描述来创建定时任务。

通过命令创建的定时任务会立即执行,使用自然语言描述创建的定时任务则不会立即执行。

定时任务配置文件

在码道CLI中运行定时任务依赖以下文件,其中的数据均由系统自动生成。

表2 定时任务依赖文件

文件类型

文件路径

说明

任务数据文件(配置文件)

~/.codeartsdoer/cli-data/cron/scheduled_tasks.json

存储所有定时任务的定义,包括间隔、提示词、状态等。数据文件包含的具体字段,如表3

执行日志文件(执行记录)

~/.codeartsdoer/cli-data/cron/cron_log/task_{TASK_ID}.json

记录每个任务的每次执行结果,包括状态、耗时、结果摘要。

表3 数据文件字段说明

字段

取值范围 / 格式

说明

示例

id

8字符随机ID(系统自动生成)

任务的唯一标识。

10e366d0

cron

5段Cron表达式:minute hour day month weekday

支持:*、*/N、N、N-M、N,M,O

字段范围:分钟(0–59)、小时(0–23)、日(1–31)、月(1–12)、星期(0-6,0为周日)

执行时间计划(本地时间),用于定时触发任务。

*/5 * * * *(每5分钟)、0 9 * * *(每天9点)

prompt

任意文本

任务触发时执行的AI提示词(指令内容)。

检查本地C盘剩余存储空间

projectPath

绝对路径

所属项目路径(系统自动绑定当前项目上下文)。

D:\tmp\test_hc_cli

status

  • active:运行中
  • paused:暂停
  • expired:已过期
  • deleted:已删除

任务当前状态(系统自动管理,初始值为active)。

active

recurring

  • true:循环任务,按cron间隔反复执行
  • false:单次任务,执行一次后自动结束

是否启用循环执行机制。

true

durable

  • true:持久化定时任务。持久化任务跨重启保留,退出后下次启动会自动恢复并继续执行。只有当用户明确要求“跨重启保留”、“持续每天运行”、“永久保留”时,才会创建持久化任务。
  • false:会话级定时任务。默认创建的任务为会话级,退出程序后任务不再保留,下次启动不会恢复。适合临时提醒、短期轮询等场景。

是否为持久化任务,默认为false。

false

createdAt

Unix时间戳(毫秒)

任务创建时间,由系统自动生成。

1783996637621

humanSchedule

中文描述

人类可读的调度描述,系统根据cron表达式自动生成。

每分钟、每天09:00、每5分钟

sessionID

字符串

会话标识符。定时任务会新建会话,并随任务刷新而更新。

ses_0a16ceba1ffeXQHnpNW0jh20J8

agentID

内置Agent名称

执行任务所使用的Agent,由系统自动获取。

build、code

modelID

已配置的模型ID

执行任务使用的模型,由系统自动获取。

deepseek-v3.2

providerID

已配置的提供商ID

执行任务使用的模型提供商,由系统自动获取。

huaweicloud-maas

isCustom

  • true:自定义Agent
  • false:内置Agent

是否使用自定义Agent,由系统自动判断。

false

sessionType

内核会话(kernel)、其他会话类型

会话类型,由系统自动获取。

kernel

category

  • code:代码类
  • office:办公类

任务分类,由系统自动获取。

code

在TUI中创建定时任务

在TUI开发环境中,您可以使用命令或自然语言两种方式来创建定时任务。需要注意的是,通过命令创建的定时任务会立即执行,而使用自然语言描述创建的定时任务则不会立即执行。

命令语法

/schedule [时间间隔] <提示词>
表4 /schedule命令参数说明

参数

描述

时间间隔

可选参数,设置定时任务每隔多久执行一次。省略时默认每隔10分钟执行一次。

格式:数字 + 单位字母。单位字母包含s(秒)、m(分钟)、h(小时)和d(天)四种。

提示词

必选参数,您希望AI执行的指令。

首次提交定时任务指令后,AI将立即执行一次指定的提示词,并随后设置一个定时任务持续运行。后续的定时任务将在一个独立的会话(session)中生成,您可以通过“/sessions”命令查看所有会话的情况。例如,下发一个“/schedule 5m 检查部署状态”指令,AI会立即检查一次,然后每5分钟自动检查部署状态。

使用示例

  1. 进入TUI开发环境。

    1. 打开目标项目的根目录。
    2. 鼠标右键单击空白处,选择“在终端中打开”。
    3. 在终端中输入“/codearts”并回车,即可进入TUI开发环境。

  2. 通过“/schedule”命令,创建定时任务。

    1. 在TUI对话框中,输入“/”,选择“/schedule”
    2. “/schedule”命令后,输入如下指令,并按Enter键。
      1m 按照后缀递增创建一个txt文件,并写入当前系统日期与时间
    3. AI会创建定时任务并立即执行一次定时任务,同时生成表5中两个文件。
      图1 创建会话级定时任务
      表5 生成文件

      文件名

      存储路径

      说明

      scheduled_tasks.json

      %USERPROFILE%/.codeartsdoer/cli-data/cron/

      记录当前任务信息。

      task_{TASK_ID}.json

      %USERPROFILE%/.codeartsdoer/cli-data/cron/cron_log/

      记录当前任务的执行记录。

    4. 通过“/sessions”命令,查看定时任务新建的会话。
      图2 查看定时任务新建的会话

除了通过“/schedule”命令创建定时任务,还支持通过自然语言描述来创建定时任务。通过自然语言创建的定时任务,不会立即执行

  1. 进入TUI开发环境。

    1. 打开目标项目的根目录。
    2. 鼠标右键单击空白处,选择“在终端中打开”。
    3. 在终端中输入“/codearts”并回车,即可进入TUI开发环境。

  2. 在TUI对话框中,输入您希望AI执行的操作,并按Enter键。

    • 通过自然语言创建循环任务示例
      表6 通过自然语言创建循环任务

      提示词

      AI会做的事

      每30分钟检查一下生产环境的错误日志

      创建循环任务,每30分钟执行一次

      每天早上9点运行单元测试

      创建循环任务,每天9:00执行一次

      每小时扫描一次安全漏洞

      创建循环任务,每1小时执行一次

    • 通过自然语言创建单次任务示例
      表7 通过自然语言创建单次任务

      提示词

      AI会做的事

      明天上午9点提醒我review PR#42

      创建单次任务,明天9:00执行一次后自动结束

      3分钟后提醒我确认数据库迁移结果

      创建单次任务,3分钟后执行一次

      下周一10点提醒我提交周报

      创建单次任务,下周一10:00执行一次

在CLI中创建定时任务

在CLI开发环境中,您可以使用命令或自然语言两种方式来创建定时任务。需要注意的是,通过命令创建的定时任务会立即执行,而使用自然语言描述创建的定时任务则不会立即执行。

CLI对话是一次性的,因此CLI场景下创建的定时任务仅会写入到scheduled_tasks.json配置文件中,待启动TUI或者其他码道CLI进程时才会执行定时任务。请保持码道CLI持续运行,确保任务能够按时、稳定地执行。

命令语法

codearts run --command schedule "提示词"
表8 命令参数说明

参数

描述

提示词

必选参数,您希望AI执行的操作。

使用示例

  1. 在CLI开发环境中,输入创建定时任务命令并回车。

    例如,创建一个每两分钟提醒我进行CLI测试的定时任务,您可使用如下提示词。如果指令中没有明确时间,则创建默认每10分钟执行一次的定时任务(如codearts run --command schedule "列出所有定时任务")。
    codearts run --command schedule "2m 提醒我进行CLI测试"

  2. AI会根据您输入的指令,创建定时任务并立即执行一次定时任务。

    图3 创建并执行定时任务

  1. 在CLI开发环境中,输入创建定时任务命令并回车。

    codearts run "提示词"

    例如,创建一个每分钟提醒我写CLI周报的定时任务,您可使用如下提示词。

    codearts run "每分钟提醒我写CLI的周报"

  2. AI会根据您输入的指令,创建定时任务。

    图4 创建定时任务

管理定时任务

不支持通过命令管理定时任务,仅执行通过自然语言描述来管理已创建的定时任务。

表9 管理定时任务

输入自然语言提示词

执行结果

  • TUI:列出所有的定时任务
  • CLI:codearts run "列出所有的定时任务"

展示全部定时任务列表。

  • TUI:查看暂停的定时任务
  • CLI:codearts run "列出所有的定时任务"

仅展示处于暂停状态的任务。

  • TUI:查看任务ID任务详情
  • CLI:codearts run "查看任务ID任务详情"

展示该任务的详情,包括执行历史和下次运行时间

  • TUI:暂停任务ID
  • CLI:codearts run "暂停任务ID"

任务停止执行,暂停不会丢失任何配置,恢复后任务继续按原间隔执行。

  • TUI:恢复任务ID
  • CLI:codearts run "恢复任务ID"

将暂停的任务重新激活,按原计划继续运行。

  • TUI:删除任务ID
  • CLI:codearts run "删除任务ID"

永久移除该任务,不可恢复。

  • TUI:立即执行定时任务任务ID
  • CLI:codearts run "立即执行定时任务任务ID"

马上触发一次执行,不影响原有的定时计划。例如,可以立即执行处于暂停状态的定时任务。

相关文档