乐于分享
好东西不私藏

如何对 OpenClaw Workspace 进行深度诊断

如何对 OpenClaw Workspace 进行深度诊断

一份基于真实诊断 session 的实战指南——从表面症状到完全闭环的 memory loop。


👀

为什么会有这篇指南

大多数 Agent 的问题并不是模型的问题。它们是“管道”问题——正确的部件存在,但没有被连接起来。本指南记录了如何找到那些断开的管道、系统地验证它们,并正确地将它们连接起来。

激发本指南灵感的诊断 session 始于一个简单的抱怨:“我怀疑这个 Agent 缺乏文档和记忆的闭环,并且在 session 崩溃或 gateway 重启后无法恢复。” 两个小时后,一个一直处于闲置状态的复杂 vector memory(向量记忆)系统终于开始自动运行。以下是我们如何做到这一点的。


👀

第 1 部分:了解全局

在触碰任何东西之前,请先了解 OpenClaw 默认提供了什么,没有提供什么。

OpenClaw 自动处理的内容

  • Pre-compaction memory flush(压缩前记忆刷新) — 在 summary(总结)旧 context(上下文)之前,OpenClaw 会静默提示 Agent 将重要信息写入磁盘。此功能默认开启,但仅当 workspace 可写时才会运行。

  • Context overflow recovery(上下文溢出恢复) — 如果模型返回 context overflow(上下文溢出)错误,OpenClaw 会自动进行 compact(压缩)并重试原始请求。

  • Session persistence(Session 持久化) — 所有对话历史都存储在 ~/.openclaw/agents/<agentId>/sessions/ 目录下的 JSONL transcripts(记录)中。这些记录在 gateway 重启后依然留存。

  • BOOT.md execution(BOOT.md 执行) — 如果 workspace 根目录中存在 BOOT.md 文件,boot-md hook 会在每次 gateway 重启时运行它。

OpenClaw 自动处理的内容

  • 在 session 结束后运行你的自定义脚本

  • 在崩溃后恢复超出已写入 memory 文件之外的 task(任务)状态

  • 如果 primary(主模型)失败则回退到不同的模型(除非你配置了 fallbacks)

  • 更新你自己构建的任何 vector index(向量索引)

这两个列表之间的差距,正是大多数 Agent 问题存在的地方。


👀

第 2 部分:诊断阶梯

按顺序运行这些检查。每一步要么确认某一层级是健康的,要么暴露出下一个问题。

第 1 步:验证 workspace 身份

/context list

这会揭示 workspace 路径、哪些文件正在被注入、是否有文件被截断 (truncated) 以及当前的 context 占用情况。检查:

  • workspace 路径是你所期望的吗?路径不匹配(例如,默认的 ~/.openclaw/workspace 与自定义路径不同)意味着 Agent 没有在读取你认为它在读的文件。

  • 是否有任何文件显示为 TRUNCATED?大文件被静默截断,这意味着 Agent 只能看到部分自身的指令。

  • 是否有一行显示 undefined: OK?这表明有一个未命名的文件正在被注入——值得调查。

第 2 步:检查运行时状态

/status

这会显示 active model(活跃模型)、fallback 配置、session key、compaction count(压缩次数)以及 context 百分比。需要立即关注的两件事:

  • Model fallbacks(模型回退配置) — 如果 fallbacks 显示与 primary 相同的模型,那就不存在真正的 failover(故障转移)。速率限制 (rate limit) 或 API 宕机会让 Agent 彻底停止工作。

  • Compaction count(压缩次数) — 如果对于一个长期运行的 Agent 来说这个值是 0,要么是 context 从未满过(正常的),要么是 compaction 坏了(值得检查)。

第 3 步:审查 hook 系统

openclaw hooks list

这是解决集成问题最重要的诊断步骤。它会显示每个已注册的 hook、其状态、它订阅的 events(事件),以及它是否处于 ready(就绪)状态。将此列表与 workspace 的 skills/ 目录中的每个自定义脚本进行交叉比对。

核心问题: 每个应该自动运行的脚本是否都在这里显示为 ✓ ready

在本指南所基于的那个 session 中,一个精心设计的 vector memory 系统有一个定义了 on_dialog_end 的 session_hook.py 文件——但它根本没有出现在 hooks 列表中。它从未被注册。多年的设计工作,只是在空转。

第 4 步:验证模型配置

openclaw config get agents.defaults.modelopenclaw models status

检查:

  • fallbacks 包含一个与 primary不同 的模型

  • 至少有一个 fallback 来自不同的 provider(提供商)(为了实现真正的冗余)

  • fallback 模型已配置了有效的 credentials(凭证)

第 5 步:检查记忆闭环 (memory loop) 端到端情况

直接问 Agent:“当一个 session 结束时,你的 memory 会自动发生什么?带我过一遍整个链条。”

一个健康的 Agent 应该这样描述:每日 memory 文件更新 → vector index 增量更新 → MEMORY.md 被定期提炼 (distilled)。如果 Agent 犹豫不决或描述了一个手动过程,说明这个 loop 存在断层。


👀

第 3 部分:记忆闭环 (The Memory Closed Loop)

一个正常运作的 memory loop 有四个阶段。每个阶段都必须是自动的。

Session active (Session 活跃)     │     ▼[on_user_message] ──► 从 vector index 检索相关 memory     │                 在回复前注入到 context 中     │     ▼[on_dialog_end] ──► 将 summary 追加到 memory/YYYY-MM-DD.md     │               运行增量 vector index 更新     │     ▼[Heartbeat] ──► 定期将每日文件提炼到 MEMORY.md     │           如果需要,运行全量 vector reindex(重新索引)     │     ▼[Gateway restart / BOOT.md] ──► 读取今天的 memory                                 读取 MEMORY.md                                 运行增量 index 更新                                 检查 pending tasks(待办任务)                                 通知用户

如果这条链中的任何一个箭头不是自动的,这个 loop 就是开放的 (open)。一个 open loop 意味着,一次崩溃的 session、一次被遗忘的 /compact,或是一次 gateway 重启,都有可能静默丢弃 Agent 无法恢复的 context。


👀

第 4 部分:构建并注册自定义 Hook

如果你有一个需要在 session events 发生时运行的自定义 Python 脚本,以下是如何将它正确接入 OpenClaw 的方法。

hook pack 结构

OpenClaw 要求一个 hook pack 必须是一个至少包含以下内容的文件夹:

  • HOOK.md — 元数据和描述

  • handler.ts(或 handler.js)— event handler(事件处理程序)

HOOK.md 格式

name: your-hook-namedescription: "这个 hook 的功能描述"metadata: {"openclaw":{"emoji":"🔧","events":["user:message","dialog:end"]}}# Your Hook Name简短描述。## Installbash openclaw hooks install path/to/hooks/openclaw openclaw hookenableyour-hook-name

events 数组控制 handler 触发的时机。常见的 events 包括:

  • agent:bootstrap — 在 session 开始时,在 workspace 文件被注入之前触发

  • user:message — 在收到每一条用户消息时触发

  • dialog:end — 在对话片段结束时触发

handler.ts 格式

handler 将 OpenClaw 的 event 系统连接到你的 Python 脚本:

import { exec } from "child_process";import * as path from "path";const scriptPath = path.resolve(__dirname, "../../scripts/your_script.py");export async function onUserMessage(ctx: any) {  const query = ctx?.message?.text ?? "";  if (!query.trim()) return;  exec(`python "${scriptPath}" --on-user-message "${query.replace(/"/g, '\\"')}"`);}export async function onDialogEnd(ctx: any) {  const summary = ctx?.summary ?? "";  exec(`python "${scriptPath}" --on-dialog-end "${summary.replace(/"/g, '\\"')}"`);}

更新你的 Python 脚本以接受 CLI 参数

handler 通过命令行调用脚本,因此脚本需要一个入口点:

if __name__ == "__main__":    import argparse    parser = argparse.ArgumentParser()    parser.add_argument("--on-user-message", type=str, default=None)    parser.add_argument("--on-dialog-end", type=str, default=None)    args = parser.parse_args()    if args.on_user_message:        on_user_message(args.on_user_message)    if args.on_dialog_end:        on_dialog_end(args.on_dialog_end)

安装 hook

openclaw hooks install skills/your-skill/hooks/openclawopenclaw hooks enable your-hook-nameopenclaw hooks list

确认 hook 显示为 ✓ ready。然后重启 gateway 以加载它。


👀

第 5 部分:BOOT.md — 恢复文档

BOOT.md 是每次 gateway 重启时 Agent 的第一条指令。如果没有它,重启后的 Agent 会读取其 workspace 文件(根据 AGENTS.md),但不会执行任何特定的恢复操作。有了它,Agent 就能确切知道该做什么来恢复 context。

一份最小但完整的 BOOT.md

# Boot checklist- 读取今天的 memory 文件: memory/YYYY-MM-DD.md (使用当前日期)- 读取 MEMORY.md 获取核心约定和 long-term context- 运行增量 vector index 更新:  python skills/local-vector-memory/scripts/index.py --workspace . --incremental- 检查 memory/pending/ 中未处理的提案 (如果为空则跳过)- 检查 Plans.md 获取开放的 tasks (如果文件不存在则静默跳过)- 如果在主 session 中: 通知用户 gateway 已重启且 context 已恢复

保持 BOOT.md 简短。它在每次重启时触发,所以太长的 checklist 会浪费 tokens。只包含对恢复真正必要的操作。


👀

第 6 部分:测试闭环

进行更改后,通过三个针对性的测试进行验证。

测试 1:Memory 文件被写入

Get-Content memory\YYYY-MM-DD.md | Select-Object -Last 20

发送 /new 或 /reset 以触发 session 边界。检查文件是否已更新。如果没有,说明 session-memory hook 或 on_dialog_end 没有触发。

测试 2:Vector index 被更新

Get-Item skills/local-vector-memory/data/chroma/chroma.sqlite3 | Select-Object LastWriteTime

发送一条消息,等待 10 秒,再次检查。如果 LastWriteTime 没有改变,说明 on_dialog_end 没有到达 index 更新代码。

测试 3:BOOT.md 在重启时执行

openclaw gateway restartopenclaw logs --follow

在日志中寻找 boot-md hook 的执行记录。对于一个可选文件(比如 Plans.md)出现 ENOENT 错误是预期的、正确的现象——这意味着 hook 运行了,并正确地尝试读取该文件。对于必需文件出现错误则表明存在路径问题。

三个测试全部通过,意味着 loop 已闭环。


👀

第 7 部分:配置检查清单

对任何 Agent 都值得检查的 openclaw.json 设置的总结。

{  "agents": {    "defaults": {      "workspace": "explicit/path/to/workspace",      "model": {        "primary": "provider/primary-model",        "fallbacks": [          "provider/different-model",          "other-provider/fallback-model"        ]      },      "compaction": {        "model": "provider/lighter-model",        "mode": "safeguard"      }    }  },  "session": {    "maintenance": {      "mode": "enforce",      "pruneAfter": "30d",      "maxEntries": 500    }  }}

关键决策:

  • Workspace 路径 — 如果你将 workspace 从默认位置移走了,需要明确设置

  • Fallbacks — 始终使用一个不同的模型,理想情况下是不同的 provider

  • Compaction 模型 — 较轻量级的模型能在超长的 sessions 中节省 tokens;primary 模型不需要去总结它自己

  • Session 维护 — enforce 模式可防止无限制地增长;warn(默认值)只会发出警告报告


👀

结语

这次诊断最重要的洞察是:Agent 的问题很少是因为缺少了什么——它们通常是关于已存在但未被连接的东西。这次 session 中的 vector memory 系统复杂且设计精良。on_dialog_end 函数写好了。ChromaDB 基础设施在运行。一切都在那里。

中间的断层仅仅是三个文件:一个 HOOK.md,一个 handler.ts,以及 Python 脚本底部的四行代码。

当诊断一个 Agent 时,从把你拥有的东西与 OpenClaw 期望的东西进行映射对比开始。阅读 hooks 列表。阅读 /context list。要求 Agent 描述它自己的 memory loop。断开的连接通常会在前十分钟内暴露出来。

然后连接它,测试它,并将它写入 memory。


诊断进行时间: 2026-04-03

OpenClaw 版本: 2026.3.13 (61d171a)

模型: volcengine-plan/ark-code-latest

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-04 23:26:14 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/499412.html
  2. 运行时间 : 0.086568s [ 吞吐率:11.55req/s ] 内存消耗:4,766.34kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7c90fca94821b71eee558b1906ef072c
  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.000583s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000903s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000316s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000275s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000690s ]
  6. SELECT * FROM `set` [ RunTime:0.000245s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000810s ]
  8. SELECT * FROM `article` WHERE `id` = 499412 LIMIT 1 [ RunTime:0.000507s ]
  9. UPDATE `article` SET `lasttime` = 1775316374 WHERE `id` = 499412 [ RunTime:0.000807s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000251s ]
  11. SELECT * FROM `article` WHERE `id` < 499412 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000579s ]
  12. SELECT * FROM `article` WHERE `id` > 499412 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000453s ]
  13. SELECT * FROM `article` WHERE `id` < 499412 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000967s ]
  14. SELECT * FROM `article` WHERE `id` < 499412 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000995s ]
  15. SELECT * FROM `article` WHERE `id` < 499412 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000856s ]
0.088132s