乐于分享
好东西不私藏

OpenClaw架构-自托管架构导读:配置与存储、Workspace/Prompt、可观测性三支柱

OpenClaw架构-自托管架构导读:配置与存储、Workspace/Prompt、可观测性三支柱

自托管 Agent 的「聪明」一半在模型,另一半在磁盘上有没有一套可推理、可回放、可回滚的事实。OpenClaw 把「骨骼」放在 ~/.openclawJSON5 主配置(openclaw.json)、按 Agent 分区的会话与记忆、加密凭证;把「性格」放在 Workspace 里的 Markdown Prompt 与可选的 .openclaw-context.md;把「运行痕迹」放在 Gateway 文件日志(默认目录见官方 Logging)、以及 doctor / HTTP /status / 内嵌 Control UI。三者对齐时,你排障是在对齐事实;三者没对齐时,聊天界面再顺滑也像在雾里开车。

本文把三条子系统拆成可独立阅读、又能在脑子里拼成一张图的架构文。事实以 Gateway ConfigurationAgent WorkspaceLogging 与 Releases 为准


1. 总览:三支柱各自回答什么问题

支柱
核心问题
典型落点
配置与存储
状态存在哪、谁覆盖谁、怎么安全写盘
openclaw.json
credentials/agents/*/sessionsmemory/
Workspace / Prompt
模型「系统侧」长什么样、项目上下文从哪来
BOOT/IDENTITY/SOUL/TOOLS
.openclaw-context.md
可观测与审计
现在健康吗、钱与 token 去哪了、出事能否追溯
默认 Gateway 文件日志(常为 /tmp/openclaw/openclaw-*.log,可配置) openclaw logs / doctor;审计/用量若独立落盘则以 logging 与插件为准

下面分章展开;每章末尾保留「试一下」——架构文也可以落地成动作。


2. 第一支柱:配置与存储

2.1 设计立场:为什么几乎是「零数据库」文件系统

OpenClaw 在配置与存储上的取向可以概括成:主配置用 JSON5 文件openclaw.json,可含注释与 $include 合并)、Schema 校验失败则 Gateway 拒绝启动(仅诊断类 CLI 仍可用);会话侧常见 JSONL 追加;记忆实现随版本演进(默认/插件化以 Configuration reference 为准,不宜在架构导读里写死为一种后端);凭证加密落盘。官方明确主配置为 JSON5 而非 YAML/TOML 主路径,是为了 工具链与校验一致。文件日志默认为 按日落盘的 JSON 行文件,路径见下一章与 Logging

存储哲学

  OpenClaw 的存储哲学:  ┌──────────────────────────────────────────────┐  │ 零数据库依赖                                  │  │                                               │  │ • 配置 → JSON5 文件(openclaw.json)           │  │ • 会话 → JSONL 文件                           │  │ • 记忆 → 向量/索引实现随版本(如 sqlite-vec) │  │ • 凭证 → 加密 JSON 文件                       │  │ • 运行日志 → 见官网 logging.file(常为 JSON 行)│  │                                               │  │ 为什么不用 SQLite?                            │  │ → 可以,但 JSON 文件更易调试、备份、迁移       │  │ → 单用户场景下 JSON 性能完全够用               │  │ → 未来可选 SQLite 作为高性能存储后端           │  │                                               │  │ 为什么不用 YAML/TOML?                         │  │ → JSON / JSON5 + Schema 校验与工具链一致        │  │ → TypeScript 原生支持                          │  │ → 减少解析歧义                                 │  └──────────────────────────────────────────────┘

2.2 目录拓扑(精要)

~/.openclaw/ 在架构上可拆成几块(与官方「数据目录」叙述一致,以下为理解用树形摘要):

  • • openclaw.json.envopenclaw.lock
  • • credentials/(0700):OAuth、配对信任、Gateway WebSocket Token 等
  • • agents/****/config.jsonsessions/s-<uuid>/{meta.json,messages.jsonl}memory/{index,records,reflections}
  • • workspace/:默认 Prompt 模板与 Workspace Skills
  • • skills/mcp/:已安装 Skill / MCP 状态与缓存
  • • logs/(若你的发行版/历史文档将运行日志放在数据目录下;当前官网 Gateway Logging 默认文件日志在 /tmp/openclaw/,由 logging.file / logging.level 配置——请以本机为准)
  • • backups/tmp/:备份快照与下载/沙盒临时目录

框线示意:~/.openclaw/ 目录树

  ~/.openclaw/                           根目录  │  ├── openclaw.json                      主配置文件  ├── .env                               API Keys 和密钥  ├── openclaw.lock                      进程锁文件  │  ├── credentials/                       凭证目录 (0700)  │   ├── oauth-tokens.enc.json          OAuth Token (AES-256 加密)  │   ├── pairing-trust.json             Channel 配对信任 (统一)  │   ├── <channel>-pairing.json         可选: 按渠道分文件  │   └── gateway-token.json             WebSocket API Token  │  ├── agents/                            Agent 实例目录  │   ├── main/  │   │   ├── config.json  │   │   ├── sessions/  │   │   │   └── s-<uuid>/  │   │   │       ├── meta.json  │   │   │       └── messages.jsonl  │   │   └── memory/  │   │       ├── index/                 sqlite-vec / 索引  │   │       ├── records/  │   │       └── reflections/  │   ├── coding/  │   └── research/  │  ├── workspace/  │   ├── AGENTS.md / SOUL.md / TOOLS.md  │   ├── BOOT.md / BOOTSTRAP.md  │   ├── IDENTITY.md  │   └── skills/<skill>/  │  ├── skills/  ├── mcp/  ├── logs/                              ※ 若构建仍落盘;官网默认亦见 /tmp/openclaw/  ├── backups/  └── tmp/      ├── downloads/      └── sandbox/

你要建立的第一张心智地图:改配置是改哪一层,数据是落在哪一类目录——而不是「只有一个笼统的 openclaw」。

2.3 合并策略与 JSON Schema 验证

配置不是扁平的一坨,而是 多层覆盖(层级越高越优先;对象 深合并,数组 整段替换):

  1. 1. 内置默认值
  2. 2. ~/.openclaw/openclaw.json
  3. 3. agents/<id>/config.json
  4. 4. 环境变量
  5. 5. CLI 参数(最高)

验证时机:Gateway 启动全量校验、config set 增量校验、openclaw doctor(含 --fix 修复路径)、配置 RPC 写入。直接编辑 openclaw.json 时,Gateway 会监视文件并触发热重载(见 Config hot reload):gateway.reload.mode 默认 hybrid(安全变更即时生效,关键变更可自动重启),另有 hot / restart / off。语义层会校验未知键、类型与业务规则(如 workspace 可写、渠道与 Provider 是否可解析)——这与「进程起来了但对话失败」是两类问题。

2.4 .env 与环境变量(以官网为准)

Configuration · Environment variables当前工作目录下的 .env(若存在)→ ~/.openclaw/.env(全局回退);且 二者均不覆盖进程里已经存在的环境变量。配置里也可内联 env/vars

内联配置中的 ${VAR} / ${VAR:-default}~/ 展开等,以 Configuration reference 与你所用版本为准;改 .env 后通常需 Gateway 重读环境(常见为重启或等价 reload,视变量参与启动还是运行路径而定)。

2.5 进程锁、原子写入与 JSONL

  • • openclaw.lock:防止多 Gateway 实例;持锁失败会读 PID 并判断存活进程。
  • • JSON 原子写:先写临时文件再 rename,避免半写文件。
  • • JSONL:会话消息等常见为 追加 JSONL(如 messages.jsonl);启动时若最后一行解析失败,部分实现可 截断恢复——以代码与数据目录为准。

2.6 热重载、迁移与备份

主路径:保存合法的 ~/.openclaw/openclaw.json → Gateway watch → 按 gateway.reload.mode 决定 热应用 / 警告需重启 / 直接重启。官方表格归纳:多数 channels、agents、hooks、cron、tools、skills、logging、ui 等可热应用以 gateway. 为前缀的配置项(端口、绑定、鉴权、Tailscale、TLS、HTTP 等)常需重启(官方对照表)。

迁移:历史上可有 链式迁移 + backups/<timestamp>/ 的设计;v2026.3.28 起对「过旧」自动迁移策略收紧(见该版 Release Breaking)——勿假定所有老 key 都会被静默改写,应 doctor / --fix 与发版说明并进。

备份:仍建议打包 openclaw.json.envcredentials/agents/workspace/ 等;排除 tmp/、按需排除大日志——以你所用备份命令为准。

试一下:改一项 确定可热应用 的字段(如 logging.level),保存后看 是否无需重启即生效;再改 gateway.port 等需重启类字段,观察 hybrid 模式是否自动重启(勿在生产直接试)。


3. 第二支柱:Workspace 与 Prompt

3.1 Workspace = 物理空间,Prompt = 行为与边界

Workspace 决定 Agent 能碰哪些文件BOOT / IDENTITY / SOUL / AGENTS 等 Markdown 决定 怎么说、怎么做、什么绝不能做。典型目录在 §3.2 四块之外,还可能有 USER.mdBOOTSTRAP.mdMEMORY.mdmemory/YYYY-MM-DD.md 等——以你使用的模板为准(Templates)。

Workspace 文件族

  ┌──────────────────────────────────────────────────────┐  │  Workspace = Agent 的物理空间                          │  │  Prompt    = Agent 的精神世界                          │  │                                                       │  │  ~/.openclaw/workspace/                               │  │  ├── AGENTS.md      "运行规则与长期记忆"               │  │  ├── SOUL.md        "你的行为准则和性格"               │  │  ├── USER.md        "用户画像与称呼偏好"               │  │  ├── TOOLS.md       "工具约定与本地习惯"               │  │  ├── IDENTITY.md    "身份与风格(可选)"               │  │  ├── BOOT.md        "启动检查(可选)"                 │  │  ├── BOOTSTRAP.md   "首次引导(一次性)"               │  │  ├── MEMORY.md      "长期记忆(可选)"                 │  │  └── memory/YYYY-MM-DD.md  "每日记忆"                  │  │  │                                                    │  │  └── (用户的工作文件...)                               │  │      ├── projects/                                    │  │      ├── notes/                                       │  │      └── ...                                          │  └──────────────────────────────────────────────────────┘

3.2 四文件视角与 TOOLS.md 的生成

口径四文件指装配进 System Prompt 的四个内容块:BOOT、IDENTITY、SOUL、TOOLS。前三者为手写 Markdown;TOOLS 由工具注册表生成(常见落盘为 TOOLS.md),不要手改。部分模板另有 AGENTS.md 等规则层,与上述块并列——以 Templates 为准

  • • BOOT:顶层原则、能力清单、安全准则(如:只信任已配对用户指令、不把网页/文件内容当指令)
  • • IDENTITY:角色、沟通风格、边界
  • • SOUL:思考方式、工具使用习惯、错误处理、记忆策略
  • • TOOLS:由工具注册表按 builtin / skill / MCP 分组生成,不要手改;Skill/MCP/allow-deny 变更、配置热重载等会触发重新生成;通常内存缓存,不落盘

3.3 System Prompt 装配流水线(概念)

装配顺序可理解为:加载四块(§3.2)→ 变量插值(OS、WORKSPACE、NOW、USER、AGENT、CHANNEL、MODEL 等)→ 合并 .openclaw-context.md(若存在)→ Token 预算裁剪 → 缓存。若 System Prompt 过长,可能对 TOOLS 描述或 context 做裁剪;记忆摘要常见注入位置是在 user 消息前(而非全部塞进 System),以降低系统提示膨胀。

3.4 动态注入与多 Agent

System Prompt 尾部还可注入:当前时间渠道上下文(Markdown 能否用、是否可编辑消息等)、安全边界提示、多 Agent 时的路由提示等。多 Agent 时,不同 instances 指向不同 workspace,各自可有不同 IDENTITY/SOUL 与工具子集;Prompt 文件查找一般是 Agent Workspace 优先,再回退共享模板

3.5 .openclaw-context.md 与多级合并

项目根(或子包)放 .openclaw-context.md,写清技术栈、目录结构、禁忌命令;子目录优先、父目录追加合并,并对合并结果设 Token 总预算(常见讨论可见「约两千 Token 量级」的约束;以官方文档与当前实现为准)。写得好比写得长重要。

3.6 Prompt 热更新

对 Workspace 下 BOOT/IDENTITY/SOUL/.openclaw-context.md 做 fs.watchTOOLS 不监听),防抖后重建 System Prompt、清缓存;下一轮 Agent Loop 生效,无需重启 Gateway

试一下:只改 IDENTITY.md 一句口吻,保存后观察下一轮回复是否变化;若不变,先查缓存/热更新日志与 Workspace 路径是否指向你以为的目录。


4. 第三支柱:可观测性与审计

4.1 「现在怎么样」vs「之前发生了什么」

  • • 可观测性:Gateway/Channel/Agent 是否活着、延迟与 token、错误率
  • • 审计:工具执行、审批、配对与认证、配置变更、安全事件

二者在日志上部分重叠,但问题意识不同——前者偏运维,后者偏追责与合规心智。

观测 vs 审计

  ┌─ 可观测性 · 现在怎么样? ─────┐  ┌─ 审计 · 之前发生了什么? ────┐  │ • Gateway / Channel 状态        │  │ • 工具执行 / 审批               │  │ • Agent 在做什么                │  │ • 配对 / 认证                  │  │ • 模型延迟与 Token              │  │ • 配置变更                     │  │ • 错误与告警                    │  │ • 安全事件                     │  └──────────────────────────────────┘  └────────────────────────────────┘

4.2 Gateway 文件日志与「数据目录四日志」示意

以官网 Gateway Logging 为准:Gateway 文件日志默认落在 **/tmp/openclaw/**(具体以 logging.file 为准),按本地日期滚动,形如 openclaw-YYYY-MM-DD.log;每行一个 JSON;路径与级别由 logging.filelogging.level 等配置。CLI 使用 openclaw logs --follow;Control UI Logs tab 通过 logs.tail 跟踪。控制台与会话文件日志级别可分离(如 logging.consoleLevel)。

说明:下节 ~/.openclaw/logs/ 树状示意,用于理解「若日志落在数据目录时」的常见分类;与官网默认的 /tmp/openclaw/ 可能并存或二选一,以本机构建为准。

  ~/.openclaw/logs/  ├── gateway.log              运行日志 (通用)  ├── audit.jsonl              安全审计日志  ├── usage.jsonl              Token 使用和费用日志  └── error.log                错误日志 (仅 error 级别)
  ┌──────────────────────────────────────────────────────────┐  │ 格式: TIMESTAMP LEVEL [COMPONENT] MESSAGE key=value...     │  │                                                           │  │ 2026-02-26T10:30:00.123Z INFO  [gateway]                 │  │   Started on 127.0.0.1:18789 pid=68861 version=0.1.0      │  │ 2026-02-26T10:30:15.789Z INFO  [router]                   │  │   Inbound channel=telegram user=123456 agent=main       │  │ 2026-02-26T10:30:18.345Z INFO  [model]                    │  │   Complete model=kimi-k2.5 in=3200 out=450 ms=2340        │  │ 2026-02-26T10:30:18.567Z INFO  [tool:gmail.list]          │  │   Executing layer=skill args={query:"is:unread"}          │  │  ...                                                      │  │ 组件: [gateway] [channel:*] [router] [agent:*] [model]     │  │       [tool:*] [memory] [mcp:*] [security]               │  └──────────────────────────────────────────────────────────┘

下表为 便于理解的「业务分类」——若你本机未出现独立 audit.jsonl / usage.jsonl 文件,说明当前构建把它们并入了结构化文件日志、插件或控制面,勿死磕路径

概念桶
用途(示意)
运行/追踪
子系统前缀(如 [gateway]、渠道分段、tools 摘要 redaction)
审计心智
谁、何时、执行了何种敏感工具(实现可能是日志字段或独立管线)
用量心智
模型、token、cache、cost、stop reason(实现可能是日志字段或导出)

结论:做架构排障时,跑通 **openclaw logs,核对 **logging.* 相关配置当前版本文档用下表区分「运行 / 审计 / 用量」三类心智,避免把运维问题当成合规问题(或反之)。

4.3 状态、HTTP 与 doctor

  • • openclaw status(及 --usage 等):人读摘要
  • • GET /healthGET /status:机器读 JSON
  • • openclaw doctor:系统、配置、Provider、Channel、Memory 索引、工具、浏览器依赖、磁盘等一键体检

排障时优先用 openclaw doctor(可加 --fix)配合 openclaw logs(指向你当前 logging.file),比盲改配置更省时间。

4.4 错误分层与 Dashboard

错误可粗分为:可自愈(重连、429 退避、工具失败返回模型)、需通知(fallback、权限、预算)、需人工(配置损坏、磁盘满、OOM)。内嵌 Web Dashboard(本机 SPA + /status + WebSocket 日志流)常见 Tab:概览、会话、日志、用量、配置——与 Control UI 文档一致。

试一下:故意触发一次失败工具调用,在 当前文件日志 的 JSON 行里对齐工具开始/结束记录(字段名以你版本为准);若另有审计导出,再对照一条——你会看见 叙事追责两种读法如何互证。


5. 三者如何咬合

阶段
配置与存储
Workspace / Prompt
可观测性
启动
Schema 校验、插值、持锁
装配 System Prompt
写启动日志、暴露 /health
运行
会话与记忆落盘
每轮注入动态上下文
模型与工具行、usage 追加
变更
配置文件 watch / 迁移 / 备份
热更新 Prompt 文件
结构化日志中的配置/控制面事件(字段以版本为准)

6. 收束:最小可执行清单

  1. 1. 画目录:默写 ~/.openclaw 三层结构,标出「只读/慎改」的 credentials/ 与备份目录。
  2. 2. 画装配链:从 BOOT 到 TOOLS 再到 context,标出哪一步最占 Token
  3. 3. 画排障链openclaw doctor → openclaw logs 输出中的 JSON 行,对齐 tools/model 相关字段 → 若有用量导出再对齐 cost/stop。

参考文档

· Gateway Configuration:https://docs.openclaw.ai/gateway/configuration· Configuration reference:https://docs.openclaw.ai/gateway/configuration-reference· Agent Workspace:https://docs.openclaw.ai/concepts/agent-workspace· Templates (AGENTS.md):https://docs.openclaw.ai/reference/templates/AGENTS.md· Logging:https://docs.openclaw.ai/gateway/logging· Doctor:https://docs.openclaw.ai/gateway/doctor· Control UI:https://docs.openclaw.ai/web/control-ui· openclaw/openclaw(源码与 Releases):https://github.com/openclaw/openclaw· Release v2026.3.28:https://github.com/openclaw/openclaw/releases/tag/v2026.3.28· Documentation index (llms.txt):https://docs.openclaw.ai/llms.txt

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-29 23:42:46 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/491709.html
  2. 运行时间 : 0.193359s [ 吞吐率:5.17req/s ] 内存消耗:4,837.38kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2476e4fec12144b53ac24c75e968175a
  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.68 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.000787s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001274s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000564s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001094s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001336s ]
  6. SELECT * FROM `set` [ RunTime:0.000491s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001199s ]
  8. SELECT * FROM `article` WHERE `id` = 491709 LIMIT 1 [ RunTime:0.001028s ]
  9. UPDATE `article` SET `lasttime` = 1774798966 WHERE `id` = 491709 [ RunTime:0.001793s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000495s ]
  11. SELECT * FROM `article` WHERE `id` < 491709 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000959s ]
  12. SELECT * FROM `article` WHERE `id` > 491709 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001521s ]
  13. SELECT * FROM `article` WHERE `id` < 491709 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.006438s ]
  14. SELECT * FROM `article` WHERE `id` < 491709 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005369s ]
  15. SELECT * FROM `article` WHERE `id` < 491709 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004018s ]
0.195094s