乐于分享
好东西不私藏

做了 100 个 AI App 后,我重新理解了应用的设计

做了 100 个 AI App 后,我重新理解了应用的设计
PS:纯手搓文章,非AI,可放心阅读

好用的AI应用的标准是什么?

我最近一直在想,发现一个现象就是Vibe Coding火了之后,好多人都开始写自己的App,web,小程序,但是好用的确实很少,甚至出圈的不多,所以就一直在想到底什么是好用的AI 应用呢?要如何设计呢?

想来想去,底层原因其实很朴素:人就是懒。或者说得好听一点,人一直在追求更方便的方式。

以前一个 App 好不好用,很大程度上取决于它能不能让用户很快找到入口、理解路径、完成操作。你要查订单,就知道去哪里查;你要改设置,就知道点哪个按钮;你要做一张图,就知道先选模板,再调参数,再导出。

这套逻辑背后有一个默认前提:用户愿意自己理解界面,自己推理路径,自己把目标拆成一步一步的操作。

但 AI 出来以后,这个前提开始变了。

用户不一定想知道路径。他只想说一句:“帮我整理一下这个资料”“帮我生成一个页面”“帮我看看这几个方案哪个更好”“帮我把这个项目跑起来”。至于中间要检索、分类、调用工具、生成代码、调整格式、补充信息,那些事情最好系统自己处理。

所以我觉得,AI 对应用交互最大的改变,不是多了一个聊天框,而是把一部分原本属于用户的推理工作,转移给了系统。用户的角色,也悄悄从操作员,变成了委托者和监督者。

如果把传统 App 的交互链路拆开,大概是这样的:用户先有一个明确需求,然后进入界面,通过界面上的按钮、菜单、层级、文案,理解这个系统能做什么。接着用户自己判断下一步应该点哪里、填什么、选什么,最后触发一个确定的事件。

也就是说,传统 UI/UX 的核心任务,是帮助用户完成“操作路径的推理”。

所以过去我们评价一个 App 好不好用,常常会说:美观、清晰、方便。这里的“清晰”,本质上就是路径清晰。用户一进来知道先干什么,再干什么,不用多想。

但 Agent App 的逻辑不一样。

它的链路更像是:底层有一堆业务能力,有完整业务逻辑,然后 AI 先识别用户的自然语言需求,再把模糊需求引导成一个可以执行的确定事件。

这时候,用户不再完全通过界面推理路径,而是让 AI 来推理自己的意图。

这件事看起来只是交互方式变了,但其实会影响整个产品设计。因为业务逻辑并没有消失。下单还是要库存、价格、支付、履约;写报告还是要检索、筛选、引用、生成、校验;做数据分析还是要口径、字段、过滤条件、图表和结论。只是这些原本显性地铺在界面里的流程,有一部分迁移到了提示词、意图识别、工具调用、任务编排和过程解释里面。

所以我越来越不认同“AI 应用以后 UI 会消失”这种说法。UI 并没有消失,只是换了位置——它原本主要负责展示入口和路径,现在还得帮用户看到状态、证据、过程、边界,以及在合适的时候把控制权交回来。

这里有一个很容易混淆的点:很多人会把 AI 应用直接理解成 Chat UI,也就是一个输入框加一串消息记录。

这在早期是合理的。因为 ChatGPT 最早就是这样让大家感知到 AI 能力的。你问一句,它答一句。你继续追问,它继续回答。

但如果真的做过一些 Agent App,就会发现聊天框很快不够用了。

原因很简单:聊天天然是单线、短回合、问答式的,可 Agent 真正要做的事,常常是长任务、多步骤、异步执行、工具调用、权限确认。把这些都硬塞进一条消息记录里,很快就会显得别扭。

比如让 Agent 帮你调研三家公司、生成对比报告、再顺手做成 PPT。这个过程里,用户不只是想等一个最终答案。他会想知道它现在在查什么、已经找到了哪些资料、为什么判断这个资料可靠、报告准备怎么组织、哪些结论有引用、哪些地方需要自己确认。如果方向错了,最好还能中途改。

这些东西如果全部塞在一条聊天记录里,用户会很累。更糟的是,用户会没有控制感。

所以后来我看到一个说法,觉得挺准确:Agent UI 的核心隐喻应该是 Workspace,而不是 Conversation。换成中文,就是 Agent App 本质上是个任务工作区,不是“聊天机器人的升级版”。

聊天可以还是入口,但真正承载体验的,应该是任务板、进度、证据、结果、操作记录、确认点和可编辑的产物。

这也是为什么 ChatGPT Canvas、Claude Artifacts、Cursor、Vercel v0、Replit Agent 这些产品会走向双面板、工作区、编辑器、预览区。它们表面上形态不同,但底层趋势是一样的:把“我和 AI 说话”与“我正在完成的工作”分开。

像 Kimi 的每个步骤每个结果都可以看到,甚至多 Agent 还可以监控到进度

用户最在乎AI应用的哪种特性?

以前我们说一个 App 好用,很少会说它“聪明”。

因为传统 App 的最后动作通常是用户自己做的。你点了提交,那就是你点的;你删了文件,那就是你删的;你选错了筛选项,结果不对,你大概也知道问题出在哪里。

但 Agent App 不一样,聪明的优先级甚至是最高的。

中间一大段过程被 AI 接管了。用户只说了目标,系统自己拆任务、找资料、调工具、生成结果。结果对不对,用户不一定马上知道。

所以 AI 应用里会出现一个新的体验标准:它要让用户感觉“聪明”。

但这个“聪明”不是说它回答得多华丽,也不是说它用了多强的模型。真正重要的是:用户愿不愿意把下一步交给它。

这个信任感不是一下子来的。它先要让用户觉得“它听懂我了”,然后让用户感觉“它知道怎么做”。再往后,它的结果最好有依据,不是随口给一个看似完整的答案。最后,它还得让用户知道自己随时可以改、可以停、可以接管。尤其是高风险动作,它不能悄悄做完再说一声完成。

这几层加起来,才是我说的“准确感”。

这里为什么说“感觉”?因为很多 AI 任务的准确性,不像查话费、查订单那样有一个立刻可验证的数字。研究报告、行业分析、代码生成、方案推荐,用户往往需要通过过程来判断结果。

所以 Deep Research 这类产品为什么要展示步骤、引用、来源?不是为了显得复杂,而是为了让用户知道:这个结果是怎么来的,我能不能信。

Agent App 交付的不只是答案,还要交付“让用户判断答案是否可信的材料”。

用户进入页面,看见导航、按钮、卡片、筛选项,大概知道自己该点哪里。哪怕一开始不会用,功能也摆在那里,之后总有机会点到。

但 AI 应用很不一样。

很多 Agent App 打开以后就是一个输入框,最多再加几个示例问题。页面看起来很简单,但用户反而会愣住:我到底应该让它干什么?我要怎么说,它才会做得好?它到底能做到哪一步?

这也是为什么同一个 AI 工具,不同用户用出来的效果差距会特别大。

传统软件里,入口是显性的。用户不会用,至少还能乱点。AI 应用里,能力经常是隐性的。用户如果第一次没有问出来,后面可能就再也想不到它有这个能力。

所以 Agent App 的引导,不应该只是传统的新手引导:这里点一下,那里点一下。

它更应该是任务引导。

不是告诉用户“这个按钮在哪里”,而是告诉用户“你可以把什么任务交给它”。不是给一个泛泛的“帮我分析一下”,而是给几个真实、具体、有上下文的任务样例。用户输入时,系统可以提示他补充什么信息;信息不够时,Agent 应该追问,而不是瞎猜;结果出来后,也不应该到此为止,而应该自然给出下一步,比如继续深化、转成表格、生成 PPT、保存为模板。

国内很多产品在这点上反而做得更顺手。比如指令中心、Prompt 模板、AI 写作入口、场景卡片,本质上都在解决“用户不知道怎么问”的问题。

国际产品这几年更强调工作区,比如 Canvas、Artifacts、Cursor;国内产品更强调场景入口和低门槛引导。两条路线最后应该会合在一起:既要有强工作区,也要让用户知道怎么开始。

AI应用的好用也需要教育用户

不过上面讲的,主要是从"从零做一个 Agent App"的角度。

现实里大多数应用没有这种机会。

存量系统几十万行代码,几百万用户已经习惯原来的操作路径,企业里还堆着一堆审批流和权限规则。AI 想进来,不可能要求所有人忘掉旧界面、重学一遍。更现实的路径是先长在原来的界面上,再慢慢把权重挪过去。

最典型的例子是 Cursor。

它最早出来的时候,和 VSCode 几乎一模一样。文件树、编辑器、终端,所有东西都在原来的位置上。它做的第一件事,是在编辑器里加了 Tab 补全和 Cmd+K 行内编辑。用户什么都不用改,代码该怎么写还怎么写,只是某些时刻可以让 AI 帮一下。

再往后是 Chat 面板,可以选中代码片段让 AI 解释、改写。再后来是 Composer,允许 AI 跨多个文件改,但每一次改动还要用户 review。一直到现在的 Agent 模式——用户给一个目标,AI 自己拆任务、改代码、跑测试、看报错、再改一轮,整个过程用户几乎不再需要看每一行 diff。

这条路 Cursor 走了两年多。

期间用户每用一次 Tab 补全、每接受一次 Cmd+K 的改写、每看一次 Composer 完成的 diff,其实都是在和 Cursor 建立一次小小的信任。等 Agent 模式真的上来的时候,用户已经愿意把"自己盯着代码"这件事暂时让出去了。

如果 Cursor 第一天就以 Agent 模式登场——打开就是一个空白输入框,告诉你"说出想做什么,剩下交给我"——绝大多数程序员会立刻关掉。不是它做得不好,是信任和习惯都还没准备好。

所以"传统应用"和"Agent App"之间,其实不是一道墙,而是一条很长的过渡带。

这条过渡带上的设计逻辑,和纯 Agent App 不完全一样。

传统骨架要保留。导航、按钮、页面层级不能拆,因为这是用户已有的心智地图。AI 是挂在骨架上的能力,不是替代骨架。

AI 能力要显性挂在某个节点上。表单旁边写"AI 自动填",搜索框旁边给一个"自然语言搜"的入口,编辑器里 Tab 一下能补全。因为用户的心智还停在传统路径上,他不会主动去想"这里能不能用 AI",必须界面提醒他。

每一次 AI 介入都要留下退路。AI 填的字段能一键清掉,AI 改的代码能一键还原,AI 写的草稿能整段重写。撤销越轻,用户越敢用,下一次也越愿意再点一下。

信任分级最好做到字段级别。表单里 AI 自动填的字段和用户自己填的字段,视觉上区分一下(比如紫色高亮、AI 图标),让用户随时清楚哪些是自己做的、哪些是 AI 替自己做的。

这一套做法没有"全 Agent App"听起来酷,但它是绝大多数存量产品唯一走得通的路径。企业里的产品经理更多时候不是在问"我能不能做一个 Agent App",而是在问"我这个表单怎么塞个 AI 进去又不挨用户骂"。

而且越来越多的产品会发现,就算最终目标真的是 Agent App,中间也得先走一遍这条混合路径。因为只有用户在一次次小的 AI 介入里慢慢建立信任,到后面更大胆的委托才有可能发生。

这里其实藏着一个更现实的问题:产品迭代要怎么算用户的迁移成本。

经常听到一句话——"用户讨厌改变"。但更准确的说法是,用户讨厌的不是改变本身,而是改变带来的成本超过了收益。

任何一次迭代,对用户来说都意味着几件事:要重新理解界面,要重新建立习惯,要承担在熟悉路径上出错的风险,还要重新校准对产品的预期。这些加起来,就是迁移成本。

如果新增的 AI 能力,能在几秒钟之内让用户感觉"下次还会用它",迁移成本就被收益盖过去了。如果用户要花一周才能搞懂新入口在哪儿,再强的能力也没人愿意试。

从这个角度回看 Cursor,它其实是把迁移成本拆到了最薄。

Tab 补全的迁移成本接近零——Tab 这个键在编辑器里本来就有意义,按下去之前不需要"决定"什么。Cmd+K 也只是多记一个快捷键,按错了 ESC 一下就退出。Chat 面板和 Composer 是新增的侧边区域,不打扰主编辑区。Agent 模式是新增的一个模式,老用户可以一辈子不切过去。

每一步迭代,给用户的是"多了一个能力",而不是"换了一个用法"。

反过来想,如果一个产品的迭代逻辑是"我把原来的入口拿掉了,现在所有人必须从 AI 对话框开始",那它就是在强行抬高迁移成本,让所有人统一交一份"重新学习费"。Windows 8 拿掉开始菜单、Snapchat 2018 年的改版,都是这个套路。结果大家都看到了。

所以做存量产品的 AI 化,有几个判断比"AI 用什么模型"更重要。

高频路径上不要动。用户每天用十几次的入口、按钮、快捷键,碰一下都会引起大面积不适。AI 要进来,最好挂在低频或新增的位置。

新增的 AI 入口要长得像产品里已经存在的东西。按钮还是按钮的形状,快捷键用常见的组合,AI 入口放在用户熟悉的搜索框或菜单附近。视觉和交互都复用旧的肌肉记忆,用户第一次看见就知道大概怎么用。

保留逃生通道。每个 AI 能力都要能被关掉,或者至少能被忽略。让坚持用旧方式的用户感觉不到压力,他们才有可能在某天闲下来时自己点开来试一下。

迭代节奏要给用户留适应时间。同一个产品三个月里改五次 AI 入口位置,任何重度用户都会崩溃。每加一个新能力,最好让它在原位置稳定一段时间,再考虑下一步。

这些都不是产品经理拍脑袋决定的事,它们其实是在算一笔很具体的账:这次迭代让多少用户因为新能力收益而开心、让多少用户因为迁移成本而难受,差值能不能为正。

越大的存量,杠杆越高。一个 MAU 一万的产品改改没事,一个 MAU 一亿的产品改一下,等于一亿份"重新学习费"同时被扣。所以越大的公司在 AI 化上反而越克制——它们不是看不到 Agent 的潜力,是承担不起一次失败的迁移。

这也是为什么很多看起来"慢"的大厂,长期看反而稳稳地把 AI 渗透了进去。Microsoft 在 Office 里加 Copilot,先做侧边栏,再做行内,再做跨文档,每一步都让原来的功能完全可用。Notion 把 AI 缩成一个 /ai 命令,藏在已有的快捷指令体系里,你不用都意识不到它存在。这些克制,本质上都是在控制迁移成本。

回到 Agent App 的设计本身,这给了一个挺简单的判断标准:任何一个新加的 AI 能力,如果回答不上"用户为什么愿意付这份迁移成本",那它大概率就是设计师的自嗨。

AI应用的界面更简单?

还有一个很反直觉的地方。

AI 应用看起来界面更少,但它其实需要展示的信息更多。

因为用户不仅要看结果,还要看过程、状态、引用、工具调用、风险提示、下一步建议。尤其是任务越复杂,越不能只给一个结果。

如果全部展示出来,页面会像日志系统,没人想看。

如果全部藏起来,用户又会觉得这是黑盒,不敢信。

所以 Agent App 的简洁感,不来自少展示,而是会判断“什么时候展示什么”。

默认情况下,用户只需要看到最终结果和关键判断。但关键判断旁边,最好能挂上证据和引用。执行过程可以折叠,但应该允许展开。高风险操作不能折叠,必须跳出来确认。出错时也不要只说失败,而要告诉用户发生了什么、为什么、接下来能怎么恢复。

这时候 UI 就不是传统意义上的固定页面了,而更像一套动态组件系统。

不同的数据,应该长成不同的样子。新闻类的内容看起来就该像新闻,代码改动得是 diff 的样子,研究结论得带着证据链,审批任务得看出流程节点,数据分析得有口径和图表。

如果所有东西都用 Markdown 文字流输出,短期看很省事,长期一定会变得难用。

因为 Agent 做的事情越复杂,越需要结构化展示。

传统 App 的层级通常是从入口往下走:主页、分类、列表、详情、操作。

Agent App 很多时候是反过来的。

用户先拿到结果,然后从结果往回看:这个结论怎么来的?用了哪些资料?哪一步推理有问题?如果我改一个假设,会不会得到不同结果?能不能基于这个结果继续生成下一步?

这就让 Agent App 的结果页很难再当成终点处理。它更像一个新的起点——用户从这里继续往下走,而不是看完关掉。

一个好的结果页,不应该只停在“这是答案”。它应该允许用户展开某个结论的来源,查看 Agent 做过哪些步骤,修改某个条件重新跑,对某个片段继续追问,把结果转成下一步任务,甚至保存成模板或工作流。

这也是我现在越来越在意“结果反溯”这件事的原因。

以前我们设计入口层级,现在要设计结果背后的溯源层级。

如何获取用户信任?

很多 Agent 产品会很喜欢强调“全自动”。

这很好理解,因为全自动听起来最有冲击力。但真到用户那里,尤其是涉及钱、客户、文件、权限、发布、发送这些动作时,用户不会因为你说全自动就放心。

更合理的方式应该是渐进式委托。

一开始,Agent 只给建议。它先证明自己能理解问题。下一步,它生成草稿。用户看完、改完,再决定是否采用。再下一步,它可以准备执行动作,但关键节点要让用户确认。最后,对于低风险、高频、已经被验证过的任务,才允许它自动完成,然后事后报告。

这个过程其实很像人和人之间建立信任。你不会第一次见面就把银行卡、邮箱、公司后台权限都交给一个人。Agent 也是一样。

所以这里需要一个很实用的设计:风险分级。

低风险的事情,比如搜索、读取、总结,可以自动做。中风险的事情,比如修改内部记录、生成对外材料,至少要给预览。高风险的事情,比如付款、删除、发邮件、提交审批,必须确认,而且要有操作记录、影响范围和回滚方案。

这套机制可能没有“全自动”听起来酷,但更接近真正能上线的产品。

 写到这里,我自己脑子里 Agent App 的设计变化大概是这样一条线:用户越来越不想学操作路径了,所以交互从命令式滑向意图式;用户的角色从操作员后退到委托者和监督者,所以 UI 也从一堆按钮和页面,长出了任务工作区这种东西。而工作区里真正值得花力气的,不是炫技,是把状态、证据、控制权和恢复机制做扎实。

换句话说,一个好的 Agent App,其实就两件事拧在一起:它能不能帮用户省事,以及用户敢不敢真的把事情交给它。前者靠自动化能力,后者靠信任链设计。少了任何一边,体验都会立刻塌下来。

如果真的要检查一个 Agent App,我现在会看一些很具体的东西:用户第一次打开时知不知道能把什么任务交给它;输入框之外有没有任务样例和能力入口;信息不足时它会不会追问;执行前能不能看到计划;执行中能不能看到状态;结果出来后能不能追溯来源;高风险操作有没有确认点;用户能不能暂停、接管、回滚;出错时有没有恢复路径;一次成功任务能不能沉淀成模板或工作流。

如果这些问题答不上来,那它大概率只是一个包装成产品的聊天框。

总结

总结一下就是,在现在越来越简单化,自动化的AI 应用体验里,我们越来越需要更加深入的提供给用户的应用服务,到底是解决了他们的什么问题?到底有多少种可能,怎么样让他们更方便,又不会限制灵活性,自动化高,又有高质量,才能让产品,口口相传,有更好的口碑

之前一直很想分享这方面的内容,但是其实一直犹豫于这上面三个点任意展开一点都是非常巨大的内容,一直犹豫没法,先做个简单的记录,总结一下,后续再慢慢会展开聊,每一个部分我收集整理到的一些优秀案例,让更多跟我一样的 VibeCoder 做出更多有意思的作品

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-20 07:43:28 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/642584.html
  2. 运行时间 : 0.380764s [ 吞吐率:2.63req/s ] 内存消耗:4,903.09kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=62e3fe62f330a0c2f813e53e6d6671ad
  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.001062s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001792s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001619s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.023594s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001501s ]
  6. SELECT * FROM `set` [ RunTime:0.000544s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001511s ]
  8. SELECT * FROM `article` WHERE `id` = 642584 LIMIT 1 [ RunTime:0.002028s ]
  9. UPDATE `article` SET `lasttime` = 1779234208 WHERE `id` = 642584 [ RunTime:0.122194s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.005857s ]
  11. SELECT * FROM `article` WHERE `id` < 642584 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004891s ]
  12. SELECT * FROM `article` WHERE `id` > 642584 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.015072s ]
  13. SELECT * FROM `article` WHERE `id` < 642584 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.006151s ]
  14. SELECT * FROM `article` WHERE `id` < 642584 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002389s ]
  15. SELECT * FROM `article` WHERE `id` < 642584 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.010291s ]
0.384422s