乐于分享
好东西不私藏

Revit 插件 AI 代码的幻觉:根因不是模型笨,是它在"猜" API

Revit 插件 AI 代码的幻觉:根因不是模型笨,是它在"猜" API
Revit 插件 AI 代码的幻觉

Revit 插件 AI 代码的幻觉:根因不是模型笨,是它在"猜" API

上一篇聊了知识库规划,这篇往下扎一层——为什么 AI 写 Revit 插件代码总在"编",以及我们跑通的一条真正能降幻觉的路。

先说结论:换更强的模型没用,给 RAG 才有用。


一、幻觉长什么样

幻觉

如果你用 AI 写过 Revit 插件,下面这些场景应该不陌生:

  • 让它生成一段创建轴网削弱的代码,它给你写了 Grid.Create(document, line)——2024 版确实有这个方法,但你的项目锁定 2020 API,编译直接报红。
  • 让它读取参数,它写了 element.GetParameters("长度") 返回 IList<Parameter>——看起来没毛病,但它不知道你项目里根本不用原生 GetParameters,而是用扩展方法 ParameterEx.GetAsDouble(element, "长度"),返回值都不同。
  • 更离谱的,让它写事务包裹逻辑,它给你编了一个 TransactionGroup.CommitWithStatus()——这个方法不存在,是它把 Transaction.Commit() 和 TransactionGroup 的记忆拼在一起"创造"出来的。

这就是幻觉。不是语法错误,是事实性错误——API 方法名、签名、版本归属,全靠猜,而且猜得理直气壮。


二、根因:Revit API 是 LLM 的"噩梦数据源"

为什么 Revit API 特别容易让 AI 产生幻觉?三个结构性原因,叠在一起就是灾难。

数据源

2.1 版本碎:2020 / 2021 / 2022 / 2024 差异一大堆

Revit API 从 2014 到 2024,十几个版本,大量方法签名变了、废弃了、新增了。比如:

  • FilteredElementCollector 的某些 LINQ 扩展在不同版本行为不同
  • DirectShape 在 2015 引入,但创建 API 在后续版本改过签名
  • CurveLoop.Create() 在旧版本不存在,需要用构造函数绕

AI 的训练数据混着各版本——它见过 2019 的写法、见过 2022 的写法,生成时按概率拼,结果给你一段"语法合法、版本非法"的代码。它不是不知道有版本差异,是它分不清哪个方法属于哪个版本

2.2 私有封装多:UBIMApp、ExtensionMethods,AI 没见过

你的项目不是从零写原生 API,而是有一层封装:

  • UBIMApp 封装了 UIApplication 的取值逻辑
  • ParameterEx 扩展方法统一了取参方式
  • BaseCommand 基类处理了事务、异常、日志
  • FamilyLoader 封装了族加载+版本兼容逻辑

这些封装代码不在 AI 训练数据里。它不知道你项目里有 UBIMApp,更不知道 ParameterEx.GetAsDouble 和原生 get_AsDouble() 的区别。它会自作主张给你写原生调用,跟你现有架构完全脱节。

2.3 官方文档不全:大量 API 靠社区经验和逆向

Revit API 的官方文档以"简陋"著称。很多类和方法只有一行签名说明,没有用法示例,没有版本标注,没有注意事项。像 CurveLoopSolidSolidCutUtilsPartUtils 这些类,关键用法散落在论坛帖子和博客里。

AI 学到的 API 知识本来就不完整,文档缺的地方它就靠"脑补"——把相似类的方法签名迁移过来,赌一个能用。赌赢了是你的运气,赌输了就是线上 bug。


三、换更强的模型能解决吗?

不能。

GPT-4o、Claude 3.5、DeepSeek V3,模型越来越强,但幻觉的本质没变——LLM 是概率模型,生成代码时它做的是"下一个 token 最可能是什么"的预测,不是"API 文档里这个方法到底长什么样"的检索。

模型越强,它"编"得越流畅、越自信、越难辨真伪。GPT-3.5 编错 API 你一眼能看出来(语法都怪怪的),GPT-4o 编错 API 你得编译才发现(语法完美,方法不存在)。

这不是能力问题,是机制问题。 只要它靠训练记忆生成 API 调用,就一定有概率串版本、编方法名。概率可以降低,但无法消除。


四、降幻觉的唯一可靠路径:RAG + 编译门禁

逻辑很简单:不让 AI 凭记忆写 API,让它只能凭检索到的事实写。

这条路径分两层:

4.1 RAG:把真实代码 + 功能规格做成唯一事实源

把你的项目代码、API 文档、版本差异说明、踩坑记录,全部向量化存进知识库。AI 写代码前先检索,只能基于检索到的原文生成,不能凭记忆编。

检索到什么,它就写什么。检索不到的 API,它就得说"没找到",而不是硬编一个。

4.2 编译门禁:最后一道墙

RAG 能降 90% 的幻觉,但不是 100%——偶尔检索到相似但不完全匹配的片段,AI 还是可能误用。这时候编译器是兜底:

  • 生成的代码必须过 dotnet build 编译
  • 编译失败 → 错误信息回喂给 AI → AI 基于错误重试
  • 三轮编译不过 → 人工介入

RAG 管"别瞎编",编译器管"编了也能挡住"。两层叠加,幻觉基本无路可走。


五、我们跑通的架构:RevitKBAgent

不是纸上谈兵。我们自己的 RevitKBAgent 已经按这条路线跑通,下面是架构细节,可以直接照做。

5.1 数据层:8301 条向量,全是真实代码

数据源
内容
向量数
项目源码
YLIB 插件全量代码(Command / Service / Extension)
~5200
Revit API 文档
官方文档 + 版本差异说明 + 常用类说明
~2100
踩坑记录
崩溃案例、事务陷阱、性能坑
~600
代码模板
IExternalCommand 骨架、事务写法、选择器写法
~400

总计 8301 条向量。每条向量是代码片段或文档段落的 embedding,带原文回传。

5.2 检索层:bge-m3 + 1024 维 + score 0.7 阈值

配置项
为什么这么选
Embedding 模型
bge-m3
中英混合(代码英文+注释/文档中文)效果最好,支持长文本
向量维度
1024
bge-m3 默认维度,精度和性能平衡点
相似度阈值
score ≥ 0.7
低于 0.7 的检索结果不回传——宁可说"没找到",不给模糊匹配
回传格式
原文 + 出处路径
AI 生成的代码能追溯来源,不信可以查

关键设计:score 0.7 是硬门槛。 低于阈值的检索结果直接丢弃,AI 拿到的是高置信度的真实代码片段,不是"大概相关"的噪声。这一条砍掉了大量"似是而非"的幻觉来源。

5.3 生成层:带原文生成,不允许凭记忆

AI 的 system prompt 长这样(简化版):

你是一个 Revit 插件开发助手。你只能基于以下检索到的代码和文档生成回答。
如果检索结果中没有相关 API 信息,明确回答"未找到相关代码",不要编造方法名。
检索结果:
{retrieved_chunks_with_source}

核心原则:检索到什么,用什么。 检索到 ParameterEx.GetAsDouble,它就写 ParameterEx;检索不到,它就别编。这比"你是一个资深 Revit 开发者,请根据你的知识生成代码"靠谱十倍——后者等于鼓励它翻训练记忆。

5.4 编译门禁:三轮重试

生成代码 → dotnet build →
  编译通过 → 交付
  编译失败 → 错误信息回喂 → AI 修正 → 重试(最多3轮)
  3轮不过 → 标记需人工处理

实测下来,加上 RAG 之后,一次编译通过率从 30% 左右升到 75% 以上。剩下 25% 大部分一轮修正就过,需要三轮以上的极少。


六、效果:从"看着对、编译崩"到"拿来就能用"

上 RAG 前后的对比(同项目、同任务,"生成一个创建墙上开洞的 Command"):

维度
无 RAG
有 RAG + 编译门禁
API 版本正确率
~40%(经常串版本)
~95%(检索到的代码自带版本信息)
私有封装使用率
~10%(几乎全写原生 API)
~85%(检索到 BaseCommand / ParameterEx 就跟着用)
一次编译通过率
~30%
~75%
方法名编造率
高(TransactionGroup.CommitWithStatus 这种)
极低(检索不到就不写)

最直观的感受:以前 AI 写的代码要改一半,现在改两行。


七、别指望 RAG 解决一切

说点清醒的。

RAG + 编译门禁解决的是"API 层面的事实性幻觉"——方法名编造、版本串位、封装缺失。这类幻觉占 Revit 插件 AI 代码问题的 80% 以上,RAG 是目前最有效的解法。

但有两类问题 RAG 管不了:

  1. 业务逻辑错误。 AI 代码编译过了、API 全对,但开洞逻辑本身不对——该扣减的面没扣减、该处理的相交没处理。这是业务判断,不是事实检索能解决的。
  2. 知识库需要持续维护。 项目加了新封装、改了基类、踩了新坑,都要回填向量库。不维护的知识库,三个月就过期。

所以 RAG 不是银弹,但它是目前**唯一能把幻觉从"高频致命"压到"低频可控"**的手段。不上的话,AI 写 Revit 代码就是在赌——赌它训练记忆里恰好有你这个版本的 API。


八、收个尾

Revit 插件开发的幻觉,根因不在模型笨,在模型"猜"。它没有你的代码、没有你的版本约束、没有你的私有封装,只能靠训练记忆赌一个答案。

解法不是等一个更强的模型,是把你的真实代码和 API 文档做成事实源,让 AI 只能基于事实生成,再用编译器兜底。 这条路我们已经跑通了,8301 条向量、bge-m3 检索、score 0.7 硬门槛、编译门禁三轮重试——拿来就能用。

知识库是资产。模型可以换、工具可以换,但你项目的代码和踩坑记录,是你真正的壁垒。


优易科技 | 优易BIM助手

欢迎转发

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-22 13:24:12 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/870502.html
  2. 运行时间 : 0.143481s [ 吞吐率:6.97req/s ] 内存消耗:4,816.32kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f470365547b42ee70f8cc2c9caa46155
  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.000724s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000830s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000389s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000262s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000535s ]
  6. SELECT * FROM `set` [ RunTime:0.000249s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000692s ]
  8. SELECT * FROM `article` WHERE `id` = 870502 LIMIT 1 [ RunTime:0.000649s ]
  9. UPDATE `article` SET `lasttime` = 1784697852 WHERE `id` = 870502 [ RunTime:0.046395s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000424s ]
  11. SELECT * FROM `article` WHERE `id` < 870502 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000898s ]
  12. SELECT * FROM `article` WHERE `id` > 870502 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000505s ]
  13. SELECT * FROM `article` WHERE `id` < 870502 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001207s ]
  14. SELECT * FROM `article` WHERE `id` < 870502 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000803s ]
  15. SELECT * FROM `article` WHERE `id` < 870502 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002214s ]
0.145112s