乐于分享
好东西不私藏

AI 时代的github上,你连 README 都不能相信

AI 时代的github上,你连 README 都不能相信

一条 npx 命令引发的越界问题

案例:为什么我的每一个agent工具里都被安装了这个skill

最近一个朋友跟我讲了一个很典型的 Harness Engineering 的问题:

"他使用npx skill add命令从github上安装了一个 skill 之后,发现这个 skill 不只出现在当前使用的 Agent 工具里,还出现在了机器上的其他 Agent 工具里。本来以为只是给 Codex 装一个 skill,结果 Claude Code、Cursor 或其他支持 skill 的工具目录里,也出现了这个skill。"

我听到之后第一反应就是: "这个 skill 是不是藏了恶意的脚本,用户下载之后就开始自动传播?”

抱着这个想法我去github上看了一下这个代码库. 哟嚯,这个skill有 5.6K 的star, 700+的fork. 看完之后我发现真正的问题不在 skill 文件本身,而在代码库 README 里推荐的一条安装命令。

这条命令是这样的,为了不给任何人打广告,我就不贴原文了:

npx -y skills add xxx/xxx -g --all

当我自己看到这条命令时,我第一反应也是:安装这个项目的全部 skill。但实际上当我把这个代码库丢给我的codex,和它描述了我朋友的问题,要求codex追查问题的时候,我发现我对这个命令的理解错了:

我们来看这条命令里的三个参数:

-y
-g
--all

-y 的意思是跳过确认。

-g 的意思是全局安装。

--all 在这里的意思不是“安装这个项目里的全部内容”这么简单。它在 skills 这个安装器里的真实含义是:把这个 skill 安装到它支持的全部 Agent 工具目录里。

也就是说,用户以为自己在做的是:

给当前 Agent 安装一个 skill

实际发生的是:

把这个仓库里的 skill,全局安装到本机上多个 Agent 工具目录里,并跳过确认

这也不是传统意义上的病毒。代码里也没有看到它偷偷下载后门,也没有看到它去读取 token、注册启动项、复制剪贴板内容。

而真正的问题是: 这个代码库的 README 里的安装说明本身越界了。

README 把一个影响范围很大的命令,包装成了普通安装命令。用户没有被告知这条命令会影响哪些工具,也没有机会在安装前确认写入路径。这本身在软件工程领域就是一个极其严重的问题

问题的根源是skills add这条命令

如果我们把 npx -y skills add xxx/xxx -g --all 这条命令拆开:

npx 的作用是运行一个 npm 包里的命令。比如:

npx skills add xxx/xxx

意思是临时运行名为 skills add 的 npm 命令,让它去安装某个 skill 仓库。

在这个案例里,skills 不是被安装的那个 skill,而是一个第三方安装器。被安装的内容是后面的 xxx/xxx 仓库。

所以这里有两层东西:

skills CLI:负责安装
xxx/xxx skill 仓库:被安装的内容

真正执行写入目录、选择 Agent、处理 --all 参数的,是 skills 这个 CLI。

这个 CLI 本身支持很多 Agent 工具,比如 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等。它内部有一张表,记录每个 Agent 的 skill 目录在哪里。

例如:

Claude Code -> ~/.claude/skills
Codex       -> ~/.codex/skills
Cursor      -> ~/.cursor/skills

当命令里写了 --all,它就不是只选择当前正在使用的 Agent,而是选择它支持的全部 Agent 类型。

这就是很多人容易误解的地方。

--all 的真实含义

普通用户看到 --all,很容易理解成“安装全部 skill”。

但在这条命令里,--all 的真实效果更接近:

安装全部 skill 到全部 Agent,并跳过确认

它等价于:

--skill '*'
--agent '*'
-y

这三个东西合在一起,风险就变大了。

--skill '*' 表示安装仓库里的全部 skill。

--agent '*' 表示目标是安装器支持的全部 Agent。

-y 表示不要再问用户,直接执行。

再加上 -g,就变成全局安装。

所以这条命令完整展开以后,不是一个小范围安装命令,而是一个全局、多工具、无确认的批量写入命令。

这就是为什么用户会觉得“它怎么跑到我其他 Agent 工具里去了”。

不是因为 skill 自己会传播,而是因为安装命令要求安装器这样做。

工程边界在哪里被打破了

这个案例最严重的地方,它打破了工程边界。

用户的边界是:

我正在当前 Agent 里安装一个工具。

命令实际执行的边界是:

我正在改写本机上多个 Agent 的全局配置。

这两个边界完全不是一回事。

当前 Agent,是一个很小的范围。本机所有 Agent,是一个很大的范围。

当前项目,是一个更小的范围。全局目录,是一个长期生效的范围。

README 里的安装命令,把这些范围全部混在一起了。

如果这个问题发生在我以前工作的公司,如果是 QA 发现这个问题,毫无疑问是 P0 的 BUG. 如果被客户发现这个问题, 连 RD 带经理一起处理,全团队还要开复盘. 简直要被永远钉在耻辱柱上。

在 Agent 工具里,这个问题的风险性更大。因为 skill 不是普通库文件。普通库文件一般只有在代码显式调用时才会执行。skill 更像是一层给 Agent 看的行为指令。它会影响 Agent 如何理解任务、如何触发流程、如何写文件、如何调用工具。把一个 skill 写进多个 Agent,相当于同时改变多个 Agent 的工作环境。如果用户在安装之前就被告知这件事,并且明确同意安装,那没有问题。但问题是用户不知道啊,我翻遍整个 README 也没看到这个代码仓库的作者对这条安装命令有任何安全提示. 我十分怀疑这个readme也是用 AI 写的,作者根本就不看.

我们深入的问一句: 这是恶意的吗?

从目前我们看到的证据,不能直接说这是恶意传播。

因为真正的安装行为来自第三方 skills CLI。--all 是这个 CLI 公开支持的功能。被安装的 skill 仓库并没有自己写一段脚本去扫描所有 Agent 目录,然后偷偷复制自己。但不能因为不是恶意,就说问题不严重。

软件工程里有绝大多数事故,并不是开发者有主动"作恶"的意图. 而是质量的 BUG. 今天这个问题的性质更接近:

文档诱导型越界 bug

也就是说,代码功能本身是公开的,但 README 推荐的使用方式会把用户带到一个远超预期的作用域里。
这应该按严重问题处理。我甚至认为,在 Agent 工具生态里,这类问题可以按 P0 级别看待。它改的不是一个项目目录,而是用户本机多个 Agent 的全局行为环境。它还通过 -y 跳过确认,让用户没有机会在执行前看到影响范围。

两个库分别负什么责任

这里有两个责任主体。

第一个是 skills CLI。

skills CLI 是一个第三方 npm 安装工具,包名叫 skills(你没看错,这个 CLI 的名字就叫skills). 代码仓库在github的 https://github.com/vercel-labs/skills。从仓库归属看,它由 Vercel Labs 维护. skills CLI 是一个 Agent skill 的安装和管理工具。它的具体功能包括:

  • • 从 GitHub 仓库、npm 包或本地目录里寻找 SKILL.md 文件。
  • • 读取 skill 的名称、描述和目录结构。
  • • 按用户指定的目标,把 skill 安装到不同 Agent 工具的 skill 目录里。
  • • 支持 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等多个 Agent。
  • • 提供安装、删除、列出、搜索、更新、初始化等命令。

它定义了 --all 的含义,也维护了 Agent 支持表。它知道哪些 Agent 会被写入,知道每个目录在哪里。作为安装器,它应该对高影响操作有更强的提示。

比如:

你即将安装到 50 多个 Agent 目标。
你即将写入以下全局目录。
这不是只安装到当前 Agent。
是否继续?

更好的做法是,--all 不应该默认跳过这些提示。即使用户传了 -y,涉及全局、多 Agent 的写入,也应该有特殊保护。

第二个是 使用这条命令: npx -y skills add xxx/xxx -g --all 的skill仓库作者。

他在自己的 README 里推荐了:

npx -y skills add xxx/xxx -g --all

这就是他要负的责任,而且我得说这种行为非常的不负责:README 面向的是用户。用户不会先去读第三方 CLI 的源码,也不会知道 --all 在这个上下文里到底是什么意思。代码库的作者要为自己写的每一个字负责, 但是他把这条命令放在“通用安装方式”下面,普通用户就会认为这是安全、推荐、默认的安装方式。

更合理的写法应该是:

npx skills add xxx/xxx --list

先列出可安装内容。

如果用户只用 Codex,就写:

npx skills add xxx/xxx -a codex

如果用户只用 Claude Code,就写:

npx skills add xxx/xxx -a claude-code

是否全局安装,应该单独说明。是否安装全部 skill,也应该单独说明。是否跳过确认,更不应该作为默认推荐。

我们应该怎么防

这个CASE给我的最大提醒是:

不要盲目相信github上的star, fork. 也不要相信把代码上传到github上的人就对自己的代码完全了解.

尤其是看到下面这些组合时,必须停下来:

npx
curl
wget
-g
--global
-y
--yes
--force
--all
*

这些词单独出现不一定危险,但如果组合在一起,就说明这条命令可能会拉取外部代码、跳过确认、全局安装、批量写入。

这时候应该先做静态调查。

比如:

这个命令背后运行的是哪个包?
这个包是谁维护的?
--all 到底是什么意思?
-g 会写到哪里?
-y 跳过了哪些确认?
会不会影响多个 Agent?
有没有回滚方式?

如果查不清楚,就不要执行。

对 Agent 来说,这应该变成 harness 规则,而不是靠人记住。

只要命令同时命中:

外部执行入口
全局安装
跳过确认
全量目标
Agent 配置目录

就应该默认拦截,先审计,再决定是否执行。

最后

这个案例暴露出来的问题很扎心:在 AI Agent 时代,不能把信任交给除了规则和铁律以外的任何形式

以前我们看一个github上的代码库,如果有 4 位数的star, 700+的fork,我们默认是"有这么多的程序员认可", 也只有从事软件研发的人员才会去安装,fork开源代码库. 到了 AI 时代,agent的coding能力极大的扩展了github的受众群体,我们现在只能认为"有这么多 AI 的使用者对这个代码库感兴趣".

过去我们读 README,会默认它是项目作者认真写下来的说明。这个默认信任在今天已经不可靠了。现在大量 README、安装说明、配置教程,可能都是 AI 生成的。AI 生成内容最大的问题,不是它一定会胡说,而是它经常把“看起来合理”的东西写得很顺滑。命令格式对了,语气也像官方文档,但里面的边界、权限和后果,可能根本没有被认真审查过。

唯一稳妥的做法,是保护好自己的电脑和服务器。这就意味着每一个 AI Agent 的用户必须要建立起自己的harness。它应该在命令执行前拦住高风险组合,比如今天我们看到的:

npx / curl / wget
-g / --global
-y / --yes / --force
--all / *
~/.claude / ~/.codex / ~/.cursor / ~/.agents

只要命中这些组合,就先停下来,静态审计,再决定能不能执行。
这次事故的教训很朴素:

1.不要相信一条看起来正常的安装命令。

2.不要把 README 当成权威。

3.不要指望写 README 的人,或者生成 README 的 AI,替你保护你的机器。

4.真正可靠的做法,是在自己的 Agent 前面加门禁。先保护执行环境,再谈自动化效率。

关注我的公众号, 我会定期分享harness engineering, 软件工程,本体论建模,AI 应用开发的内容
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-30 14:49:11 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/687351.html
  2. 运行时间 : 0.106214s [ 吞吐率:9.41req/s ] 内存消耗:4,706.00kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=916c0c5afbea058f3c87bdd8474df80b
  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.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000525s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000820s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000336s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000288s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000484s ]
  6. SELECT * FROM `set` [ RunTime:0.000204s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000613s ]
  8. SELECT * FROM `article` WHERE `id` = 687351 LIMIT 1 [ RunTime:0.000509s ]
  9. UPDATE `article` SET `lasttime` = 1780123751 WHERE `id` = 687351 [ RunTime:0.012547s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000305s ]
  11. SELECT * FROM `article` WHERE `id` < 687351 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000468s ]
  12. SELECT * FROM `article` WHERE `id` > 687351 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000828s ]
  13. SELECT * FROM `article` WHERE `id` < 687351 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002368s ]
  14. SELECT * FROM `article` WHERE `id` < 687351 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000748s ]
  15. SELECT * FROM `article` WHERE `id` < 687351 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000989s ]
0.107878s