乐于分享
好东西不私藏

OpenClaw Agent 军团模块解析

OpenClaw Agent 军团模块解析

🤖 多代理 AI 系统的架构设计与实现

【导读】

你有没有想过,一个能同时运行在 Telegram、Discord、Slack 等多个平台,支持多种 AI 模型,还能自动调用工具执行复杂任务的 AI 助手,它的核心大脑是如何工作的?

今天,我们就来深度解析 OpenClaw 项目的 Agent 模块,揭开多代理 AI 系统的神秘面纱。


01 Agent 系统全景图

OpenClaw 的 Agent 模块位于 src/agents/ 目录,包含约 749 个 TypeScript 文件。这是一个高度模块化的多代理系统,核心架构可以用"一个运行时、三大系统、两个机制"来概括。

🧠一个运行时:

Pi Embedded Runner —— Agent 的核心大脑

🔧三大系统:

• 工具系统(Tools)—— 让 AI 能"做事"

• 技能系统(Skills)—— 让 AI 更"专业"

• 会话系统(Sessions)—— 让 AI 有"记忆"

🛡️两个机制:

• 沙箱隔离机制 —— 安全保障

• 认证故障转移 —— 高可用设计


02 核心组件详解

▍组件一:Agent 运行时

如果把 Agent 比作一个人,那么运行时就是它的大脑皮层,负责思考、决策和执行。

运行时的核心工作流程:

第一步模型解析与认证从配置中解析出要使用的 AI 模型(如 Claude、GPT-4 等),并从认证库中获取对应的 API Key 或 OAuth 凭证。

第二步上下文窗口保护实时监控对话上下文的 token 使用量,当接近模型限制时自动触发压缩机制,避免"失忆"。

第三步故障转移当某个 API Key 失效或遇到限流时,自动切换到备用凭证,保证服务不中断。

第四步使用量追踪精确统计每次调用的输入/输出 token 数、缓存命中情况,帮助你优化成本。

💡 技术亮点:

✓ 支持多个 Auth Profile 轮询

✓ 自动冷却机制(cooldown)

✓ 错误智能分类:auth、rate_limit、billing、timeout、context_overflow

▍组件二:流式响应处理

你在使用 ChatGPT 时看到文字逐字冒出的效果,就是流式响应。OpenClaw 的实现更加精细。

流式处理的秘密:

📦 消息分块将长文本按段落或标题分块,避免一次性处理过大内容。

🤔 推理模式支持可以剥离<think>标签,只显示最终答案;也可以开启流式推理,让 AI"边想边说"。

🔄 重复检测智能识别并过滤重复内容,避免 AI 反复发送相同消息。

📊 工具结果聚合当 AI 调用工具(如搜索网页、读取文件)后,自动聚合并格式化结果。

// 代码片段(简化版):const emitBlockChunk = (text) => { // 剥离思考标签const chunk = stripTags(text); // 检测重复if (isDuplicate(chunk)) { return// 跳过重复内容 } // 发送给用户 sendToUser(chunk); };

▍组件三:工具系统

工具是让 AI 从"只会聊天"变成"能干活"的关键。OpenClaw 内置了 20+ 种工具

📋 内置工具清单:

💻编码工具

read —— 读取文件 | write —— 写入文件 | edit —— 编辑文件

bash —— 执行 shell 命令 | exec —— 执行进程

🌐网络工具

browser —— 浏览器自动化 | web_search —— 网络搜索 | web_fetch —— 网页抓取

💬通信工具

message —— 发送消息(支持多平台) | tts —— 文本转语音

🎨多媒体工具

canvas —— Canvas 操作 | image —— 图片处理 | pdf —— PDF 解析

⚙️系统工具

cron —— 定时任务管理 | gateway —— Gateway 控制

memory —— 记忆检索 | subagents —— 子代理管理

工具创建流程(6 步):

⬇️

1️⃣ 解析工具策略(允许/禁止哪些工具)

2️⃣ 创建基础编码工具

3️⃣ 创建 OpenClaw 内置工具

4️⃣ 加载插件工具

5️⃣ 应用策略过滤

6️⃣ 包装钩子和中止信号

▍组件四:技能系统

技能是 OpenClaw 的特色功能,让你可以像安装 App 一样为 AI 添加新能力

🎯 技能 = 工具集合 + 提示词模板 + 依赖配置

举个例子,一个"GitHub 技能"可能包含:

  • 工具:
    查询 issue、创建 PR、读取仓库
  • 提示词:
    如何写 commit message、代码审查规范
  • 依赖:
    需要安装 git、配置 GitHub Token

技能加载流程:

1️⃣ 扫描 workspace/skills/ 目录

2️⃣ 解析 frontmatter 元数据

3️⃣ 验证依赖(bin、env、config)

4️⃣ 构建技能提示词

5️⃣ 注入到系统提示中

# 技能元数据格式(YAML): --- skill: github emoji: 🐙 requires: bins: [git] env: [GITHUB_TOKEN] install: - npm install -g @octokit/cli ---

▍组件五:沙箱隔离机制

安全是 AI 系统的生命线。OpenClaw 通过 Docker 沙箱实现隔离,防止 AI"越狱"。

// 沙箱配置选项:{"enabled":true,"docker": {"image":"openclaw/sandbox:latest","networkMode":"bridge","env": {} },"workspaceAccess":"rw","browser": {"enabled":true,"bridgeUrl":"..." } }

沙箱如何工作?

1️⃣ 创建 Docker 容器

2️⃣ 挂载工作区目录(只读/读写)

3️⃣ 所有命令在容器内执行

4️⃣ 文件系统操作通过桥接层

5️⃣ 浏览器在独立容器中运行

🛡️ 安全优势:

✓ 防止 AI 访问宿主机敏感文件

✓ 限制网络访问范围

✓ 自动清理临时文件

✓ 资源使用受限

▍组件六:会话管理

会话是 AI 的"记忆",让每次对话都有上下文。

Session Key 格式(5 种):

🏠主会话:agent:main:main

👤直接消息(DM):agent:main:direct:user123

👥群组/频道:agent:main:telegram:group:group456

🧵线程:agent:main:slack:channel:C123:thread:T456

🤖子代理:agent:main:subagent:parent:child

// 会话存储结构: { "sessionId""agent:main:main""messages": [...], "createdAt"1709481600000"updatedAt"1709568000000"metadata": { "provider""anthropic""model""claude-sonnet-4""usage": {} } }


03 完整工作流程

从你发送一条消息,到 AI 回复,中间经历了什么?让我们走完全流程。

【阶段一】路由解析

你在 Telegram 发送:"帮我查一下天气"

⬇️

Gateway 收到消息,解析出:

• channel: telegram

• accountId: +8613800138000

• peerId: user123

⬇️

根据路由规则,确定目标 agentId: main

生成 sessionKey: agent:main:direct:user123

【阶段二】会话加载

从 sessions.json 加载历史对话:

user: 昨天北京天气怎么样?

assistant: 昨天北京晴转多云,最高温度 25°C。

加载身份链接(identityLinks):

• user123 = "张三"

• 偏好:使用摄氏度、24 小时制

【阶段三】引导上下文加载

加载工作区文件:

📄 AGENTS.md —— Agent 行为规范

📄 SOUL.md —— 人格设定

📄 TOOLS.md —— 可用工具说明

📄 IDENTITY.md —— 身份信息

📄 USER.md —— 用户偏好

📄 BOOTSTRAP.md —— 启动指令

📄 MEMORY.md —— 长期记忆

这些文件构成 AI 的"系统提示",告诉它"你是谁、能做什么、怎么做"。

【阶段四】技能加载

扫描 workspace/skills/ 目录:

⬇️

找到技能:

✓ weather(天气查询)

✓ location(地理位置)

✓ unit-converter(单位转换)

⬇️

验证依赖:

✓ weather 需要:OPENWEATHER_API_KEY

✓ location 需要:无

✓ unit-converter 需要:无

⬇️

构建技能提示词,注入系统提示。

【阶段五】工具创建

创建工具列表:

• 编码工具:read, write, edit, bash

• OpenClaw 工具:message, browser, web_search

• 插件工具:weather_api, location_api

⬇️

应用策略过滤:

允许:read, web_search, message

禁止:gateway(普通用户不能重启网关)

⬇️

包装钩子:

• Before Tool Call:检查工具循环

• After Tool Call:记录审计日志

【阶段六】模型解析与认证

解析配置:

• provider: anthropic

• model: claude-sonnet-4-20250514

⬇️

获取认证:从 auth-profiles.json 读取 API Key

⬇️

故障转移准备:

• 主 Profile: anthropic-main

• 备用 Profile: anthropic-oauth

【阶段七】Agent 运行

构建系统提示:

你是一个 AI 助手,运行在 OpenClaw 平台上。

【引导指令】使用中文回复,温度使用摄氏度...

【可用工具】read、web_search、message、weather_api...

【当前会话】user: 帮我查一下天气...

⬇️

调用模型 API(流式):

stream = model.chat.completions.create({ model"claude-sonnet-4"messages: [...], tools: [...], streamtrue });

⬇️

处理工具调用:

if (tool_call.name === "weather_api") { const result = await weather_api.call({ location"北京"date"today" }); return result; // { temp: 23, condition: "晴" } }

⬇️

上下文溢出检测:

if (currentTokens > threshold) { await compactSession(); // 自动压缩 }

【阶段八】流式响应处理

订阅事件流:

subscribe(stream, { onTextChunk(chunk) => { // 剥离 <think> 标签const clean = stripTags(chunk); // 分块发送 sendToTelegram(clean); }, onToolCall(tool, args) => { // 显示"正在查询天气..." showToolStatus(tool); }, onToolResult(result) => { // 聚合结果 aggregateResult(result); } });

【阶段九】响应交付

最终回复:

"北京今天晴,最高温度 23°C,最低 15°C。适合户外活动!☀️"

⬇️

通过 Telegram 发送给用户

⬇️

更新会话存储:

sessions.json += { role"assistant"content"北京今天晴..."timestamp1709568000000 }

⬇️

标记 auth profile 为"良好"(成功响应)


04 工具调用执行流程

当 AI 决定调用工具时,发生了什么?

步骤 1:工具调用验证

// 模型返回: { "tool_calls": [{ "id""call_123""name""web_search""arguments": { "query""北京天气" } }] }

⬇️

验证:

✓ 工具在允许列表中

✓ 参数符合 schema

✓ 用户有权限调用

步骤 2:Before Tool Call 钩子

plugin.hooks.beforeToolCall(tool, args) → 记录审计日志 → 检查工具循环(防止死循环)

步骤 3:工具执行

根据工具类型执行:

• exec → 通过 bash/docker 执行命令

• read → 读取文件(沙箱化)

• message → 通过 channel 发送消息

• browser → 通过 sandbox browser 控制

• web_search → 调用搜索 API

步骤 4:结果处理

// 格式化结果: { text: "北京今天晴,23°C", images: [], media: [] }

⬇️

• 图像 sanitization(防止 XSS)

• 应用 tool_result 策略

步骤 5:After Tool Call 钩子

plugin.hooks.afterToolCall(tool, result) → 记录工具调用历史 → 更新使用量统计

步骤 6:返回结果给模型

// 构建 tool_result 消息: { role: "tool", tool_call_id: "call_123", content: "北京今天晴,23°C" }

⬇️

继续对话循环,模型生成最终回复


05 子代理派生机制

OpenClaw 支持"代理生代理",实现任务分解和并行处理。

📌 场景示例

主代理收到任务:"帮我写一个 Python 脚本,测试后提交到 GitHub"

⬇️

主代理决定派生子代理:

🤖 子代理 1:编写脚本

🤖 子代理 2:编写测试

🤖 子代理 3:提交到 GitHub

子代理创建流程

步骤 1:创建子会话

生成新的 sessionKey: agent:main:subagent:parent:child

继承父会话配置(model、sandbox、tools)

设置 spawnDepth = parentDepth + 1

步骤 2:注册子代理

记录 runId、childSessionKey、requesterSessionKey

设置超时和清理策略

持久化到磁盘

步骤 3:启动子代理运行

传递任务 prompt

继承工具策略(可能受限)

步骤 4:生命周期事件监听

监听 lifecycle start/end 事件

错误重试宽限期(15 秒)

步骤 5:完成处理

宣布完成(announce flow)

清理会话(如果 cleanup=delete)

归档记录(archiveAfterMinutes)

// 子代理配置示例: { "subagents": { "maxDepth"5"archiveAfterMinutes"60"tools": { "allow": ["read""web_search"], "deny": ["gateway""sessions_spawn"] } } }


06 认证与故障转移

高可用设计是 OpenClaw 的核心特性之一。

Auth Profile 类型

🔑 API Key 认证

"type""api_key""provider""anthropic""key""sk-ant-..." }

🎫 Token 认证

"type""token""provider""openai""token""..." }

🔐 OAuth 认证

"type""oauth""provider""anthropic""clientId""...""clientSecret""...""accessToken""...""refreshToken""..." }

故障转移逻辑

尝试当前 profile

⬇️

成功 → 标记为"良好",返回

⬇️

失败 → 分类错误原因

⬇️

• auth → 永久禁用该 profile

• rate_limit → 冷却 5 分钟

• billing → 冷却直到续费

• timeout → 重试 1 次

⬇️

尝试下一个 profile

⬇️

所有 profile 失败 → 抛出错误


07 配置实战

▍多 Agent 配置

(此处可添加实际配置示例)


08 技术亮点总结

模块化设计清晰的职责分离,每个子系统独立演进。

故障转移机制多认证 Profile 轮询,自动冷却和错误分类。

流式响应高效的流式处理,支持推理模式、消息分块。

工具系统20+ 内置工具,支持插件扩展,完善的策略管道。

沙箱隔离Docker 沙箱,文件系统桥接,浏览器隔离。

子代理支持完整的子代理生命周期管理,深度限制。

会话管理灵活的 session key 格式,支持线程、群组等场景。


09 架构启示

OpenClaw 的 Agent 模块设计给我们什么启发?

🎯 关注点分离运行时、工具、技能、会话各自独立,便于测试和维护。

🛡️ 防御性编程沙箱隔离、工具策略、循环检测,层层防护。

📉 优雅降级认证失败时故障转移,上下文溢出时自动压缩。

📊 可观测性详细的使用量统计、工具调用历史、审计日志。

🔌 扩展性插件系统、技能系统、子代理机制,无限可能。


📝 【结语】

OpenClaw 的 Agent 模块是一个工业级多代理系统的优秀范例。它不仅实现了强大的功能,更在安全性、高可用性、可维护性方面做了深思熟虑的设计。

如果你对构建自己的 AI 助手感兴趣,OpenClaw 的源码值得深入研究。

📚 参考资料

• OpenClaw GitHub: https://github.com/openclaw/openclaw

• 官方文档:https://docs.openclaw.ai

本文分析基于版本:2026.3.3

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-22 10:25:05 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/467888.html
  2. 运行时间 : 0.156198s [ 吞吐率:6.40req/s ] 内存消耗:4,900.23kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d15551301de9e66260f6fae95b08c144
  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.000784s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001922s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000455s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000448s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000840s ]
  6. SELECT * FROM `set` [ RunTime:0.000384s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001035s ]
  8. SELECT * FROM `article` WHERE `id` = 467888 LIMIT 1 [ RunTime:0.001036s ]
  9. UPDATE `article` SET `lasttime` = 1776824705 WHERE `id` = 467888 [ RunTime:0.006244s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000434s ]
  11. SELECT * FROM `article` WHERE `id` < 467888 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000753s ]
  12. SELECT * FROM `article` WHERE `id` > 467888 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001273s ]
  13. SELECT * FROM `article` WHERE `id` < 467888 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001350s ]
  14. SELECT * FROM `article` WHERE `id` < 467888 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001589s ]
  15. SELECT * FROM `article` WHERE `id` < 467888 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001700s ]
0.159093s