乐于分享
好东西不私藏

AI 接工具太混乱?MCP——AI 世界的"USB-C 接口"一次讲明白

AI 接工具太混乱?MCP——AI 世界的"USB-C 接口"一次讲明白

上一篇我们讲了 Function Calling:让大模型学会了"看清单点兵"——知道该用哪个工具、传什么参数。(AI 是怎么“调用工具”的?用“脑和手”一个类比讲明白)但有个问题一直没回答:那份"工具清单"从哪来?谁负责把工具接进来?

一、一句话定义

MCP(Model Context Protocol,模型上下文协议),就是给 AI 应用集成外部工具定的一套标准协议——让"工具"和"应用"之间,像 USB-C 一样即插即用。

二、用 USB-C 理解 MCP

还记得以前出门带一堆线吗?手机用 Micro-USB,相机用 Mini-USB,耳机用 3.5mm,笔记本用专用电源口。每种设备一种接口,换设备就得换线。

USB-C 出来后,一根线走天下——手机、平板、耳机、显示器,同一个口都能接。不是设备变了,是接口标准统一了。

MCP 之于 AI 应用,就是 USB-C 之于电子设备。以前每个 AI 应用接每个工具都得单独"焊线"(写集成代码);有了 MCP,工具提供者做一个 MCP Server,应用接一个 MCP Client,两边一插就能用。

三、MCP 之前:一个 N×M 的噩梦

要理解 MCP 解决了什么,得先看没有它的时候有多乱。从两个角度来说。

从 AI 应用开发者的角度:你想让应用支持三个工具——查天气、发邮件、查数据库。每个工具背后是完全不同的技术:天气是 REST API,邮件是另一个 API,数据库是 SQL 连接。你得为每个工具单独写代码:读文档、构造请求、处理认证、解析返回、处理异常、写重试逻辑。

3 个工具,3 套代码。10 个工具?10 套。每加一个工具,就得从头开发一遍。

从工具描述的角度:不同的大模型,对工具描述的格式要求不一样。同一个"查天气"工具:

  • 给OpenAI的模型用,得写成 tools[].function 格式,参数用 JSON Schema
  • 给Anthropic的Claude用,得写成 tools[].input_schema 格式
  • 给Google Gemini用,得写成 functionDeclarations,类型名还得大写(STRINGOBJECT

换一个模型,工具描述就得重写一遍。

把两边乘起来:M 个 AI 应用 × N 个工具 = M×N 套集成代码。这就是著名的"N×M 问题"。每加一个工具,所有应用都得重新集成;每多一个 AI 平台,所有工具都得重新适配。

更麻烦的是,这些工具背后的形态五花八门:有的是 REST API(比如天气服务、GitHub),有的压根没有 API——本地文件系统、数据库、命令行工具。也就是说,连"让 AI 应用自动读现成的 API 文档"这条捷径都不存在,每个工具都得靠人来一个个接。

四、MCP 怎么解决的?

MCP 的世界里有两个新角色——MCP Server 和 MCP Client,加上 AI 应用本身,三方配合,把"工具提供"和"工具使用"彻底拆开:

① MCP Server(工具服务端)

工具提供者写一个 MCP Server 程序,把工具封装进去。Server 里包含两样东西:

  • 工具描述:工具叫什么名字、需要什么输入参数、用来干什么——用 MCP 统一的格式写好
  • 工具实现:实际执行工具的代码——构造请求、调用底层接口、处理返回结果、错误处理,全在里面

关键点:MCP Server 定义一次,所有兼容 MCP 的应用都能用。 Server 不需要关心下游用的是哪个模型。

② MCP Client(客户端)

AI 应用内部的一个组件,负责和 MCP Server 通信:

  • 连接 Server 后,自动发现有哪些工具可用
  • 收到调用指令后,转发给对应的 Server,拿回结果

③ AI 应用本身

比如 WorkBuddy、Claude Desktop、Cursor。它管理多个 MCP Client(每个 Client 对接一个 Server),还负责一个关键的翻译工作:

把 MCP Server 统一格式的工具描述,转换成自己所用的大模型需要的格式。

也就是说:MCP Server 用标准格式描述工具 → AI 应用读过来 → 转成 OpenAI 格式(或 Claude 格式、Gemini 格式)→ 喂给模型。Server 不需要知道调用方是哪个模型,模型也不需要知道工具背后是怎么实现的。

MCP Client 和 MCP Server 之间,用一套统一的"对话规则"通信,这套规则叫 JSON-RPC 2.0(一种很简单的约定:你发一段 JSON——你有哪些方法,参数是什么;我回一段 JSON——结果是什么)。至于消息走什么通道,有两种:

  • 本地通道(stdio,标准输入输出):MCP Server 是跑在你电脑上的一个程序,AI 应用直接启动它、和它通信——适合文件系统、数据库这类本地工具
  • 网络通道(HTTP):MCP Server 跑在远端服务器上,通过网络通信——适合 GitHub、腾讯会议这类云服务(MCP 规范里叫 Streamable HTTP,比普通 HTTP 多了"流式返回"能力:服务器可以边执行边把消息推回来,不用等全部算完)

这样,N×M 噩梦变成了 N+M:

  • 工具提供者:写一个 MCP Server,所有应用都能用
  • AI 应用:接 MCP 协议,所有工具都能用

五、一个完整例子:用 WorkBuddy 订腾讯会议

光讲架构太抽象,我们把流程走一遍。假设你对 WorkBuddy 说:"帮我订一个明天下午 3 点的腾讯会议,主题是项目周会。"

在背后,这一切是这样发生的:

1. 你输入问题,WorkBuddy(AI 应用)收到。

2. WorkBuddy 早已通过内部的 MCP Client,连上了腾讯会议的 MCP Server。 连接的时候,MCP Client 会向 Server 要一份工具清单,Server 回答:"我有 create_meeting 这个工具,需要主题、时间、参会人这些参数。" WorkBuddy 把这份工具描述转换成大模型能理解的格式,和你的问题一起发给大模型。

3. 大模型判断:这个问题需要用 create_meeting 工具,从你的话里抽出参数(主题="项目周会",时间="明天下午 3 点"),输出调用请求。

4. WorkBuddy 把调用请求交给 MCP Client,由它转发给腾讯会议的 MCP Server。

5. MCP Server 收到调用请求后,再去调用真正的腾讯会议服务 API:构造 API 请求、处理认证(比如用上配置文件里的 Token)、访问腾讯会议的云端接口。

6. 腾讯会议服务返回结果(会议号、入会链接)给 MCP Server。

7. MCP Server 把结果原路返回——先交给 MCP Client,再交给 WorkBuddy。

8. WorkBuddy 把结果拼回提示词,再发给大模型。

9. 大模型生成自然语言回复:"已为您创建会议,会议号是 xxx,入会链接是 xxx。"

10. WorkBuddy 把答案显示给你。

注意看:大模型负责的是"决策"(该调什么工具、传什么参数),MCP 负责的是"执行"(怎么调、怎么处理结果)。AI 应用居中调度,把两边连起来。

六、具体怎么用?WorkBuddy 连接器实操

在 WorkBuddy 中,MCP 连接器已经内置了一批常用工具,你不需要自己写 MCP Server。

连接器的信息来自一份本地配置文件(mcp.json),大概长这样:

{  "mcpServers": {    "github": {      "command""npx",      "args": ["-y""@modelcontextprotocol/server-github"],      "env": { "GITHUB_TOKEN""ghp_xxx" }    },    "filesystem": {      "command""npx",      "args": ["-y""@modelcontextprotocol/server-filesystem""/Users/me/Desktop"]    }  }}

配置里写明了三件事:Server 程序在哪command + args)、怎么启动、以及需要的认证信息env 里的 Token、密钥)。认证信息存在本地配置文件里,不上传到云端——哪些工具用哪些凭据,用户自己掌控。

打开 WorkBuddy,左侧进入「专家·技能·连接器」,顶部切到「连接器」标签,再点右上角「自定义连接器」,就能看到 MCP 服务管理界面。这里会列出已安装的 MCP Server,以及每个 Server 提供的工具。

在 MCP 服务管理界面里,你可以直接搜索、启用或禁用某个 MCP Server。下图中的 wechat-official-account 就是微信公众号连接器,展开后能看到它提供的 15 个工具,比如认证、草稿、发布、素材上传等。

每个 Server 的配置都来自本地的 mcp.json 文件。以微信公众号连接器为例,配置里写明了启动命令、Server 脚本路径,以及公众号的认证信息(AppID、AppSecret)。这些信息只存在本地,不上传云端。

{  "mcpServers": {    "wechat-official-account": {      "command": "/Users/***/.workbuddy/binaries/node/versions/22.22.2/bin/node",      "args": [        "/Users/***/.workbuddy/binaries/node/versions/22.22.2/lib/node_modules/wechat-official-account-mcp/dist/src/cli.js",        "mcp",        "-a",        "wx********",        "-s",        "91*********"      ],      "disabled": false    }  }}

配置好之后,在对话里直接使用即可。比如本文的写作过程中,我就用 WorkBuddy 的微信公众号连接器,把排版好的文章推送到公众号草稿箱——不需要写一行集成代码,认证、API 调用、结果处理全由连接器包办。

七、MCP 和 Function Calling 的关系

很多人把 MCP 和 Function Calling 搞混。其实它们解决的是完全不同层面的问题:

Function Calling
MCP
解决什么
模型侧的"调用决策"——该调谁、传什么参数
应用侧的"工具集成"——怎么发现、怎么连接、怎么执行
谁负责
大模型(脑)
AI 应用(手)
层面
模型的能力
应用的架构

两者配合工作:MCP 负责把工具集成进来、提供工具清单 → AI 应用把清单转成模型格式 → 模型用 Function Calling 决定调哪个 → AI 应用通过 MCP Client 执行 → 结果返回给模型。

MCP 不替代 Function Calling,而是让 Function Calling 有了"源源不断的工具来源"。

八、MCP 解决了什么?

总结一下,MCP 带来的核心价值是工具集成这件事的标准化和可插拔

1. 避免重复集成:每个 AI 应用不用为每个工具单独写集成代码——接一次 MCP 协议,所有 MCP Server 都能用。

2. 避免重复适配:工具提供者不用为不同 AI 应用分别提供工具描述——做一个 MCP Server,所有应用都能用。

3. 解耦维护:工具的描述或实现改了,MCP Server 更新即可,AI 应用不需要改代码、重新打包。

4. 灵活配置:用哪些工具、不用哪些,都可以在配置文件里自由搭配。

5. 安全认证:用户的身份信息(密码、Token)配置在本地配置文件里,不上传云端,用户自己掌控。

6. 工具多样:不限于 REST API,文件系统、数据库、命令行工具都能封装成 MCP Server。

九、一句话总结

MCP 是 AI 世界的 USB-C 接口——工具提供者做一个 Server,应用接一个 Client,即插即用。

上一篇 Function Calling 让模型学会了"写申请单"——决定该调什么工具、传什么参数。这一篇的 MCP,则解决了"工具从哪来、怎么接"的问题。Function Calling 是模型侧的决策能力,MCP 是应用侧的集成标准——一个管"想",一个管"做"。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-24 02:32:40 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/962295.html
  2. 运行时间 : 0.335641s [ 吞吐率:2.98req/s ] 内存消耗:4,843.29kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=039343f3f95ada44fef250642cff01fd
  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 ( 4.22 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 ( 10.56 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.11 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001106s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001643s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.004319s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.005864s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001630s ]
  6. SELECT * FROM `set` [ RunTime:0.000595s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001473s ]
  8. SELECT * FROM `article` WHERE `id` = 962295 LIMIT 1 [ RunTime:0.017260s ]
  9. UPDATE `article` SET `lasttime` = 1787509960 WHERE `id` = 962295 [ RunTime:0.015589s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000662s ]
  11. SELECT * FROM `article` WHERE `id` < 962295 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001216s ]
  12. SELECT * FROM `article` WHERE `id` > 962295 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001252s ]
  13. SELECT * FROM `article` WHERE `id` < 962295 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.049339s ]
  14. SELECT * FROM `article` WHERE `id` < 962295 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.032363s ]
  15. SELECT * FROM `article` WHERE `id` < 962295 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007490s ]
0.339352s