周期性定时任务 (Periodic Scheduled Tasks)
此功能旨在通过自动化技术,编排和执行重复性任务,从而提升工作效率并减少人工干预。
- [Gai] 应用程序 作为人机交互的核心,负责接收并执行各类操作指令,并展示任务执行结果。
- [PyGai] 连接器 充当机器与机器之间的通信桥梁,负责任务的调度、指令的分发以及结果的集中处理。
通过 [PyGai] 连接器 配置和调度周期性定时任务,[Gai] 应用程序 负责执行这些任务并反馈结果。此机制旨在自动化重复性工作流程,从而释放用户时间,将日常周期性操作交由系统完成。
定时任务本质上是对AI操作的自动化编排,涉及以下核心要素:
- 指令来源: 任务的发起者或获取具体指令的系统。
- 任务定义: 具体的执行指令,包括操作内容和相关参数。
- 结果处理: 任务执行结果的去向和通知机制。
1. 指令来源 (Instruction Source)
应用程序的指令来源分为两种类型:本地指令库和连接器API。
- 本地指令库: 来源于应用程序内用户自己的提示词库。
- 连接器API: 来源于向连接器API发起请求后输出的提示词。
2. 任务定义 (Task Definition)
明确任务的执行时机与具体操作。
- 执行周期: 支持基于Cron表达式的灵活调度配置,可设定为每分钟、每小时、每日、每月、每年等周期性执行。
- 执行指令: 指应用程序需要执行的具体指令集,通常表现为高质量的提示词或操作脚本。
3. 结果处理 (Result Handling)
任务执行结果的存储与通知机制。
- 本地日志: 任务执行结果(包括成功/失败状态、详细日志及生成内容)将完整存储于应用程序本地。
- 连接器回传: 任务执行结果在本地记录的同时,通过API回传至连接器,以支持集中管理或进一步的业务逻辑处理。
- 邮件通知: 支持配置在任务执行完成后,通过电子邮件将通知发送至指定收件人,实现远程监控与异步提醒。
T1-使用周期性任务管理器 (Using the Periodic Task Manager)
在应用程序首页,点击 '定时任务' 按钮,导航至类别面板,并选择 '创建任务(new cron job)'。

- 任务状态: 定义任务的生命周期,包括运行 (Run)、停止 (Stop)、暂停 (Pause) 和删除 (Delete)。任务必须处于 '运行' 状态且已保存才能被调度执行。
- 备注: 应用程序重启后,'暂停' 状态的任务将自动恢复为 '运行','删除' 状态的任务将被永久移除。
- 任务名称: 为任务指定一个唯一的标识符。
- 执行频率 (Cron表达式): 基于标准的Cron表达式配置任务的执行频率,支持手动编辑。
- 预设频率选项: 提供常用执行频率的快捷选择,例如每小时、每日、每周、每月、每年等。
- 指令来源类型: 选择指令的获取方式。'Prompt' 表示来源于应用程序本地指令库,'HTTP' 表示来源于连接器API。
- 指令来源标识: 根据选定的来源类型,输入相应前缀(如 'P' for Prompt, '_H' for HTTP)来定位具体的指令或API。
- 结果处理类型: 定义任务执行结果的去向。'History' 表示本地日志记录,'HTTP' 表示回传至连接器进行处理。
- 结果回传目标: 若选择 'HTTP' 结果处理类型,需指定连接器的具体API端点(例如输入 '_H' 前缀选择)。'History' 类型无需此设置。
- 单次执行: 勾选此项,任务将在执行一次后自动失效。
- 任务完成邮件通知: 启用后,任务执行完成后将发送邮件通知。
- 保存任务: 将当前配置保存并加入调度队列,任务将在指定时间开始执行。
- 立即执行 (调试): 仅用于手动触发一次任务执行,不保存当前配置。主要用于任务调试。
附注1: 已保存的任务可以通过导航至 '定时任务类别面板' -> '任务列表' 进行加载和编辑。
附注2: Empty Input Silenced 选项:当任务输入内容为空时,选择是否静默跳过本次执行,避免无意义的错误报告。
最佳实践用例:
- 用例A: 应用程序本地提示词生成内容,并回传至连接器进行后续处理。
- 用例B: 从连接器API动态获取提示词,在应用程序本地生成内容,并将结果回传至连接器。
T2-定时任务类别面板 (Scheduled Task Category Panel)
在应用程序首页,点击 '定时任务' 按钮,进入功能类别面板。

A. 主功能区入口: 包含各项任务管理功能的快捷访问。 B. 使用情况统计: 展示任务执行概览数据。 C. 辅助功能菜单: 提供附加工具和设置选项。
- 创建字面常量: 定义不可变的文本或数值数据。
- 创建HTTP变量: 配置用于HTTP请求的动态参数。
- 创建周期性任务: 配置周期性自动执行的任务。
- 字面常量列表: 管理所有已定义的字面常量。
- HTTP变量列表: 管理所有已定义的HTTP变量。
- 任务列表: 管理所有已创建的周期性任务。
- 任务执行日志: 查看所有已执行任务的详细日志记录。
附注: 新增 'HTTP定时任务(new http job)' 功能,专门用于周期性发起HTTP请求。
从连接器获取指令 (Retrieving Instructions from Connector)
此功能允许应用程序通过HTTP请求,从连接器的API接口动态获取执行指令或数据。一个完整的HTTP请求通常包含URL地址、请求方法 (GET/POST等)、请求头 (Header) 和请求体 (Body/Form Data) 等组成部分。
以下步骤将指导您如何配置HTTP请求所需的常量与变量,类似于使用HTTP调试工具。
- 定义字面常量,例如API端点、授权凭证等。
- 定义HTTP变量,例如请求URL、请求头等动态参数。
T3-定义字面常量 (Defining Literal Constants)
在类别面板中,选择 '创建字面常量' 以进入编辑器。

- 常量类型: 可选择 '全局 (Global)' 或 '局部 (Variable)' 作用域。
- 常量名称: 为常量指定唯一的标识符。
- 常量值: 输入常量对应的具体数据。
- 保存: 提交并保存常量定义。
T4-定义HTTP变量 (Defining HTTP Variables)
HTTP变量使用 {{}} 作为定界符。变量命名规则:由字母、数字和下划线组成,且必须以字母或下划线开头。
在类别面板中,选择 '创建HTTP变量' 以进入编辑器。

- 变量名称: 为HTTP请求变量指定唯一的标识符。
- 请求方法: 选择HTTP请求的方法,支持GET、POST等。
- 请求URL: 输入目标API的URL地址。
- 请求数据类型: 选择数据类型,包括 '请求头 (Header)'、'查询参数 (Param)' 和 '请求体数据 (Data)'。
- 参数名称: 输入请求数据的键名。
- 参数值: 输入请求数据的值,支持使用
{{}}引用字面常量。 - 删除参数: 移除当前请求数据条目。
- 新增参数: 添加一个新的请求数据条目 (包括类型、名称、值和删除选项)。
- 保存: 提交并保存HTTP变量定义。
T5-任务执行日志 (Task Execution Logs)
在类别面板中,选择 '任务执行日志' 以查看列表。

- 日志概览: 显示任务的状态 (S: 成功, F: 失败)、执行时间及任务名称。
- 执行阶段状态: 详细展示任务在不同阶段的执行情况:
In (Input): 指令获取阶段 (S: 成功, F: 失败)Proc (Process): 内容生成阶段 (S: 成功, F: 失败)Out (Output): 结果输出阶段 (S: 成功, F: 失败)
- 错误信息: 若任务执行失败,此处将显示具体的错误详情;成功时为空。
- 操作选项:
- 删除: 移除此条日志记录。
- 复制: 复制JSON格式的详细日志内容。
T6-HTTP定时任务管理器 (HTTP Scheduled Task Manager)
HTTP定时任务与传统的周期性任务(Cron定时任务)的主要区别在于,前者仅周期性地发起HTTP请求,而不对响应数据进行后续处理或内容生成。
备注: 任务执行成功通常以HTTP状态码 200 表示,此功能特别适用于定时触发后端服务。

- 任务状态: 与 T1 中的任务状态定义一致。
- 任务名称: 与 T1 中的任务命名规则一致。
- 执行频率 (Cron表达式): 与 T1 中的执行频率配置一致。
- 预设频率选项: 与 T1 中的预设频率选项一致。
- 指令来源类型: 默认为 'HTTP',表示任务直接发起HTTP请求。
- 指令来源标识: 输入目标HTTP请求的URL地址或HTTP变量标识。
- 结果处理类型: 默认为 'History',任务执行结果仅记录在应用程序本地日志中。
- 结果回传目标: 保持为空,因结果仅记录本地日志。
- 单次执行: 与 T1 中的单次执行设置一致。
- 任务完成邮件通知: 与 T1 中的邮件通知设置一致。
- 任务失败邮件通知: 勾选此项,仅当任务执行失败时发送邮件通知。
- 保存任务: 与 T1 中的保存功能一致。
- 立即执行 (调试): 与 T1 中的立即执行功能一致,用于测试不保存的HTTP请求。
重要提示: '任务失败邮件通知' 功能的启用,依赖于同时开启 '任务完成邮件通知' 和 '设置 (Setting) -> 邮件通知 (emailNotif)'。