乐于分享
好东西不私藏

一个 6.9 万星的开源项目,把一整家软件公司塞进了 AI:从业务架构到技术架构,拆解 MetaGPT

一个 6.9 万星的开源项目,把一整家软件公司塞进了 AI:从业务架构到技术架构,拆解 MetaGPT

先看一件事。我给它一句话——write a 2048 game,然后什么都没再管。它内部一支有名有姓的 AI 团队就自己开工了:先有一个团队负责人掂量这活多大、决定怎么走,产品经理把需求写成一份正经的文档,架构师据此画出类图和时序图,工程师严格照着设计写出代码。最后落到磁盘上的,是一个分门别类、可直接接手的项目目录——需求、设计图、源码,一样不少。

中间没有我。像一家真实软件公司里的同事一样,一个把交付物递给下一个,各写各的文档,最后合出一个能跑的东西。

这不是我编的剧本,是 GitHub 上一个叫 MetaGPT 的开源项目自带的示例工程。它由 DeepWisdom(深度赋智) 团队牵头开发,背后有一篇被 ICLR 2024 收录的 论文。截至 2026 年年中,它在 GitHub 上攒下了将近 6.9 万颗星、8800 多次 fork,是“多智能体 + 软件开发”方向最有代表性的开源框架之一。

它的一句话定位,写在项目主页最显眼的地方:“第一家 AI 软件公司,迈向自然语言编程。” 你输入一句需求,它输出用户故事、竞品分析、需求文档、数据结构、API、代码——把一家软件公司从接需求到交付的整条链路,搬成了一条 agent 流水线。

先把一个底线说清楚,免得期待错位:MetaGPT 能稳定跑出来的,是中小规模、需求明确的项目(小游戏、小工具、脚本),它不是能替你造一个复杂线上系统的“一键接管”神器。它更像一个把软件工程的标准流程(SOP)固化下来、让一队 AI 照着走的框架。把这条底线放好,我们来做这篇真正要做的事:从业务架构和技术架构两个层面,把这个项目彻底拆开。

下面这篇的所有产物——需求文档、类图、时序图、代码——都取自 MetaGPT 官方仓库里那个 2048 示例工程(tests/data/demo_project),是它跑完整套流程后真实吐出来的、互相对得上的一套东西,不是我手写的示意。我们就顺着这一套,看它到底是怎么搭起来的。


〇、先看它怎么跑起来:一句话,一家 AI 公司开工

先看它实际是怎么被一句话拉起来的

它是个标准 Python 项目,建好环境、装上依赖、配一个大模型的 key(支持 OpenAI、Anthropic、DeepSeek、Qwen、GLM 等十多家),就能用。最简单的跑法是命令行一句话:

metagpt "write a cli 2048 game"

或者当成库嵌进代码,核心也就一句:

from metagpt.software_company import generate_reporepo = generate_repo("Create a 2048 game")   # 传入一句需求print(repo)                                   # 打印出生成的项目路径

一句 generate_repo("write a 2048 game"),把一句自然语言需求丢进去,那支 AI 团队就自己开工了。当需求需要走完整流程时,它做的第一件事,不是急着写代码,而是先让产品经理把这句话展开成一份正经的产品需求文档。下面是官方 2048 示例工程里真实产出的 PRD 节选(字段都是钉死的):

Original Requirements:write a 2048 gameProduct Goals:打造有黏性、好玩的游戏体验;保证流畅的性能与响应;提供可定制的玩法设置。User Stories:作为玩家,我希望能在不同设备和屏幕尺寸上玩;作为玩家,我希望随进度提升难度;作为用户,我希望能撤销上一步。Requirement Pool:[P0] 实现游戏逻辑与界面 · [P1] 加入多难度和计分 · [P2] 集成自定义设置与撤销

一句“write a 2048 game”,被扩写成了产品目标、用户故事、带优先级的需求池——这一步的产出,就成了下一环架构师开工的输入。整条流水线跑完,它在 workspace/ 下留给你的是一个真实的项目目录:需求文档、设计图、源代码,各归各位。


一、业务架构设计:它在“业务上”复刻了一家软件公司

理解 MetaGPT,先别看代码,先看它在“业务”上模拟了什么。

答案是:一家真实软件公司交付一个项目的完整流程。 现实里没有哪个项目是一个人从需求想到上线——先有人接住需求、拆活派活,产品经理把模糊想法写成需求文档,架构师定技术方案,工程师照着写代码。MetaGPT 把这套分工,一比一搬成了一条 agent 流水线。

一条角色分明的协作流水线

它把软件公司的 SOP(标准作业流程)排成了一条接力链:需求文档往下传给设计,设计往下传给编码,一环接一环。这就是那句著名口号的由来——“Code = SOP(Team)”:把标准流程套在一队 LLM 身上,就能产出代码。

有意思的是,源码里给每个角色都起了人名(不是冷冰冰的职位代号),运行时它们就用这些名字互相喊话、递交付物。摊开看,这支团队是这样分工的(职责都摘自源码里各角色的 goal 定义):

  • Mike|团队负责人(TeamLeader):接住用户需求,先掂量这活多大、规划要做哪些事、派给谁,并在过程中协调。它是整个团队的“大脑”和“调度台”。
  • Alice|产品经理(ProductManager):把一句话需求,写成一份正经的产品需求文档(PRD)——产品目标、用户故事、竞品分析、需求池。它的目标定义原文就是“Create a Product Requirement Document”。
  • Bob|架构师(Architect):读 PRD,产出系统设计——目标写得很直白:“设计一个简洁、可用、完整的软件系统”。它交付的不是空话,而是数据结构与接口(一张类图) 和 程序调用流程(一张时序图)。
  • Alex|工程师(Engineer):照着架构师的设计写代码。关键是,它不许自己改设计——这背后的约束,后面技术架构会细讲。
  • David|数据分析师(DataAnalyst):接手数据相关的活(数据分析、脚本执行、终端操作、文档问答等),是这支团队里偏“动手跑”的一员。

值得一提的是,这份默认名单其实近两年悄悄变过:早年满网都在讲的“产品经理 → 架构师 → 项目经理 → 工程师 → 测试”固定五人流水线,在今天的源码里已经重排——generate_repo() 真正雇进团队的是上面这五个角色,老的项目经理、测试工程师(QaEngineer)都被注释掉了,取而代之的是一个统管调度的团队负责人和一个数据分析师。也就是说,它从“一条写死的 SOP 流水线”,进化成了由团队负责人编排的 agent 团队

一句话概括这套业务架构:它把“一家软件公司交付一个项目”拆成了角色分明、各有交付物的协作链——接需求 → 写需求 → 定设计 → 照图编码,上一环的产出,就是下一环开工的输入。

MetaGPT 业务架构:一句 write a 2048 game 进去,Mike/Alice/Bob/Alex/David 一支命名 AI 团队接力——团队负责人调度、产品经理写 PRD、架构师出类图时序图、工程师照图编码,每一环产出规整交付物

二、技术架构设计:这条流水线在“技术上”怎么跑起来

业务流程清楚了,真正难的是:怎么把一队 agent、多轮协作、文档交接、模型调用,工程化成一个稳定可跑的系统?这就是技术架构要解决的。

MetaGPT 的技术架构,有三根支柱最值得拆:结构化交接、消息总线、预算闸门。

2.1 通信层:agent 之间传"结构化文档",而不是"聊天记录"

这是 MetaGPT 最核心、也最容易被讲丢的一个设计。

多 agent 框架有两条路线。一条是让 agent 们用自然语言互相聊(代表作是另一个明星项目 ChatDev,它把公司做成一群 agent 开会对话)。这条路的问题是:agent 一多、话一长,就容易寒暄、复述、跑题,token 烧得快还容易失焦。

MetaGPT 走的是另一条:agent 之间主要通过“结构化文档”协作。 每个角色的产出,不是一段大白话,而是字段固定的文档。这不是我脑补的,是写在它每个 action 的输出定义里的——

产品经理写的 PRD,字段是钉死的:

Product Goals(产品目标)、User Stories(用户故事)、Competitive Analysis(竞品分析)、Requirement Pool(需求池)、Anything UNCLEAR(尚不明确之处)

架构师出的设计,字段也是钉死的:

Implementation approach(实现思路)、Data structures and interfaces(数据结构与接口,一张 Mermaid 类图)、Program call flow(程序调用流程,一张 Mermaid 时序图)、Anything UNCLEAR

尤其值得注意的是架构师那两项:它交出的“数据结构与接口”是一张 Mermaid 类图,“程序调用流程”是一张 Mermaid 时序图——也就是说,架构师给下游的不是几段描述,而是可直接渲染的工程图纸。下游工程师接到的是图,不是话。

MetaGPT 的结构化交接:产品经理交出字段固定的 PRD,架构师交出 Mermaid 类图 / 时序图,工程师被要求严格照图实现——上一环的产出是下一环必须遵守的契约

最能说明问题的是工程师那一环。MetaGPT 在给工程师的提示词里,有一句近乎命令的话(原文):

“YOU MUST FOLLOW ‘Data structures and interfaces’. DON'T CHANGE ANY DESIGN.” (你必须遵循“数据结构与接口”设计。不许改动任何设计。)

这就是结构化交接的威力:架构师把类图和接口定死,工程师只能照着实现,不许自由发挥。上一环的产出,是下一环必须遵守的契约。多 agent 系统最怕的“各自理解、越走越歪”,就是被这种“传文档、守契约”的方式摁住的。一句话总结:ChatDev 让 agent 开会聊,MetaGPT 让 agent 交文档。

2.2 编排层:一条"消息总线",谁该收就收

那这些文档在 agent 之间是怎么流动的?靠的不是谁直接调用谁,而是一个共享的消息环境(Environment)

可以这么理解:整个团队待在一个共享的“工作空间”里,任何一个 agent 产出结果,都通过 publish_message(发布消息)扔进这个空间;每个 agent 各自“订阅”自己关心的消息类型,该自己接的活就接走。产品经理写完 PRD 发布出去,架构师因为订阅了“PRD 类消息”而接住它、开始设计——发布 / 订阅,而不是一根写死的调用链。

这套设计的好处是解耦:加一个角色、改一处流程,不用去重连整条流水线,只要让新角色订阅它该关心的消息即可。而前面讲的 TeamLeader,正是靠一个 publish_team_message 工具,在这个消息空间里做调度和派活。

2.3 成本层:一个"预算闸门",烧完就停

多 agent 系统绕不开一个现实问题——烧钱。一队 agent 来回协作、反复评审,如果不设上限,token 成本可能失控。

MetaGPT 的处理很直接:给整个项目设一个投资额(investment)。你在启动时给它一笔“预算”(比如几美元),它内部有一个成本管理器(cost_manager)盯着累计花费,每跑一步前先查一次余额(_check_balance)——一旦花费触到预算上限,直接抛出“预算不足”停下来,而不是闷头把钱烧光。

这个设计朴素但重要:它把“AI 公司”这个比喻落到了实处——你是老板,你投多少钱,它就干多少活,钱花完就收工。 对一个可能失控的多 agent 系统来说,这道闸门是必要的安全阀。

2.4 产出层:代码严格照着设计图长出来

跑完之后,它不是给你一段聊天记录,而是在 workspace/<项目名>/ 下,生成一个真实的项目目录:需求文档在 docs/、设计图在 resources/(类图、时序图分开放)、源代码按文件清单一个个落好。

最能说明“照图施工”的,是把代码和设计图摆在一起看。前面架构师那张类图里,Game 类写着 move(direction)_move_leftadd_new_tile 这些方法——工程师真实产出的 game.py,就是一字不差地把它们实现了出来:

classGame:defmove(self, direction: str):if direction == "up":    self._move_up()elif direction == "down":  self._move_down()elif direction == "left":  self._move_left()elif direction == "right": self._move_right()defadd_new_tile(self):        empty_cells = self.get_empty_cells()if empty_cells:            x, y = random.choice(empty_cells)            self.grid[x][y] = 2if random.random() < 0.9else4# 九成出 2,一成出 4

类图里有的方法,代码里一个不少;类图里没有的,代码里也不会凭空冒出来。设计是契约,代码是对契约的兑现——这正是结构化交接一路贯穿到最后的结果。

这也是 MetaGPT 和“聊天式” AI 编程最不一样的地方:它的最终交付物是落在磁盘上、可直接接手的工程文件,而不是需要你再从对话里一段段抠出来的代码。


三、退一步看:它真正示范的,是"把软件工程的规矩,教给了一队 AI"

把业务架构和技术架构都拆完,会发现一条贯穿始终的主线——MetaGPT 赌的不是“单个 AI 更聪明”,而是“一队 AI + 一套规矩”。

它对 AI 的假设很清醒:单个模型直接写复杂项目,容易想到哪写到哪、前后不一致。于是它不追求一个全能的 agent,而是把软件工程几十年沉淀下来的协作规矩——先写需求再设计、设计定契约、编码守契约、产出用规整文档而非闲聊——固化成一套流程,套在一队各有分工的 agent 身上。

这和 2026 年整个 AI 领域的一个趋势是一致的:从“问一个大模型、拿一段代码”,走向“一队有角色、有流程、有交付物的 agent 协作产出”。MetaGPT 之所以值得拆,不在于它能不能替你写完所有代码,而在于它把“一家软件公司该有的分工与规矩”完整地落进了工程实现——从一句话需求,到 PRD,到设计图,到严格照图写出的代码,每一步都看得见、对得上。


四、它的天花板:架构再漂亮也兜不住的事

拆完架构,得把另一面说透。上面那套 2048 之所以能从头跑到尾、产物齐整,一半也因为它足够小、足够明确。换个更大的项目,同一套机制就没那么稳了。

它比你想象的脆弱,栽点常在“交接”这一环。 前面说过,MetaGPT 的角色之间靠严格格式的消息交接——这本是它压住幻觉的优点;但反过来,它也把稳定性押在了“每个 agent 的每一次回复,都要严格守住格式”上。链条越长、交接越多,大模型偶尔吐出一句不合规的内容(比如本该是 JSON 的地方给了段散文)的概率就越高;而只要下游一解析失败,整条流水线就可能断在半途。规划得越完整,这种“行百里者半九十”的断法就越可惜。所以你会看到:一个 2048 它跑得漂亮,一个带前后端和数据库的中型系统,它常常在中途某一次交接上掉链子。

它擅长的是“明确、中小规模”的项目。 一句话需求、边界清楚的小游戏小工具,它多数时候能跑得漂亮;但需求一模糊、系统一复杂、涉及大量外部依赖和真实业务约束,它就会力不从心——毕竟每个角色的“专业能力”,本质仍是大模型在按提示词扮演,不是真的资深工程师。

“照着设计写代码”是双刃剑。 结构化交接保证了不跑偏,但如果架构师那一步的设计本身就有缺陷,工程师“不许改设计”反而会把错误忠实地实现下去。规矩能防止散漫,防不住上游的判断失误。

它的价值在“怎么组织”,不在“替你交付一切”。 这套系统真正给你的,不是一个能一键接管所有开发的黑盒,而是一个看得见、可拆解的协作过程——你能看到一句需求怎么变成 PRD、PRD 怎么变成设计图、设计怎么约束出代码,以及工程上怎么用消息总线和预算闸门把这一切稳住。对于想搞懂“一个严肃的多 agent 系统到底怎么搭”的人来说,这种透明,远比“它能不能替我写完项目”值钱。

它没有让你从此不用写代码,但它让你看清了:要让一队 AI 像一家公司那样有序地协作产出,工程上到底得下多少功夫。


本文涉及的项目与资料:MetaGPT(DeepWisdom)、论文 arXiv:2308.00352、对比项目 ChatDev。文中的 PRD、类图、时序图、代码,均取自 MetaGPT 官方仓库自带的 2048 示例工程(tests/data/demo_project),为其真实产出。 提醒:MetaGPT 是研究与工程用途的开源框架,适合明确、中小规模的项目;生成结果需人工审阅后再用于生产,别当成能一键交付复杂系统的成品。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-09 12:58:00 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/843208.html
  2. 运行时间 : 0.126097s [ 吞吐率:7.93req/s ] 内存消耗:4,701.43kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1c8a28e59163c0a1689d0644c241913a
  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.000916s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001286s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000589s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000471s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000935s ]
  6. SELECT * FROM `set` [ RunTime:0.000363s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001070s ]
  8. SELECT * FROM `article` WHERE `id` = 843208 LIMIT 1 [ RunTime:0.000939s ]
  9. UPDATE `article` SET `lasttime` = 1783573080 WHERE `id` = 843208 [ RunTime:0.007423s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000485s ]
  11. SELECT * FROM `article` WHERE `id` < 843208 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000788s ]
  12. SELECT * FROM `article` WHERE `id` > 843208 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002048s ]
  13. SELECT * FROM `article` WHERE `id` < 843208 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005553s ]
  14. SELECT * FROM `article` WHERE `id` < 843208 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001440s ]
  15. SELECT * FROM `article` WHERE `id` < 843208 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001363s ]
0.128693s