乐于分享
好东西不私藏

我让AI自己学习了Dify源码和172个DSL,它现在会自动写工作流了

我让AI自己学习了Dify源码和172个DSL,它现在会自动写工作流了

我让AI自己学习了Dify源码和172个DSL,它现在会自动写工作流了

前两天有个朋友找我吐槽,说他在Dify上搭一个NL2SQL的工作流,光是拖节点、连线、调参数就折腾了一下午。

我说你这还算快的,我之前搭一个带数据库插件的多轮对话流程,光是搞明白tool节点的依赖配置就花了两天。

然后我突然想到一个问题:既然这些工作流本质上就是YAML,能不能让AI直接帮我写?

听起来很合理对吧?但实际试过之后你会发现,让AI裸写Dify DSL,跟让一个不懂语法的人写Python差不多——看起来像那么回事,但导入就报错。

为什么AI裸写DSL不靠谱

我做了一个实验。让Claude、GPT分别生成一个简单的工作流YAML,然后导入Dify。

结果:全部失败。

原因五花八门:version字段用了数字而不是字符串、node的type写法不对、edge的sourceType和实际节点不匹配、变量引用语法写成了Python格式……

这些问题单独看都不大,但合在一起就是一个「看起来对但跑不起来」的烂摊子。

后来我仔细想了想,这其实不怪AI。Dify的DSL规范没有一个完整的公开文档,很多细节藏在源码里。你让AI去猜这些规范,它当然只能靠「看起来合理」来编。

这就像让一个外国人写中文——他认识几千个字,但写出来的句子总觉得哪里不对。

决定系统研究一下

既然AI不知道规范,那我就把规范整理出来给它。

我做了一件可能有点疯狂的事:把GitHub上能找到的Dify公开DSL文件全部下载下来研究。

三个仓库,172个可以解析的YML文件:

  • BannyLon/DifyAIA:38个
  • svcvit/Awesome-Dify-Workflow:45个
  • wwwzhouhui/dify-for-dsl:89个

然后我又去翻了Dify的官方源码——dsl_version.py、app_dsl_service.py、workflow/types.ts、node registry……

说实话,翻源码的过程挺痛苦的。Dify的代码组织方式跟文档描述有不少出入,很多规范是「代码里这么写,文档里没提」的状态。

但翻完之后,我终于搞清楚了几件关键的事:

第一,版本号是字符串不是数字。 你写 version: 0.6.0 会被当成浮点数,必须写 version: "0.6.0"

第二,节点有两层type。 外层是 type: custom,真正的节点类型在 data.type 里面。这个设计反直觉,但源码就是这么规定的。

第三,变量引用有两种语法。 在prompt里用 {{#node_id.field#}},在selector里用 [node_id, field]。用错了不会报错,但运行时拿不到值。

第四,分支节点的handle必须和case ID精确匹配。 if-else是 true/false,question-classifier是分类ID。handle写错了,线连不上,但界面不会告诉你哪里错了。

这些坑,172个真实文件里踩过一遍,源码里验证了一遍。

从「研究」到「技能」

研究完了,然后呢?

直接写一篇博客把这些规范记下来?有用,但不够。因为每次写DSL的时候还是要人去查、去对照。

更好的方式是:把这些知识打包成一个「技能」,让AI编程助手自己学会。

这就是 dify-workflow-dsl-skill 这个项目做的事情。

它不是一个应用,不是一个库,而是一个 AI Agent Skill——一套结构化的知识体系,教AI编程助手怎么正确地生成、修改、审查Dify工作流DSL。

你装上这个skill之后,只需要用自然语言描述你想要什么:

「帮我创建一个Dify高级对话工作流。用户上传PDF,提取文本,用Qwen总结,把总结插入PostgreSQL,插入成功后回答用户。」

AI就会按照规范生成一个可以直接导入Dify的YAML文件。

它是怎么工作的

这个skill的核心设计思路是:给AI规则,而不是给AI工具。

什么意思?市面上大部分AI工具集成方案是给AI一堆API让它调用——创建节点API、连线API、配置API。但DSL生成不是这种「逐步操作」的任务,它更像是「写一篇结构极其严格的文档」。

所以skill的架构是这样的:

SKILL.md(核心指令,约135行):定义了7步工作流程——理清需求→选择版本→画草图→连线→加依赖→处理未知插件→验证。AI每次生成DSL都会走这7步。

**references/**(按需加载的参考资料):

  • dsl-structure.md:顶层YAML结构、边、handle、变量
  • node-schemas.md:每种节点类型的完整schema(553行)
  • database-tools.md:PostgreSQL插件的两种模式
  • plugin-marketplace-tools.md:插件工具的「可靠性阶梯」
  • real-world-yml-study.md:172个真实文件的分析
  • complete-examples.md:4个可直接导入的完整示例

这种「核心短指令 + 按需加载参考资料」的设计,让AI的上下文窗口不会被撑爆。它只在需要的时候才去读详细的schema和示例。

一个我花了很多时间搞清楚的东西:插件工具的可靠性阶梯

Dify的插件生态是它最有吸引力的部分之一,但也是DSL生成中最不可控的环节。

因为插件的schema没有统一的公开注册表。你不知道一个插件需要哪些参数、参数是什么类型、有没有必填项。

为了解决这个问题,我设计了一个「可靠性阶梯」:

最高可靠: 用户自己导出的DSL里有这个tool节点。直接拿来用,100%准确。

高可靠: 用户给了插件的GitHub链接或包名。可以推断出plugin_id和基本结构。

中等可靠: 用户给了插件名称。可以尝试从marketplace推断,但可能不准。

最低可靠: 用户只说了「我要用XX工具」。只能生成一个占位节点,需要用户自己补全参数。

这个设计的核心理念是:诚实。 告诉AI什么时候可以保证正确,什么时候只能尽量猜测。比起生成一个「看起来对但导入报错」的文件,不如明确告诉用户哪些地方需要确认。

安全性不能只靠自觉

工作流里最容易出问题的是什么?

不是结构错误——那些导入时就能发现。真正危险的是SQL注入和数据泄露。

所以skill里内置了安全规则:

  • SQL必须使用参数化绑定($arg0$arg1),禁止字符串拼接
  • 检测危险关键词:DROP、DELETE、TRUNCATE、GRANT、EXEC
  • 检测尾部逗号(会导致SQL语法错误)
  • 数据库凭证必须通过环境变量传入,不能硬编码

这些规则不是建议,是强制的。AI生成的SQL如果有这些问题,validator脚本会直接报错。

验证器:最后一道防线

skill自带一个335行的Python验证脚本,能在用户导入Dify之前检查出大部分问题:

  • YAML解析是否正确
  • version字符串格式
  • 图的边引用是否有效(source和target必须存在)
  • 节点类型一致性
  • LLM节点的model和prompt模板
  • 代码节点的main函数定义
  • Tool节点的必填字段
  • 变量引用是否指向真实节点
  • 重复的节点ID

这个验证器不是万能的——它不能检查业务逻辑是否正确——但它能拦住80%的「导入就报错」的问题。

多平台支持

这个skill不是只给某一个AI助手用的。它支持:

  • Codex(OpenAI)
  • Claude Code(Anthropic)
  • OpenClaw
  • Hermes Agent

通过一个install.sh脚本,一行命令就能装到对应的平台。每个平台的知识目录结构不同,安装脚本会自动处理。

我从这件事学到了什么

回头看这个项目,有几个体会想分享:

1. AI不是万能的,但给对了知识它就能万能。

AI裸写DSL不行,不是因为AI笨,是因为它没见过规范。172个真实文件 + 源码分析 + 验证器,这套知识体系一给,AI立刻就能写出正确的DSL。

这说明什么?说明AI的能力瓶颈往往不在模型本身,而在我们给它的知识质量。

2. 「技能」比「工具」更适合AI。

给AI一堆API让它调用,它会按部就班地执行,但不会思考。给AI一套规则和知识体系,它会根据具体情况灵活应变。

DSL生成这种「规则密集型」任务,技能模式比工具模式效率高得多。

3. 诚实比完美更重要。

插件工具的可靠性阶梯,本质上是在教AI说「我不确定」。在AI应用中,「不确定但假装确定」是最危险的行为。明确告诉用户哪些是保证正确的、哪些是猜测的,才是真正负责任的做法。

4. 研究真实数据比读文档有用。

Dify的官方文档对DSL规范的描述是不完整的。但172个真实文件里包含了所有你能遇到的模式和坑。

这不只是Dify的问题。很多开源项目的文档都跟不上代码的变化。去看真实的使用案例,比读文档有效十倍。

写在最后

dify-workflow-dsl-skill 现在已经开源了,大家感兴趣可以去github上搜索使用

它不完美——Dify还在快速迭代,0.6.0的规范可能很快就会变;插件生态还在发展,很多插件的schema还是未知的。

但它证明了一件事:把领域知识系统化地打包给AI,效果远好于让AI自己猜。

如果你也在用Dify搭工作流,如果你也受够了拖节点调参数的重复劳动,可以试试让AI帮你写DSL。

前提是,你得先教会它。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 10:27:58 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/605118.html
  2. 运行时间 : 0.257961s [ 吞吐率:3.88req/s ] 内存消耗:4,528.72kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9ba5f3ec9b9f2af8f45fd1c1dddde920
  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.001010s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000913s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.005699s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.005610s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001592s ]
  6. SELECT * FROM `set` [ RunTime:0.001179s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001840s ]
  8. SELECT * FROM `article` WHERE `id` = 605118 LIMIT 1 [ RunTime:0.001005s ]
  9. UPDATE `article` SET `lasttime` = 1778466478 WHERE `id` = 605118 [ RunTime:0.075172s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.004490s ]
  11. SELECT * FROM `article` WHERE `id` < 605118 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.015729s ]
  12. SELECT * FROM `article` WHERE `id` > 605118 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.029977s ]
  13. SELECT * FROM `article` WHERE `id` < 605118 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.018401s ]
  14. SELECT * FROM `article` WHERE `id` < 605118 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004127s ]
  15. SELECT * FROM `article` WHERE `id` < 605118 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002409s ]
0.259855s