乐于分享
好东西不私藏

用AI写代码,你真的需要OpenSpec

用AI写代码,你真的需要OpenSpec

用AI写代码,你真的需要OpenSpec

你有没有这样的经历:让AI帮你写个功能,它在聊天框里一通猛操作,代码是写完了,但你回头一看——它理解错了你的意思,或者干脆写了一套你根本不想要的东西。更惨的是,你花了半小时调试才发现,问题出在一开始就没对齐需求上。

这就是AI编码的"阿喀琉斯之踵":需求不清晰,AI再聪明也白搭。

今天想聊聊一个正在解决这个问题的新工具——OpenSpec。它不是又一个AI编码助手,而是一套让"人"和"AI"在写代码之前先达成共识的方法论和工具链。GitHub上已经超过5万Star,社区热度很高。

一、问题出在哪

先说说为什么需要这么个东西。

现在用AI写代码大致有两种风格。一种是"vibe coding"——直接跟AI说"帮我做个xxx",然后祈祷结果是对的。另一种是仔细写prompt,把需求掰开了揉碎了喂给AI。

两种方式都有问题。前者太随意,产出质量完全看运气;后者看似严谨,但所有上下文都存在聊天记录里——关掉会话就没了,换个AI工具就全丢了,新同事来了更是一头雾水。

这就好比让一个建筑师在脑子里记住所有的设计图纸,然后直接动手盖房子。没有蓝图、没有施工图、没有验收标准,全凭记忆和感觉。

OpenSpec想做的事很简单:给AI编码也加上"蓝图"。

二、OpenSpec是什么

OpenSpec由Fission-AI团队开发,全称是Spec-Driven Development(规范驱动开发)框架。

一句话概括:在写任何一行代码之前,先和AI就"要做什么"达成明确共识,并把这份共识记录成结构化的活文档,作为整个开发过程的唯一事实来源。

它有四个核心理念:

流动而非僵化——没有死板的阶段门槛,你可以随时回头改前面的设计。

迭代而非瀑布——需求会变,理解会加深,这很正常。改规范就好,不用推倒重来。

简单而非复杂——几秒钟就能初始化,立刻开始工作,不需要学习一套重量级的流程。

为存量项目而生——大多数开发工作是在已有代码上改东西,不是从零开始。OpenSpec的"增量规范"设计就是为此优化的。

关键的一点:OpenSpec不依赖任何AI服务商,不需要API Key,所有规范都存在你的代码仓库里,跟着代码一起版本管理。

三、核心概念拆解

理解OpenSpec需要掌握几个关键概念,我用大白话解释一下。

3.1 Spec(规范)

Spec是OpenSpec的核心,它描述的是系统应该怎么表现,而不是怎么实现。

每个Spec包含两部分:需求(Requirement) 和场景(Scenario)

需求描述"系统必须做什么",用RFC 2119关键词(SHALL、MUST、SHOULD)来表述强度。场景是需求的具体例子,用经典的"Given-When-Then"格式。

举个例子,一个"用户登录"的Spec可能长这样:

需求:会话过期

系统SHALL在用户不活动24小时后使会话失效。

场景:默认超时

·GIVEN 用户已认证登录

·WHEN 24小时内没有任何活动

·THEN 使会话token失效

·AND 要求重新认证

注意:这是行为契约,不是实现方案。它不关心你用JWT还是Session,只关心"24小时不活动就要重新登录"这个行为。

3.2 Change(变更)

Change是你想对系统做的修改。每个变更都有自己的文件夹,里面包含理解这个变更所需的所有材料。

openspec/changes/add-remember-me/          ├── proposal.md← 变更提案(为什么做、做什么)          ├── design.md← 技术设计(怎么做)          ├── tasks.md← 任务清单(具体步骤)          └── specs/← 增量规范(哪些需求变了)          └── auth-session/          └── spec.md

这个设计很巧妙——每个变更都是自包含的。你不需要翻遍整个项目才能理解"这次改了什么",打开变更文件夹就全清楚了。

3.3 Delta Spec(增量规范)

这是OpenSpec最亮眼的设计,也是它能优雅处理存量项目的关键。

Delta Spec不重写整个规范,而是用标记描述变化的部分

·ADDED:新增了哪些需求

·MODIFIED:修改了哪些需求(以及从什么改成了什么)

·REMOVED:删除了哪些需求

举个例子,你想给登录加上"记住我"功能,Delta Spec是这样的:

## ADDED Requirements          ### Requirement: Extended Session with Remember Me          用户勾选"记住我"后,系统SHALL将会话有效期延长至30天。          #### Scenario: Extended session with remember me          - GIVEN 用户在登录时勾选了"记住我"          - WHEN 30天过去          - THEN 使会话token失效          - AND 清除持久化cookie          ## MODIFIED Requirements          ### Requirement: Session expiration          - 系统SHALL支持可配置的会话过期时间。          (之前:系统SHALl在配置时间后过期会话)

这个设计为什么重要?因为在真实项目中,大多数变更都是"改一点点"而不是"重写全部"。用Delta描述变更,既精确又轻量,还能在归档时自动合并回主规范。

3.4 Artifact(制品)

制品是变更文件夹里的各种文档:

制品

用途

回答的问题

proposal.md

变更提案

为什么做?做什么?

specs/

增量规范

哪些行为变了?

design.md

技术设计

怎么实现?

tasks.md

任务清单

具体步骤是什么?

它们之间的关系是递进的:提案定了方向 → 规范定了行为 → 设计定了方案 → 任务定了步骤。但你可以随时跳回去修改任何一个,没有死板的顺序要求。

四、工作流:四步闭环

OpenSpec的核心工作流非常简单,就四步:

第一步:Propose(提案)

告诉AI你想做什么:

/opsx:propose add-dark-mode

AI会自动创建变更文件夹,生成proposal.md、Delta Specs、design.md和tasks.md。它会扫描已有的规范和代码,理解当前系统,然后生成结构化的变更提案。

第二步:Apply(实施)

/opsx:apply

AI按照tasks.md里的清单逐步实现代码。因为有明确的任务列表和验收标准,AI不会跑偏。

第三步:Sync(同步)

/opsx:sync

实施过程中如果发现了新问题、需要调整设计,可以同步更新各个制品,保持文档和代码的一致性。

第四步:Archive(归档)

/opsx:archive

变更完成后,归档操作会:

·把Delta Specs自动合并回主规范

·将变更文件夹移到archive目录,保留审计记录

·确保openspec/specs/始终代表系统的当前状态

一个闭环下来,你不仅得到了代码,还得到了一份完整的、和代码同步的行为规范。

五、实战演示:给应用加暗黑模式

假设我们要给一个Web应用添加暗黑模式。看看用OpenSpec怎么走。

启动提案:

你: /opsx:propose add-dark-mode          AI: Created openspec/changes/add-dark-mode/          ✓ proposal.md — 用户要求暗黑模式,减少夜间使用的眼部疲劳          ✓ specs/— 新增"主题切换"需求,含手动切换和系统偏好检测场景          ✓ design.md— 使用CSS自定义属性 + React Context方案          ✓ tasks.md— 8个具体实现步骤          Ready for implementation!

AI生成的proposal.md:

意图:用户反馈夜间使用时白色背景太刺眼,需要暗黑模式。

范围:添加主题切换设置、支持系统偏好检测、localStorage持久化。

AI生成的Delta Specs(specs/ui/spec.md):

新增需求"主题选择":系统SHALL允许用户在浅色和暗黑主题之间切换。

场景一:手动切换——点击切换按钮,主题立即改变,偏好跨会话保持。

场景二:系统偏好——没有保存偏好时,自动跟随系统配色方案。

AI生成的tasks.md:

1.主题基础设施:创建ThemeContext、添加CSS变量、实现localStorage

2.UI组件:创建ThemeToggle组件、添加到设置页面

3.样式:定义暗黑色板、更新组件使用CSS变量

执行实施:

你: /opsx:apply          AI: Working through tasks...          ✓ 1.1 Created ThemeContext with light/dark state          ✓ 1.2 Added CSS custom properties to globals.css          ✓ 1.3 Implemented localStorage persistence          ✓ 2.1 Created ThemeToggle component          ✓ 2.2 Added toggle to settings page          ✓ 2.3 Updated Header with quick toggle          ✓ 3.1 Defined dark theme color palette          ✓ 3.2 Updated all components to use CSS variables          All tasks complete!

归档:

你: /opsx:archive          AI: Archiving add-dark-mode...          ✓ Merged specs into openspec/specs/ui/spec.md          ✓ Moved to openspec/changes/archive/2025-01-24-add-dark-mode/          Done! Ready for the next feature.

整个过程,需求始终清晰、过程始终可追溯、文档始终和代码同步。

六、和同类工具对比

市面上类似思路的工具还有几个,做个横向对比。

vs GitHub Spec Kit:Spec Kit很全面但偏重量级,有严格的阶段门控,大量Markdown文档,还需要Python环境。OpenSpec更轻量,让你自由迭代,不想写design.md就可以跳过。

vs AWS Kiro:Kiro功能强大,但你被锁定在它的IDE里,模型选择也受限。OpenSpec和你已有的工具配合,Claude Code、Cursor、Windsurf、Copilot……二十多个AI助手都支持。

vs 什么都不用:没有规范的AI编码,本质上就是在用"模糊的提示"碰运气。OpenSpec在不增加太多仪式感的前提下,带来了可预测性。

vs 传统需求文档:传统需求文档写完就放那儿落灰了。OpenSpec的规范是活的——它跟着代码一起变,通过Delta Specs精确追踪每一次变化,永远是系统当前行为的准确描述。

还有一个容易被忽视的优势:工具无关性。今天你用Claude Code,明天可能换Cursor,后天可能又换别的。规范存在你的仓库里,不绑定任何特定AI工具。

七、谁适合用、怎么开始

适合的场景

个人项目:即使是一个人开发,有规范也能让AI更准确、减少返工。10分钟梳理需求,可能省下几小时的调试时间。

团队协作:规范跟着代码走,通过Git PR来审查变更。新成员看规范就能理解系统怎么运作,不用翻聊天记录或者问老员工。

存量项目:OpenSpec为存量项目优化。你不需要一开始就把所有模块都写好规范,用到哪里写到哪里,渐进式引入。

多AI工具混用:团队成员各用各的AI工具,但共享同一套规范。规范就是人机之间、机器之间、人人之间的"公共语言"。

可能不适合的场景

如果你只是写个一次性脚本,或者项目的寿命就是几个小时,那确实没必要上规范。

如果你期待的是一个"全自动"的工具——不需要你读规范、不需要你思考、AI自己搞定一切——OpenSpec不是干这个的。它的前提是你愿意花几分钟想想"到底要做什么"。

快速上手

三步就能开始用:

安装:

[bash]

npm install -g @fission-ai/openspec@latest

初始化:

[bash]

cd your-project          openspec init

开始第一个变更:

在你的AI工具里输入:

/opsx:propose 你的功能描述

就这样。不需要配置API Key,不需要注册账号,不需要学习复杂的概念。先用起来,遇到需要深入理解的地方再回头看文档。

八、我的看法

OpenSpec解决的核心问题不是技术问题,而是协作问题——人和AI之间的协作。

过去几年,AI编码工具的能力突飞猛进,但我们使用它们的方式还停留在"聊天"层面。把需求放在聊天记录里,就像把建筑图纸放在餐巾纸上——能用,但不靠谱。

OpenSpec提出了一种更好的方式:把需求从"聊天"升级为"文档",从"临时"升级为"持久",从"模糊"升级为"结构化"。

它不会让AI变得更聪明,但能让AI的使用变得更可控。就像项目管理方法论不会让程序员写代码更快,但能让整个团队产出更可预测。

5万Star说明了一件事:很多开发者遇到了同样的问题,也认可这个解决思路。

如果你经常和AI写代码,而且经常遇到"AI理解错需求"或者"改来改去效率低"的问题,花10分钟试试OpenSpec,可能会有意想不到的收获。

参考资料:

·OpenSpec官网:https://openspec.dev/

·GitHub仓库:https://github.com/Fission-AI/OpenSpec

·OpenSpec概念文档:https://lzw.me/docs/openspec/en/concepts.html

·OpenSpec入门指南:https://lzw.me/docs/openspec/en/getting-started.html

·Jimmy Song:OpenSpec与SpecKit——AI时代的规范驱动开发新实践

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-25 20:54:17 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/667874.html
  2. 运行时间 : 0.107609s [ 吞吐率:9.29req/s ] 内存消耗:4,690.42kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=77a4d55e520c1a24d9cc1ea694d486bc
  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.000666s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001072s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000363s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000290s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000496s ]
  6. SELECT * FROM `set` [ RunTime:0.000208s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000546s ]
  8. SELECT * FROM `article` WHERE `id` = 667874 LIMIT 1 [ RunTime:0.003371s ]
  9. UPDATE `article` SET `lasttime` = 1779713657 WHERE `id` = 667874 [ RunTime:0.014760s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000453s ]
  11. SELECT * FROM `article` WHERE `id` < 667874 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000657s ]
  12. SELECT * FROM `article` WHERE `id` > 667874 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000369s ]
  13. SELECT * FROM `article` WHERE `id` < 667874 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002549s ]
  14. SELECT * FROM `article` WHERE `id` < 667874 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000822s ]
  15. SELECT * FROM `article` WHERE `id` < 667874 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005144s ]
0.109356s