乐于分享
好东西不私藏

OpenClaw 自动化任务:心跳机制与定时任务实战

OpenClaw 自动化任务:心跳机制与定时任务实战

一、前言:为什么你的 AI 助手总是"被动"?

你有没有这样的经历:

  • 早上打开电脑,才发现昨晚有重要邮件没处理

  • 开会前 5 分钟,突然想起有个日程忘了准备

  • 模型 API 额度用完了,跑了一半的任务报错

  • Git 仓库好久没同步,代码冲突一堆

问题不在你,而在你的 AI 助手太"被动"。

它只会等你下指令,不会主动检查、主动提醒、主动执行。就像个只会听命令的机器人,而不是真正懂你的数字助手。

今天这篇文章,我要帮你把 OpenClaw 从"被动响应"升级成"主动服务"。

学完你能做到

  • ✅ 让 AI 每天自动检查邮件和日历

  • ✅ 设置定时任务监控模型额度

  • ✅ 自动同步 Git 仓库状态

  • ✅ 创建周期性提醒(喝水/休息/日报)

  • ✅ 理解心跳与 Cron 的区别,合理选择

这是 OpenClaw 系列第 4 篇,建议先阅读前 3 篇:

  • 001 | OpenClaw 深度测评

  • 002 | OpenClaw 安装配置完全指南

  • 003 | OpenClaw 记忆系统详解

二、心跳机制:让 AI 学会"主动关心"

2.1 什么是心跳?

想象一下,你有个贴心的助理,每隔几小时就来问一次:

"老板,有什么需要我检查的吗?邮箱?日历?天气?"

这就是心跳机制——AI 定期"醒过来",主动检查你关心的事情。

在 OpenClaw 中,心跳通过 HEARTBEAT.md 文件配置。当系统发送心跳 poll 时,AI 会读取这个文件,执行指定的检查任务。

2.2 心跳 vs Cron:什么时候用哪个?

这是很多人容易混淆的点。先说结论:

场景推荐方案原因
多个检查可以批量执行心跳一次唤醒,多项检查,省 token
需要精确时间(如 9:00 整)Cron心跳时间会漂移
需要结合最近聊天上下文心跳心跳在主会话,有上下文
任务需要隔离执行CronCron 可创建独立子会话
简单提醒(如"喝水")Cron轻量,不占主会话
复杂检查(邮件 + 日历 + 天气)心跳可组合多项检查

经验法则

  • 心跳 = "定期检查多项事务"

  • Cron = "精确时间执行单一任务"

2.3 HEARTBEAT.md 配置详解

先看看默认的心跳文件内容:

# HEARTBEAT.md# Keep this file empty (or with only comments) to skip heartbeat API calls.# Add tasks below when you want the agent to check something periodically.

默认是空的,这意味着心跳 poll 时 AI 会回复 HEARTBEAT_OK,不做任何事。

要启用心跳,你需要在文件中添加检查任务。例如:

# 心跳检查清单## 待办事项[ ] 检查未读邮件(过去 4 小时)[ ] 检查日历(未来 24 小时)[ ] 检查天气(明天是否下雨)[ ] 检查 Git 仓库状态## 注意事项晚上 23:00-08:00 保持安静,除非紧急如果人类正在忙碌,减少打扰有重要事项才主动通知,否则回复 HEARTBEAT_OK

关键点

  1. 心跳检查是对话式的,AI 会理解你的意图

  2. 不需要写代码,用自然语言描述即可

  3. AI 会记住上次检查时间,避免重复

  4. 可以在 memory/heartbeat-state.json 追踪状态

2.4 心跳实战:配置你的第一个检查

让我们配置一个实用的心跳检查清单:

# HEARTBEAT.md - 尘风的日常检查## 每日检查(每 4-6 小时)### 工作相关[ ] 邮箱:检查过去 4 小时的未读邮件,标记紧急的[ ] 日历:检查未来 24 小时的会议,提前 2 小时提醒[ ] Git:检查工作区仓库状态,有变更才通知### 生活相关[ ] 天气:如果明天降雨概率>50%,提醒带伞[ ] 空气:如果 AQI>100,提醒戴口罩### 项目监控[ ] 公众号:检查新文章数据(阅读/收藏/转发)[ ] 模型额度:检查各厂商剩余额度,低于 20% 预警## 静默规则23:00-08:00:除非紧急邮件,否则不通知如果人类连续 2 小时无操作,降低检查频率每次心跳先检查距离上次通知的时间,避免打扰## 通知策略重要事项:直接发消息通知一般事项:累积到下次心跳一起汇报无事项:回复 HEARTBEAT_OK(不显示给用户)

配置好后,AI 会在每次心跳时自动执行这些检查,有重要事项才通知你。

三、Cron 定时任务:精确控制执行时间

3.1 Cron 基础概念

Cron 是 Linux 传统的定时任务系统,OpenClaw 通过 cron 工具提供了类似功能。

Cron 表达式格式

┌───── 分钟 (0-59)│ ┌───── 小时 (0-23)│ │ ┌───── 日期 (1-31)│ │ │ ┌───── 月份 (1-12)│ │ │ │ ┌───── 星期 (0-6, 0=周日)│ │ │ │ │* * * * *

常用示例

表达式含义
0 9 * * *每天早上 9:00
0 0 * * 1每周一凌晨 0:00
*/30 * * * *每 30 分钟
0 8-20/2 * * *每天 8:00-20:00,每 2 小时
0 0 1 * *每月 1 号凌晨 0:00

3.2 OpenClaw Cron 任务类型

OpenClaw 的 Cron 支持两种任务类型:

类型 1:System Event(系统事件)

向主会话注入消息,适合提醒类任务:

{"name""早晨提醒","schedule": {"kind""cron","expr""0 8 * * *","tz""Asia/Shanghai"  },"payload": {"kind""systemEvent","text""☀️ 早上好!今天是周二,记得参加 10:00 的团队会议。"  },"sessionTarget""main","enabled"true}

注意sessionTarget: "main" 必须搭配 payload.kind: "systemEvent"

类型 2:Agent Turn(代理执行)

创建独立会话执行任务,适合复杂任务:

{"name""模型额度检查","schedule": {"kind""cron","expr""0 20 * * *","tz""Asia/Shanghai"  },"payload": {"kind""agentTurn","message""运行 scripts/check-quotas.ps1,更新 memory/model-quota-state.json,如果有额度低于 20% 的厂商,通知用户。","timeoutSeconds"300  },"sessionTarget""isolated","delivery": {"mode""announce"  },"enabled"true}

注意sessionTarget: "isolated" 必须搭配 payload.kind: "agentTurn"

3.3 创建 Cron 任务

使用 cron 工具的 add 动作创建任务:

# 通过 OpenClaw 内部调用(伪代码)cron action=add job={"name""每日邮件检查","schedule": {"kind""cron""expr""0 9 * * *""tz""Asia/Shanghai"},"payload": {"kind""systemEvent""text""📬 提醒:检查昨日邮件"},"sessionTarget""main","enabled"true}

在 OpenClaw 中,你可以通过自然语言让 AI 帮你创建:

"帮我创建一个每天早上 9 点的提醒,内容是'检查邮箱和日历'"

AI 会自动调用 cron add 创建任务。

3.4 管理 Cron 任务

操作命令说明
查看任务cron list列出所有任务
查看禁用任务cron list includeDisabled=true包含已禁用的
立即执行cron run jobId=<id>手动触发一次
更新任务cron update jobId=<id> patch={...}修改配置
删除任务cron remove jobId=<id>永久删除
查看执行历史cron runs jobId=<id>查看过往执行记录

四、实战案例 1:每日邮件检查

4.1 需求分析

目标:每天早上 9:00 自动检查邮箱,汇总未读邮件。

检查内容

  • 过去 24 小时的未读邮件数量

  • 标记为"紧急"的邮件(如老板/客户发来的)

  • 包含关键词的邮件(如"紧急"/"会议"/"截止")

通知策略

  • 有紧急邮件:立即通知,列出标题和发件人

  • 无紧急邮件:不通知(静默检查)

4.2 实现方案

由于 OpenClaw 本身不直接连接邮箱,我们需要借助外部工具:

方案 A:使用 IFTTT/Zapier webhook

  1. 在 IFTTT 创建规则:新邮件 → 发送 webhook

  2. 在 OpenClaw 创建 webhook 接收任务

  3. 收到 webhook 后,AI 汇总并通知

方案 B:使用本地脚本 + Cron

  1. 编写 PowerShell 脚本检查邮箱(通过 IMAP)

  2. 脚本输出未读邮件列表到文件

  3. Cron 定时读取文件并通知

方案 C:使用 MCP Server(推荐)

  1. 配置 Gmail MCP Server

  2. 通过 mcporter skill 调用

  3. AI 直接查询邮箱

这里展示方案 C的实现:

4.3 配置步骤

步骤 1:安装 Gmail MCP Server

npx -y @modelcontextprotocol/server-gmail

步骤 2:配置 mcporter

在 TOOLS.md 添加:

### MCP Servers- Gmail: stdio 模式,命令 `npx -y @modelcontextprotocol/server-gmail`- 认证:OAuth 2.0,首次运行会打开浏览器授权

步骤 3:创建 Cron 任务

让 AI 帮你创建:

"创建一个每天早上 9 点的 Cron 任务,使用 Gmail MCP 检查未读邮件,如果有紧急邮件就通知我"

AI 会生成类似配置:

{  "name": "每日邮件检查",  "schedule": {    "kind": "cron",    "expr": "0 9 * * *",    "tz": "Asia/Shanghai"  },  "payload": {    "kind": "agentTurn",    "message": "使用 mcporter 连接 Gmail MCP,查询过去 24 小时的未读邮件。筛选发件人包含'老板'或主题包含'紧急'的邮件。如果有,通知用户;如果没有,静默结束。",    "timeoutSeconds": 300  },  "sessionTarget": "isolated",  "delivery": {    "mode": "announce"  },  "enabled": true}

4.4 测试与验证

创建后,立即手动执行一次:

cron run jobId=<任务 ID>

检查输出是否符合预期,然后调整为正式配置。

五、实战案例 2:日历提醒

5.1 需求分析

目标:会议前 2 小时自动提醒,避免忘记准备。

检查内容

  • 未来 24 小时内的所有会议

  • 会议时间、地点、参与人

  • 是否需要准备材料

通知策略

  • 会议前 2 小时:发送提醒

  • 会议前 30 分钟:再次提醒(可选)

  • 无会议:不通知

5.2 实现方案

类似邮件检查,可以使用 Google Calendar MCP Server:

npx -y @modelcontextprotocol/server-google-calendar

5.3 配置步骤

步骤 1:创建心跳检查

在 HEARTBEAT.md 添加:

- [ ] 日历:检查未来 24 小时的会议,提前 2 小时提醒

步骤 2:创建 Cron 提醒

对于精确时间的提醒,使用 Cron 更合适:

{  "name": "会议提醒检查",  "schedule": {    "kind": "every",    "everyMs": 3600000  // 每小时检查一次  },  "payload": {    "kind": "agentTurn",    "message": "使用 Google Calendar MCP 查询未来 2-2.5 小时内的会议。如果有,发送提醒:'⏰ 提醒:{会议主题} 将在 2 小时后开始({时间}),地点:{地点}'。",    "timeoutSeconds": 120  },  "sessionTarget": "isolated",  "delivery": {    "mode": "announce"  },  "enabled": true}

5.4 进阶:智能提醒

可以加入更多逻辑:

## 智能提醒规则- 如果是"团队会议",提醒"准备好周报"- 如果是"客户会议",提醒"检查演示材料"- 如果是"面试",提醒"查看候选人简历"- 如果会议地点是"外部",提醒"预留交通时间"- 如果当前时间>20:00,不发送提醒(避免打扰)

这些规则可以写在 HEARTBEAT.md 或任务的 message 中,AI 会理解并执行。

六、实战案例 3:模型额度监控

6.1 需求分析

背景:使用多个 AI 厂商的 API,需要监控剩余额度,避免任务中途失败。

监控对象

  • Qwen Portal(OAuth)

  • Groq(免费额度)

  • DeepSeek(充值额度)

  • 智谱 AI(免费额度)

  • 月之暗面(充值额度)

  • MiniMax(充值额度)

预警阈值

  • 剩余额度 < 20%:发送预警

  • 剩余额度 < 5%:发送紧急预警

  • 额度用完:发送告警

6.2 实现方案

OpenClaw 工作区已有现成的测试脚本:

# 查询额度powershell -File scripts/check-quotas.ps1# 测试模型(同时可检查额度)powershell -File scripts/test-models-minimal.ps1

状态文件memory/model-quota-state.json

6.3 配置步骤

步骤 1:创建 Cron 任务

{  "name": "模型额度监控",  "schedule": {    "kind": "cron",    "expr": "0 20 * * *",    "tz": "Asia/Shanghai"  },  "payload": {    "kind": "agentTurn",    "message": "运行 scripts/check-quotas.ps1,读取 memory/model-quota-state.json。如果有厂商额度低于 20%,通知用户:'⚠️ 额度预警:{厂商} 剩余{百分比}%,建议充值'。如果全部正常,静默结束。",    "timeoutSeconds": 300  },  "sessionTarget": "isolated",  "delivery": {    "mode": "announce"  },  "enabled": true}

步骤 2:配置通知渠道

如果希望额度预警发送到特定渠道(如微信/钉钉),可以在 delivery 中配置 webhook:

"delivery": {  "mode": "webhook",  "to": "https://your-webhook-url.com/alert"}

6.4 状态追踪

额度状态会记录在 memory/model-quota-state.json

{  "lastCheck": "2026-03-31T20:00:00+08:00",  "quotas": {    "qwen": {      "status": "✅ 活跃",      "type": "OAuth",      "limit": "N/A"    },    "groq": {      "status": "⏳ 待配置",      "type": "API Key",      "limit": "免费额度"    },    "deepseek": {      "status": "⏳ 待配置",      "type": "API Key",      "limit": "免费额度"    }  }}

AI 会对比历史数据,只在新出现预警时通知。

七、实战案例 4:Git 仓库状态同步

7.1 需求分析

目标:每天下班前检查 Git 仓库,确保代码已提交。

检查内容

  • 工作区是否有未提交的变更

  • 是否有未推送的提交

  • 是否有需要处理的 merge conflict

通知策略

  • 有未提交变更:提醒"记得提交代码"

  • 有未推送提交:提醒"记得 push 到远程"

  • 一切正常:不通知

7.2 实现方案

使用 exec 工具运行 Git 命令:

# 检查工作区状态git status --porcelain# 检查未推送的提交git log @{u}..# 检查需要拉取的提交git log ..@{u}

7.3 配置步骤

步骤 1:创建心跳检查

在 HEARTBEAT.md 添加:

- [ ] Git:检查工作区仓库状态,有变更才通知

步骤 2:AI 执行逻辑

当心跳触发时,AI 会:

  1. 使用 exec 运行 git status --porcelain

  2. 如果输出为空,说明工作区干净

  3. 如果有输出,提取变更文件列表

  4. 通知用户:"📝 Git 提醒:检测到 {N} 个未提交的文件,记得下班前提交"

步骤 3:可选的 Cron 任务

如果希望固定时间检查(如下班前 18:00):

{  "name": "下班 Git 检查",  "schedule": {    "kind": "cron",    "expr": "0 18 * * 1-5",    "tz": "Asia/Shanghai"  },  "payload": {    "kind": "agentTurn",    "message": "运行 git status --porcelain 和 git log @{u}.. 检查当前工作区。如果有未提交或未推送的变更,通知用户。如果是周五,额外提醒'周末前记得 push 代码'。",    "timeoutSeconds": 120  },  "sessionTarget": "isolated",  "delivery": {    "mode": "announce"  },  "enabled": true}

八、任务调度最佳实践

8.1 避免任务风暴

问题:如果创建了太多定时任务,可能在同一时间触发,导致资源竞争。

解决方案

  1. 错开时间:不要把所有任务都设置在整点

    • ❌ 全部 0 9 * * *

    • ✅ 分散为 0 9 * * *5 9 * * *10 9 * * *

  2. 使用心跳批量检查:把相关检查合并到一次心跳

    • 邮件 + 日历 + 天气 → 一次心跳完成

    • 而不是创建 3 个独立的 Cron 任务

  3. 设置超时:避免任务卡住

"payload": {  "kind": "agentTurn",  "message": "...",  "timeoutSeconds": 300  // 5 分钟超时}

8.2 任务失败处理

问题:任务执行失败怎么办?

策略

  1. 记录日志:使用 cron runs jobId=<id> 查看执行历史

  2. 设置重试:对于关键任务,可以创建备份任务(延迟 5 分钟执行)

  3. 失败通知:在任务 message 中加入"如果执行失败,通知用户"

8.3 资源管理

内存与 Token

  • 心跳在主会话执行,会累积上下文 → 定期清理不需要的记忆

  • Cron 的 isolated 任务独立执行,不占主会话 → 适合长时间任务

  • 使用 cleanup: "delete" 自动清理临时子会话

并发控制

  • 避免同时运行多个 CPU 密集型任务

  • 对于 API 调用,注意厂商的 rate limit

  • 使用 yieldMs 参数避免阻塞

8.4 调试技巧

测试新任务

  1. 先创建禁用状态的任务:"enabled": false

  2. 使用 cron run jobId=<id> 手动执行测试

  3. 确认无误后,更新为 "enabled": true

查看执行日志

# 查看任务历史cron runs jobId=<id># 查看最近 10 次执行cron runs jobId=<idlimit=10

临时禁用任务

# 更新任务,设置为禁用cron update jobId=<id> patch={"enabled"false}

九、总结与行动清单

9.1 核心要点回顾

概念关键点
心跳机制定期检查多项事务,用自然语言配置
Cron 任务精确时间执行,支持 cron 表达式
sessionTargetmain→systemEvent,isolated→agentTurn
任务类型提醒类用 systemEvent,执行类用 agentTurn
失败处理记录日志、设置超时、可选重试

9.2 立即行动清单

今天就能做的(30 分钟):

  • 打开 HEARTBEAT.md,添加你的日常检查清单
  • 创建一个每天早上 9 点的提醒(邮件 + 日历)
  • 创建一个每天晚上 8 点的模型额度检查

本周完成的(2 小时):

  • 配置 Gmail/Calendar MCP Server
  • 创建 Git 状态检查任务
  • 测试所有任务,调整通知策略

进阶优化(持续):

  • 根据实际使用情况,调整检查频率
  • 添加更多个性化检查(如股票/新闻/天气)
  • 建立任务执行日志,分析优化

9.3 常见陷阱

陷阱避免方法
心跳太频繁,打扰用户设置静默时间(23:00-08:00)
Cron 任务太多,难以管理合并相关任务,使用心跳批量检查
任务失败无感知配置失败通知,定期检查执行历史
额度用完任务中断设置额度预警(20%/5% 阈值)
上下文累积太多定期清理 MEMORY.md,使用 isolated 会话

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-05 23:23:28 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/500425.html
  2. 运行时间 : 0.118538s [ 吞吐率:8.44req/s ] 内存消耗:4,807.56kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=612408fcc8af0b6e67960614e6342bce
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000466s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000920s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000345s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000278s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000596s ]
  6. SELECT * FROM `set` [ RunTime:0.000196s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000575s ]
  8. SELECT * FROM `article` WHERE `id` = 500425 LIMIT 1 [ RunTime:0.001906s ]
  9. UPDATE `article` SET `lasttime` = 1775402608 WHERE `id` = 500425 [ RunTime:0.012348s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000273s ]
  11. SELECT * FROM `article` WHERE `id` < 500425 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002382s ]
  12. SELECT * FROM `article` WHERE `id` > 500425 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000422s ]
  13. SELECT * FROM `article` WHERE `id` < 500425 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000843s ]
  14. SELECT * FROM `article` WHERE `id` < 500425 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002243s ]
  15. SELECT * FROM `article` WHERE `id` < 500425 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.014887s ]
0.120160s