乐于分享
好东西不私藏

老板说:OpenClaw 别碰,不安全.我不信,给老板拆解了 OpenClaw 的全部架构之后,老板说:求你了,你走吧!

老板说:OpenClaw 别碰,不安全.我不信,给老板拆解了 OpenClaw 的全部架构之后,老板说:求你了,你走吧!

大家好,我是 Sunday。

这两天我专门把 OpenClaw 的官方文档、仓库结构和几个核心概念文档重新过了一遍。

我发现很多人对 OpenClaw 的理解,还停留在“一个能聊天、能写代码、能接各种渠道的 AI 工具”这个层面。

但你真把它拆开看,从技术的角度来看,你会得到一个完全不一样的理解:

OpenClaw 更像是一个以 Gateway 为核心控制平面、把消息渠道、Agent Runtime、工具系统、设备节点、Canvas UI 全部串起来的“个人 AI 操作层”。

并且还有人多说 OpenClaw 不安全,会带来很大的风险。我觉得也是不全面的。

所以,这篇文章,咱们就只讲一件事情,那就是 OpenClaw 的架构设计和实现原理

OpenClaw 的本质

如果只用一句话概括 OpenClaw,我会这么说:

OpenClaw = 一个常驻 Gateway + 一个内嵌 Agent Runtime + 一套 typed tools + 一层 Skills 提示系统 + 一组可接入的消息渠道与设备节点。

这也是它和很多单进程 CLI Agent最大的不同。

官方文档明确写到:一个长期运行的 Gateway 持有所有消息入口,控制端客户端通过 WebSocket 连到 Gateway,节点设备也通过同一个 WebSocket 接入,而 Canvas/A2UI 等 Web 能力也由 Gateway 的 HTTP 服务直接挂载出来。

你可以把它理解成下面这个结构:

这套分层,决定了 OpenClaw 不是“收到消息 → 调模型 → 回一句话”那么简单。而是一个 有状态、有路由、有并发控制、有设备扩展面的 agent system

一、OpenClaw 的安全设计

现在很多人都说 OpenClaw 不安全,所以咱们先来讲 OpenClaw 的安全设计

这句话说得也对,也不对。

我挺喜欢 OpenClaw 文档的一点,就是它很多地方写得非常直白,不装。

因为它明确的告诉了你:有些能力就是危险的,如果你开了,又没做好隔离,那风险就是真实存在的。

那 OpenClaw 到底是怎么个“不安全法”?

我觉得可以直接讲 4 个最核心的点。

1. 默认不开沙箱时,工具就是直接跑在宿主机上的

这一点其实是最关键的。

OpenClaw 官方文档明确写了:sandbox 是可选的。如果你没有开启 sandbox,那么工具执行就是直接跑在 host 上。

只有开了 Docker sandbox,工具才会被放进隔离环境里。而且官方自己也说了,sandbox 也不是“完美安全边界”,只是能明显降低文件系统和进程访问的爆炸半径。

这句话翻译成人话就是:你如果不开沙箱,模型调用的很多能力,本质上就是在你的真实机器上执行。

这就不是“聊聊天”了,这就是你让  AI 完全操控你的电脑。

2. workspace 不是硬隔离

很多人一看到 workspace,会下意识觉得:“哦,那应该就是沙箱目录了。”

但官方文档写得非常明确:

workspace 只是默认 cwd,不是 hard sandbox。 相对路径会默认落在 workspace 里,但绝对路径仍然可能访问宿主机其他位置,除非你显式开启 sandbox。

这个点其实非常重要。

因为这意味着:如果你给了文件能力,或者给了命令执行能力,那么“工作区”并不天然等于“只能访问工作区”。它更像一个默认起点,而不是一道真正的防火墙。

3. 它真的支持执行命令,而且这个能力本身就是高危能力

OpenClaw 官方有 exec tool,文档写得也很清楚:它可以在 workspace 里运行 shell commands,还支持配合 process 做前后台执行。

这件事的本质是:

只要模型拿到了足够宽的工具权限,它就是可以完全操作你的电脑。

所以 OpenClaw 的风险,从来都不是模型会不会胡说八道这么简单,而是:

  • 会不会误执行命令
  • 会不会被提示注入带偏
  • 会不会在开放群组、开放渠道下触发不该触发的工具
  • 会不会在没有隔离的情况下把危险操作落到真实机器上

这也是现在很多人觉得 openclaw 危险的主要原因。

官方的 security / doctor 检查里甚至直接把这些情况点出来了,比如:

  • 开放群组能触达 runtime / filesystem 工具,但又没有 sandbox / workspace guard
  • 全局最小权限 profile 被 agent 覆盖
  • 扩展工具在过于宽松的策略下可达
  • 小参数模型配上危险工具面,会提高注入风险

这其实已经说得很明白了:

OpenClaw 的风险,不在有没有 AI,而在你给这个 AI 开了多大权限,以及能不能控制他。

4. 一旦暴露到非本机网络,攻击面会明显变大

说白了就是一旦你不懂,并且有人想要黑你,那你就完蛋了。。。

这意味着什么?

意味着 OpenClaw 这类东西,本地单机自己玩,和 对外开放、接远程设备、接公开渠道、跑开放群组,风险级别根本不是一个量级。

很多人嘴里的“不安全”,其实说的不是它默认就会出事,而是:

一旦你把它从“个人本地助手”往“公网可达 + 多渠道接入 + 高权限工具”这个方向推,它的风险会急剧上升。

最关键的就在:

  1. 有没有人搞你
  2. 你懂不懂防护

所以,OpenClaw 到底安不安全?

我的想法是,咱们不能从它安全不安全来说,而应该说是

它真的给了你很强的能力,但是很多人低估了想要使用这种能力,可能需要付出的代价

二、Gateway 为什么是整个系统的核心?

官方架构文档里第一句话就很关键:

A single long-lived Gateway owns all messaging surfaces

也就是,一个长期运行的 Gateway,统一持有所有消息面。默认通过 127.0.0.1:18789 提供 WebSocket 服务,同时在同端口提供 Canvas host 等 HTTP 能力。

这意味着什么?

它意味着 OpenClaw 把最难管的几件事,都放到 Gateway 里统一收口了,这些事情包括了:

  1. 消息渠道连接
  2. 请求入口统一
  3. 会话路由
  4. 事件流广播
  5. 客户端/节点接入
  6. 控制 UI 与 Canvas host 暴露

官方文档里写得很清楚,Gateway 负责维护 provider connections,暴露 typed WS API,请求/响应/事件都是同一条协议线上的能力,而且会对入站 frame 做 JSON Schema 校验。

这个设计的价值非常大。

因为 AI Agent 一旦开始“接渠道”,最容易失控的地方就是状态分裂:

  • Telegram 一套状态
  • Slack 一套状态
  • Web UI 一套状态
  • 手机节点一套状态
  • CLI 再来一套状态

最后整个系统到处都是胶水逻辑。

而 OpenClaw 选的路径是:别让每个入口都自己处理问题,要统一进 Gateway。

所以你会看到官方 README 里反复强调:

  • Gateway 是 control plane
  • Control UI 直接由 Gateway 提供
  • WebChat 直接由 Gateway 提供
  • 节点设备也连 Gateway
  • Canvas host 还是由 Gateway 提供

这个思路其实很值得做 AI 应用的人参考。

很多团队做 AI 客服、AI 助手、AI 面试官,前期喜欢把 聊天入口、工具执行、状态存储、设备能力 拆得特别散,结果 2 个月后系统没法维护。

OpenClaw 的第一性原理很简单:控制面统一。

三、多入口 方案

在 OpenClaw 里,有三类核心参与者:

第一:Gateway

常驻后台,拥有所有消息面和控制面。

第二:Clients

比如 macOS app、CLI、web admin,这些都算控制端客户端。

它们各自保持一条 WS 连接,向 Gateway 发送 healthstatussendagent 等请求,也订阅 tickagentpresenceshutdown 等事件。

第三:Nodes

这是 OpenClaw 很有意思的一层。

官方定义里,node 是一个 companion device,可以是 macOS / iOS / Android / headless。它通过同一个 Gateway WebSocket 接入,但声明 role: "node",然后把自己的命令面暴露出来,比如 canvas.*camera.*device.*notifications.*system.*

这套设计,说明 OpenClaw 从一开始就不是把设备当成“被动展示层”。

它把设备当成了 可调用外设

也就是说,模型并不是只能“说话”,它还能借 Gateway 去调用外部节点的能力:

  • 在手机上显示 Canvas
  • 调摄像头
  • 录屏
  • 获取位置
  • 触发通知
  • 在某台机器上执行 system 相关命令

这就是为什么我说它更像“个人 AI 操作层”。

因为这里的设计,不再是 Web Chat 那种扁平问答,而是设备编排

四、Agent Loop

Gateway 解决的是“统一接入”和“控制面”。真正把一条消息变成一次完整 Agent 运行的,是 Agent Loop

官方文档对 Agent Loop 的定义非常清楚:

接收 → 上下文组装 → 模型推理 → 工具执行 → 流式回复 → 持久化

并且强调:一个 session 内,同一时间只会串行执行一个真实 run,整个过程中会持续触发 生命周期 和 事件流

官方给出的流程大概是这样的:

  1. agent RPC 先校验参数,解析 session,并立即返回 { runId, acceptedAt }
  2. agentCommand 才真正开始跑 agent
  3. 它会解析模型配置、加载 skills snapshot,然后调用 runEmbeddedPiAgent
  4. runEmbeddedPiAgent 会做队列串行化、创建 pi session、订阅 pi events、流式转发 assistant/tool 输出、处理 timeout
  5. subscribeEmbeddedPiSession 再把底层事件桥接成 OpenClaw 自己的 agent stream

这个设计的关键点在于:OpenClaw 把“接收请求”和“执行 Agent”解耦了。

先受理,再排队,再执行,再流式回传。

这和很多人自己写的 Agent Demo 不一样。

很多 Demo 是 HTTP 一进来,直接 await model.generate(),然后工具调用、状态更新、输出拼接全部糊在一个请求函数里。

这种方式前期快,但只要进入多 session、多入口、可中断、可观测的场景里面的时候,很快就会崩。

OpenClaw 显然是按“长期运行系统”去设计的,所以它从一开始就有:

  • runId
  • 队列
  • lifecycle 事件
  • assistant/tool 分流

等等的东西

五、Session 设计

OpenClaw 很强的一点,是它对 SessionKey 的设计非常明确。

官方文档写得很清楚:

  • 直接消息默认会折叠到 agent 的 main session
  • 群组和频道则会按 channel 隔离
  • Slack/Discord thread 还会进一步带 :thread:<threadId>
  • Telegram forum topic 会带 :topic:<topicId>

这个设计非常重要。

因为 AI 产品最容易出现的一个问题就是:上下文污染。

今天和老板聊的内容,混进了群聊上下文。群聊里一个同事的需求,又跑到了另一个私聊线程里。最后 AI 的记忆就全部乱掉了

而 OpenClaw 的处理方法就是把 把 session key 设计清楚

官方 Groups 文档也明确说了:

  • 群消息默认是受限的
  • 默认需要 mention 才会回复
  • 没 mention 的消息可以“只存上下文,不回复”
  • 群组 session 与私聊 session 天然隔离

这一点我特别认可。

因为对真实产品来说,群消息不是只有“回”或“不回”两个选项。

更优雅的处理是:不触发回答,但保留上下文线索。

这样 agent 既不会乱插话,也不会完全失忆。这个设计放到 AI 客服、企业群机器人、面试助手里都非常实用。

六、OpenClaw 的工具系统

OpenClaw 官方文档里对 Tools(工具系统) 的表述很直接:它暴露的是 first-class agent tools。

这个看英文文档比较有感觉,中文文档有点乱

并且明确说,这些工具替代了旧的 openclaw-* skills,特点是:很多能力不需要再绕一层 shell 来实现,而是直接走 typed tool。

OpenClaw 明显是把“工具”当作 权限面 来管理的,而不是单纯的 大模型方法的调用 API 列表。

七、Skills 在 OpenClaw 里到底是什么?

官方文档写得很清楚:

简单来说所谓的 skills 就是一个目录,里面有 SKILL.md 和 YAML frontmatter,是用来 教 agent 如何使用工具的

也就是说:

  • Tools 更像执行能力
  • Skills 更像调用方法 或者是 固定的行为流程

skills 的加载位置和执行流程如下:

八、OpenClaw 的记忆在哪里?

很多人说“AI 记忆”,下意识想到向量库。

其实不是。

OpenClaw 的记忆主要来自于 Markdown 文件

没错,就是那个 .md 文件。。。

整个记忆空间默认会有两层:

  • memory/YYYY-MM-DD.md:每日追加日志
  • MEMORY.md:整理过的长期记忆,只在主私有 session 中加载,不进群上下文([OpenClaw][9])

而 workspace 本身,被官方定义为 agent 的 home,也是 file tools 和 workspace context 的唯一工作目录。配置和 credentials 不放这里,而是放 ~/.openclaw/

这里我觉得 OpenClaw 有两个非常值得借鉴的点。

第一:记忆文件化

这会让整个系统的可解释性高很多。

你不用猜“模型记住了什么”,直接看 Markdown 文件就知道。

第二:workspace 不是硬沙箱

官方明确提醒,workspace 只是默认 cwd,不是 hard sandbox。相对路径默认在 workspace 下解析,但绝对路径理论上还能访问宿主机其他位置,除非你显式开启 sandbox。

这点特别重要。

因为很多人看到“workspace”三个字,会天然以为已经隔离了。

其实没有。

OpenClaw 的态度是:默认便利优先,真要隔离请开 sandbox。

写到最后

很多人聊 OpenClaw,最容易盯着两个点:

  • 一个是,它真强
  • 另一个是,它真危险

但我觉得,真正值得研究的,不是它到底安不安全,而是 为什么它一旦强起来,安全问题就一定会跟着放大。

因为 OpenClaw 从来就不是一个只会聊天的机器人。它背后是 一个长期运行的 Gateway,是一套真正会处理 session、调 tools、接 channels、管 nodes、写 memory 的 Agent 系统 。你越把它当成AI 操作层来看,就越能理解它为什么会有这么大的争议。

所以这篇文章我真正想说的,不是 OpenClaw 能不能用。

而是当一个 AI 不再只是回答问题,而是真的开始接入消息渠道、调用工具、接触文件系统、甚至影响真实设备时,对于很多普通人来说,你是否真的有驾驭它的能力?

就像我们前面所说的:

OpenClaw 真的给了你很强的能力,但是很多人低估了想要使用这种能力,可能需要付出的代价

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-04 13:59:43 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/493052.html
  2. 运行时间 : 0.126504s [ 吞吐率:7.90req/s ] 内存消耗:4,798.48kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=dc04d596426c9387ec53599622a3273a
  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.000742s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000835s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000384s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000305s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000623s ]
  6. SELECT * FROM `set` [ RunTime:0.000227s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000618s ]
  8. SELECT * FROM `article` WHERE `id` = 493052 LIMIT 1 [ RunTime:0.001122s ]
  9. UPDATE `article` SET `lasttime` = 1775282383 WHERE `id` = 493052 [ RunTime:0.000704s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000249s ]
  11. SELECT * FROM `article` WHERE `id` < 493052 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000400s ]
  12. SELECT * FROM `article` WHERE `id` > 493052 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000458s ]
  13. SELECT * FROM `article` WHERE `id` < 493052 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000726s ]
  14. SELECT * FROM `article` WHERE `id` < 493052 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001435s ]
  15. SELECT * FROM `article` WHERE `id` < 493052 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000984s ]
0.131062s