乐于分享
好东西不私藏

为了搞懂 OpenClaw,我甚至写了个 OpenPup

为了搞懂 OpenClaw,我甚至写了个 OpenPup

有时候,理解一个项目最好的方式,不是多看十篇介绍,也不是多刷几十条 issue。

而是——自己动手,再造一个 https://github.com/openpup/openpup

我最近就干了这么一件听起来有点“离谱”、但实际非常有效的事:为了真正搞懂 OpenClaw,我甚至反手写了个 OpenPup。

先别急着说我“学不会就自己发明一个”。事情的起因,其实挺朴素的。

我最开始想搞明白的问题是:

OpenClaw 到底是什么?它厉害在哪?它和那些“套个模型做聊天”的 AI 工具有本质区别吗?

结果越看越发现,这问题没法靠“看个 README”就解决。因为 OpenClaw 不是单纯的聊天界面,也不是单纯的 Agent 框架。它背后其实有一套很鲜明的思路:多角色、可路由、可扩展、可接入各种渠道和工具。它想做的,不是“一个会聊天的 AI”,而是“一个能在多个场景里出现、并持续工作的 AI 系统”。

听上去很酷,对吧?

但问题也来了:这种系统,一旦概念多起来,就特别容易陷入一种经典困境——

一、你以为自己懂了,其实只是会复述名词

什么是多 Agent?什么是路由?什么是技能系统?什么是长期记忆?什么是 MCP?什么又叫“主人中心”?

这些词单个拆开都不难懂,但一旦放进一个完整产品里,事情就会开始变得微妙。

比如你会发现:

  • “多 Agent”到底是几个 Prompt 分工,还是一个真正协作的系统?
  • “长期记忆”到底是把聊天记录存起来,还是能真的理解你、记住你?
  • “本地优先”到底只是把数据库放在本地,还是意味着用户真正拥有自己的 AI 资产?
  • “技能系统”到底是插件市场,还是一套能力编排机制?

更致命的是,你在脑子里“觉得自己理解了”,并不等于你真的能把这个系统讲清楚。

而我恰好很讨厌那种状态。

所以我决定换个办法:既然我想理解 OpenClaw,那我就试着顺着这条思路,自己实现一个更聚焦、更具象的版本。

这个版本,我给它起名叫:OpenPup


二、为什么是 OpenPup?

名字其实暴露了我的思路。

如果说 OpenClaw 给我的感觉,是一个更偏“外部存在感”的系统——它像一只有爪子的生物,能去各种平台、各种渠道留下痕迹、接住消息、分发任务;那我想做的 OpenPup,更像一只围着主人转的小狗

区别看起来只是名字不同,实际上是两个完全不同的产品中心:

  • OpenClaw 关注的是:AI 出现在哪里、接入什么渠道、如何统一路由
  • OpenPup 关注的是:AI 围绕谁服务、如何长期理解主人、如何在本地持续陪伴

换句话说:

OpenClaw 更像“多平台 AI 网关”,OpenPup 更像“本地桌面 AI 伙伴”。

我后来越写越觉得,这个角度特别适合帮助我反向理解 OpenClaw。因为当你试图设计 OpenPup 时,你就会被迫回答一个非常根本的问题:

一个 AI 系统,到底是围绕“模型能力”构建,还是围绕“用户是谁”构建?

而这,也是我从这次折腾里得到的第一个大收获。


三、真正难的,不是让 AI 回答问题,而是让它记得“你是谁”

我以前总觉得,AI 产品的核心问题是“怎么回答得更聪明”。

后来发现不是。

真正难的问题其实是:

怎么让这个 AI,不只是会回答,而是会长期理解同一个人。

这也是 OpenPup 最核心的一条设计原则:不是问“你想要一个什么样的 AI”,而是问“你是一个什么样的人”。

于是我在 OpenPup 里设了一个非常关键的东西:OWNER.md

这个文件的意义很简单,也很反直觉——它不是给 AI 的“系统提示词炫技专区”,而是一个明确描述主人的地方

比如这里面可以写:

  • 你是谁
  • 你做什么工作
  • 你喜欢怎样的表达风格
  • 你讨厌什么样的沟通方式
  • 你有哪些长期目标
  • 你平时是怎么安排事情的

这件事看起来很朴素,但它其实改变了整个系统的重心。

因为一旦有了 OWNER.md,AI 的工作方式就会从:

  • “收到问题,开始回答”

变成:

  • “先知道这是在为谁服务,再决定怎么回答、怎么执行”

这就是我突然觉得很多 AI 产品“差口气”的原因。它们大多很会说,却并不真的“认识你”。你每次打开对话框,面对的还是一个失忆的聪明人。

而一个真正有陪伴感、有协作感的系统,应该不是这样。


四、我开始意识到:一个 AI,最好别假装自己什么都会

这是我理解 OpenClaw 时遇到的第二个卡点,也是 OpenPup 设计时最顺手的一部分。

我发现,很多 Agent 产品在叙事上都喜欢强调“万能”。仿佛一个 Agent 应该既能写代码、又能做研究、还能写报告、管日程、顺便给你规划人生。

听起来很厉害。但只要你真的开始设计系统,就会发现:万能,往往意味着模糊。

于是 OpenPup 里我干脆不装了,直接搞“分工制”。

我给它拆成了几只 Pup:

  • Alpha Pup:总协调,负责判断问题该交给谁
  • Dev Pup:写代码、查 bug、做工程活
  • Writer Pup:写文章、写邮件、写报告
  • Research Pup:收集资料、做摘要、整理分析
  • Ops Pup:偏部署、基础设施、DevOps
  • Life Admin Pup:处理日程、规划、个人事务

这样一拆,很多事一下就清楚了。

以前你会纠结:“这个 Agent 为什么说话一会儿像程序员,一会儿像秘书,一会儿像文案?”现在不会了,因为每个角色天然有边界。

更重要的是,Alpha 不再需要自己什么都干。它真正做的是:

  1. 理解用户意图
  2. 判断要不要路由
  3. 决定交给哪个 Specialist Pup
  4. 最后把结果组织好再给用户

这一下,我对 OpenClaw 里“多角色路由”这件事也理解得更深了。

它不是为了炫架构图。而是因为当任务复杂到一定程度,“让一个 AI 假装自己无所不能”反而是不自然的。

真正自然的方式,是像一个团队一样工作。


五、写着写着,我发现“本地优先”不是技术偏好,而是产品价值观

再往下做,我碰到第三个非常关键的问题:这些记忆、偏好、规则、技能,到底放哪?

如果你只是做一个云端聊天产品,那这个问题很简单:全丢服务器里,用户也别管。

但如果你真的想让 AI 成为一个长期伙伴,这种方式会越来越别扭。

因为你会开始在意:

  • 我的记忆是不是我能看见?
  • 我的偏好是不是我能修改?
  • 我的数据能不能备份?
  • 这个 AI 懂我的方式,到底是不是一个黑箱?

于是 OpenPup 走向了一个我越来越认同的方向:本地优先。

也就是说,很多关键资产都放在本地工作区里,比如:

  • OWNER.md
  • PUPS.md
  • RULES.md
  • 记忆文件
  • 数据库
  • 技能配置
  • 工作日志

它们不是云端神秘抽象物,而是真实存在于你的机器上的东西。

这意味着什么?

意味着 AI 不再只是“一个在线服务”,而更像是:

一个你拥有、你能审计、你能改造的个人系统。

这点我越做越上头。因为它让“AI 记得你”这件事,终于不再只是营销文案,而开始变成一种可验证、可编辑、可迁移的能力。

换句话说:

  • 记忆不只是存在
  • 而且你知道它怎么存在

这对于长期使用来说,太重要了。


六、然后我踩进了 Agent 世界最真实的坑:记忆不是“存了”就算有

说实话,一开始我也天真过。

我原本以为,所谓长期记忆,无非就是:

  • 把聊天记录存起来
  • 定期总结一下
  • 做个向量检索
  • 完事

后来发现,这事根本没这么简单。

因为真正的问题不是“怎么存”,而是:

  1. 什么值得记?
  2. 怎么避免反复记同一件事?
  3. 怎么在需要的时候把对的记忆捞出来?
  4. 怎么避免上下文越堆越脏?

这时候我才意识到,长期记忆系统如果做不好,很容易变成“高级垃圾堆”。

于是 OpenPup 的思路变成了两层:

1. 文件层:让人能看懂、能编辑

比如 OWNER.md、规则文件、记忆摘要等,都是可见的。

2. 数据层:让机器能检索、能压缩

比如 SQLite、向量索引、会话历史、任务状态这些,交给系统处理。

这套双层结构让我对 OpenClaw 和类似系统的理解也更具体了:真正成熟的 Agent 系统,不会把“记忆”当成一个单点功能,而会把它当作整个运行机制的一部分。

记忆不是彩蛋。记忆是操作系统层能力。


七、我终于搞懂了:技能系统的重点,不是“能做更多事”,而是“怎么组织能力”

接着是另一个我以前总觉得“听起来明白,实际上很虚”的东西:技能系统

一开始我对技能的理解非常直男式:

哦,就是插件嘛。

后来写 OpenPup 才发现,这个理解太浅了。

一个真正有用的技能系统,至少得回答这些问题:

  • 技能怎么定义?
  • 技能怎么安装?
  • 技能什么时候触发?
  • 技能能不能串起来执行?
  • 技能有没有权限边界?
  • 技能失败了怎么回滚、怎么记录?

当这些问题冒出来时,你就会意识到,技能系统不是“多几个 prompt 模板”那么简单。它更像是:一套把能力变成可组合执行单元的机制。

所以在 OpenPup 里,我很自然地把技能想成三层:

  • 技能:轻量扩展,快速加能力
  • MCP:标准化接外部工具
  • 插件:更深层的原生扩展

这一层层拆下来之后,我突然对 OpenClaw 那种强调生态、强调接入、强调路由的价值,理解得特别顺。

因为系统越大,靠“把所有能力都写死在主程序里”越不现实。必须让能力以模块化方式生长。

而模块化能力一旦形成生态,整个项目的性质就变了。

它不再只是一个产品,而开始变成一个平台。


八、从“聊天工具”到“任务系统”,我突然明白 OpenClaw 想走多远

还有一个特别大的认知转折,发生在我设计任务流的时候。

很多人看 AI 助手,还是习惯按“聊天工具”的方式去理解。但只要你认真做几步,就会发现:

真正有价值的,不是“它能答一句漂亮的话”,而是“它能不能把一件事持续推进下去”。

所以 OpenPup 里我特别在意任务状态:

  • 待处理
  • 进行中
  • 完成
  • 失败

别小看这几个状态。它们意味着这个系统的目标,已经不是“回复你”,而是“帮你推进工作”。

到这一步,我对 OpenClaw 的理解也突然立体了。

它有那么多渠道、那么多角色、那么多路由能力,如果只是为了让 AI 在不同地方和你闲聊,那完全不值当。它真正的野心,显然是更大的:

让 AI 不只是一个对话框,而是一个能跨场景持续存在、持续接活、持续协作的系统。

当你从这个角度再回头看它,很多原本零散的功能就串起来了:

  • 为什么要多渠道?
  • 为什么要路由?
  • 为什么要 Agent 分工?
  • 为什么要技能生态?
  • 为什么要记忆?
  • 为什么要任务跟踪?

因为这些东西,本来就不是一个“聊天壳”该有的配置。它们更像是一个 AI 操作系统 的胚胎。


九、那 OpenPup 到底让我学会了什么?

如果非要总结,我觉得最大的收获有四个。

1. 我终于分清了“会聊天”和“会陪伴”的区别

会聊天的 AI 很多。但会陪伴、会持续理解、会围绕你组织能力的 AI,少得多。

这中间差的不是模型参数,而是系统设计。

2. 我终于理解了“多 Agent”不是形式主义

如果设计得好,多角色不是花架子。它本质上是在模拟一种更真实的工作分工方式。

不是一个 AI 假装全能,而是一组 AI 各司其职。

3. 我终于意识到“本地优先”是非常强的价值表达

很多人觉得本地优先只是技术路线。但实际上,它是在说:

你的数据、你的偏好、你的记忆,应该属于你。

这句话一旦成立,很多产品决策都会随之改变。

4. 我终于不再把 OpenClaw 当成“一个工具”

在真正拆解并试着复现其思路之后,我更愿意把 OpenClaw 看成:

一个正在形成中的开源 Agent 生态方向。

它关心的不是单点功能,而是系统协作。不是单次回答,而是长期运行。不是一个入口,而是多个入口背后的统一智能。


十、所以,为什么要“为了搞懂 openclaw,甚至写个 openpup”?

因为有些东西,真的只有你自己动过手,才会明白。

你当然可以一直停留在“我知道这个概念”的层面;也可以收藏十篇文章,转发五条观点,顺便在群里说一句“这个方向挺有意思”。

但如果你真的想理解一个系统,最有效的方法往往不是旁观,而是——

亲手把它最关键的假设重新走一遍。

OpenPup 对我来说,当然不是为了“再做一个 AI 产品”。它更像是一把解剖刀。

借着写它,我把这些问题一个个切开看了:

  • AI 到底该围绕模型,还是围绕主人?
  • 记忆到底怎么设计才不虚?
  • 多角色到底是噱头,还是必要结构?
  • 本地优先到底意味着什么?
  • 技能、工具、插件到底怎么构成一个生态?
  • 聊天式交互,怎么进化成任务式系统?

而这些问题一旦想透,OpenClaw 就不再神秘了。

你会开始看见它的骨架、它的取舍、它的野心,甚至也会看见它未来可能遇到的挑战:

  • 系统会不会越来越复杂?
  • 多角色协作会不会增加理解成本?
  • 本地优先会不会抬高普通用户门槛?
  • 记忆质量能不能经得起长期使用?

但恰恰是这些挑战,才说明它在试图解决的,是更难、也更值得做的问题。


结语

如果说以前我对 AI 助手的理解,还停留在“更聪明的聊天界面”;那么在折腾 OpenPup 之后,我更愿意相信:

下一代 AI 产品的竞争,不会只发生在回答质量上。它更会发生在这些地方:

  • 它是否真的理解你
  • 它是否能长期记住你
  • 它是否能组织多种能力为你服务
  • 它是否属于你,而不是只是调用你
  • 它是否能从一个工具,慢慢长成一个系统

而 OpenClaw,让我看见了这条路的一种可能。OpenPup,则让我亲手摸到了这条路为什么难、又为什么值得。

所以标题一点也不夸张:

为了搞懂 OpenClaw,我甚至写了个 OpenPup。

而且写完之后,我反而觉得——这可能才是理解一个复杂系统,最省时间的方式。


本文完全出自于 OpenPup :

小彩蛋:

(全文完)

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-28 05:33:42 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/489085.html
  2. 运行时间 : 0.336741s [ 吞吐率:2.97req/s ] 内存消耗:4,701.05kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=635e18164446428cfc19986fd8804f02
  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.001192s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001439s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.011622s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002127s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001401s ]
  6. SELECT * FROM `set` [ RunTime:0.012321s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001574s ]
  8. SELECT * FROM `article` WHERE `id` = 489085 LIMIT 1 [ RunTime:0.032271s ]
  9. UPDATE `article` SET `lasttime` = 1774647222 WHERE `id` = 489085 [ RunTime:0.016710s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.003921s ]
  11. SELECT * FROM `article` WHERE `id` < 489085 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.009866s ]
  12. SELECT * FROM `article` WHERE `id` > 489085 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.025957s ]
  13. SELECT * FROM `article` WHERE `id` < 489085 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.016929s ]
  14. SELECT * FROM `article` WHERE `id` < 489085 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012657s ]
  15. SELECT * FROM `article` WHERE `id` < 489085 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002288s ]
0.340737s