乐于分享
好东西不私藏

AI 编程工具落地大代码库:从"能用"到"好用"

AI 编程工具落地大代码库:从"能用"到"好用"

有一个现象正在变得普遍:同一个 AI 编程工具,在小项目里用起来像"同事",切到大仓里就变成"实习生"。它会读错文件、改错函数、在几十万行代码里迷路,甚至把两周前已经废弃的模块当成最新版本去修改。

这个问题通常被归结为"模型不够强"。但 Anthropic 在 2026 年 5 月发布的一篇 Claude Code 大规模部署(Claude Blog: How Claude Code works in large codebases: Best practices and where to start)回顾中给出了一个反直觉的结论:那些最成功的大型代码库落地案例,靠的不是更强的模型,而是一套围绕模型搭建的工程配置体系——他们称之为 Harness。

这篇文章以 Claude Code 的实践为轴,拆解 AI 编程工具在大代码库中从"能用"到"好用"的关键环节:代码库如何被导航、配置体系如何分层搭建、以及什么样的组织架构能让这套东西持续运转下去。

AI 编程工具在大代码库中的表现,80% 取决于代码库的配置质量和扩展体系,20% 取决于模型本身。模型决定下限,Harness 决定上限。

一、两种代码库导航路线:谁在"看"代码,差别很大

要理解为什么 AI 编程工具在大仓里容易失灵,先要搞清楚它是怎么"看"代码的。目前主流的代码库导航方式分为两条技术路线:基于 RAG 的索引检索和基于 Agent 的实时遍历。它们的工作原理不同,失效模式也完全不同。

路线一:RAG 索引检索

RAG(检索增强生成)方案的思路是先对整个代码库做一次嵌入(Embedding),把代码片段转成向量存进索引,查询时检索语义最接近的片段注入模型上下文。Cursor、Continue 等工具早期都采用过这种设计。

在小项目里这个方案运转得不错。但在大代码库中,它有一个根本性的失效路径:索引过时。几千个开发者每天提交新代码,嵌入管线的更新速度永远跟不上。等一个开发者发起查询时,索引反映的是几天前甚至几周前的代码状态。检索结果里可能出现一个上个月已经改名的函数、一个上轮 Sprint 里被删掉的模块,而模型不会收到任何"这已经过时了"的信号,它会当最新代码来用。

这也解释了某些工具在小项目里很聪明、切到大仓就变得不可靠的深层原因——不是模型变笨了,而是检索给它的上下文本身就是过期数据。

路线二:Agentic Search 实时遍历

Claude Code 走的是另一条路:不做全局索引,而是像人类开发者一样实时在文件系统里遍历——用 grep/ripgrep 搜关键字符串、按文件路径推断模块结构、跟随引用关系跨文件追踪。每次搜索都命中当前磁盘上的最新代码。

这种方式避开了索引过时的问题,不需要维护中心化的嵌入管线,每个开发者的实例直接从当前代码库读数据。但它也有自己的约束:它依赖模型知道"该去哪找"。如果模型对代码库结构一无所知,随便一个模糊的 grep 就会返回几千条命中,上下文窗口直接爆掉。

这引出了下一步的关键问题:如何让模型在遍历之前就有一个"地图"?答案就是下一节要展开的 Harness 配置体系。

对比维度
RAG 索引检索
Agentic Search 遍历
数据新鲜度
滞后,索引更新有延迟
实时,直接读磁盘文件
查询精度
语义匹配,可能漏掉关键文件
精确 grep,但依赖搜索词质量
基础设施依赖
需要维护嵌入管线 + 向量库
零额外依赖,文件系统即可
关键约束
索引过时导致误用废弃代码
模型需要足够的起始上下文知道去哪找
大仓适配
索引管线跟不上提交频率
依赖代码库配置质量,配置好则工作稳定

二、Harness 五层扩展阶梯:模型是引擎,配置是方向盘

Claude Code 团队在实践中观察到一个共识:影响 Claude Code 产出质量的不是模型参数,而是围绕模型搭建的扩展体系。他们把这一体系称为 Harness,由五个层次组成,每一层解决一类不同的问题,顺序搭建才能形成自增强的正反馈。

Harness 五层结构图

Claude Code Harness 五层扩展体系每一层按顺序搭建,后一层依赖前一层的上下文和规范基础第一层:CLAUDE.md 上下文文件—— 每次会话自动加载的项目"说明书"根级:全局架构 + 关键原则子目录级:局部约定 + 命令分层加载,按目录自动叠加📋 大仓里最基础的投资第二层:Hooks 事件钩子—— 关键节点上的自动脚本,让配置"自改进"Stop Hook:会话结束反思Start Hook:动态上下文注入规范化检查:lint / format📋 比 prompt 引导更可靠第三层:Skills 按需技能—— 专业工作流按需加载,不浪费上下文空间安全审查 / 文档生成 / 部署按路径作用域绑定递归依赖 Skill A → Skill B📋 不把一切塞进 CLAUDE.md第四层:Plugins 可分发插件—— 把好配置打包,新成员安装即用Skills + Hooks + MCP 打包托管市场分发更新避免"部族式"好经验📋 大组织的推广加速器第五层:MCP / LSP / Subagents—— 更深的外部连接、更精准的导航、更高效的分工MCP:连接内部工具和 APILSP:符号级代码导航Subagents:独立上下文并行📋 在基础层跑通后再加搭建顺序:CLAUDE.md → Hooks → Skills → Plugins → MCP/LSP/Subagents每一步都建立在前一步提供的上下文基础和规范约束之上来源:Claude Code at scale — Anthropic Blog, May 2026

下面逐一展开每层在做什么、为什么按这个顺序、以及最常见的误区。

第一层:CLAUDE.md — 先有地图,再出发

CLAUDE.md 是 Claude Code 每次会话启动时自动读取的上下文文件。它的设计类似于一个按目录层级叠加的"说明书":根目录文件描述全局架构和关键原则,子目录文件补充特定模块的构建命令、测试约定和局部规则。模型在目录树中移动时会自动加载沿途所有 CLAUDE.md 内容,形成一个累积的上下文底座。

这一层之所以是第一步,是因为它直接决定了后面所有层的信息起点。一个写好的 CLAUDE.md 文件不需要很长,但必须覆盖以下三类信息:项目的高层架构边界(哪些是核心模块,哪些是辅助代码)、本目录适用的命令(build/test/lint 命令和参数)、必须避开的陷阱(哪些文件是生成产物、哪些目录是第三方依赖、哪些操作不能做)。

最常见的错误是把 CLAUDE.md 当成一个"万能配置",把所有规则、提示、最佳实践都塞进去。结果就是每次会话的起点都被大量与当前任务无关的指令占据,反而降低了模型的有效上下文利用率。一个有效的原则是:根目录文件只写"指针"和"致命禁区",具体细节放到子目录文件和 Skills 里去。

第二层:Hooks — 让配置自己变聪明

大部分团队把 Hooks 理解成"防止 Claude 做错事的护栏",比如在文件写入前检查 linter、在退出前验证测试通过。但 Hooks 更被低估的价值是让配置体系持续自我改进

Stop Hook 可以在会话结束时反思整个过程中的偏差,在上下文还热乎的时候自动生成 CLAUDE.md 的更新建议。Start Hook 可以根据当前开发者的模块归属动态注入团队级上下文,而不需要每个开发者手动配置。这种"用完即改进"的机制,让 Harness 从静态说明书升级为会进化的系统。

此外,对于 lint、format、安全检查这类确定性规则,Hooks 的执行结果比模型"记得遵守"可靠得多——脚本不会走神,也不会被上下文里的其他指令干扰。

常见误区:用 prompt 引导模型遵守规则,而不是用 Hooks 强制执行。在确定性行为上,脚本永远比提示词可靠。

第三层:Skills — 专家经验按需调取

在大代码库里,不同任务类型的专业知识需求差异巨大。做安全审查需要一套方法,生成文档需要另一套模板,部署到生产环境又需要完全不同的检查清单。把这些全部塞进 CLAUDE.md 会拖垮每一次会话的起点。

Skills 通过"渐进披露"(progressive disclosure)解决这个问题:每个 Skill 封装一类专业工作流,只在任务触发时才加载,不浪费不在使用中的上下文空间。更关键的是,Skills 可以按路径作用域绑定——某个支付模块的部署 Skill 只在那个子目录下激活,永远不会在别人修前端样式时弹出来占位置。

常见误区:把 CLADE.md 写得越来越长、包罗万象。当某个规则只适用于某一类操作时,把它提取为 Skill 是更正确的选择。

第四层:Plugins — 把好经验从个体扩散到组织

大代码库的一个隐形成本是"部族化"配置:某个小团队摸索出一套极好的 Skills + Hooks 组合,但只在那几个开发者的本机存在。其他人不知道有这套东西,或者知道了也懒得手动复制配置。

Plugins 把 Skills、Hooks、MCP 配置打包成一个可安装的单元。一个有经验的开发者可以把自己验证过的最佳实践做成插件,新加入的工程师安装这个插件就能立刻获得相同的上下文和能力。托管市场可以集中分发和更新,避免同一套好东西在组织内部被重复发明几十次。

Anthropic 提到一个典型案例:某大型零售企业为一个连接内部分析平台的 Skill 做了 Plugin,在业务侧大规模推广之前先在小范围验证,然后用 Plugin 机制一键分发给所有业务分析师。

第五层:MCP、LSP、Subagents — 扩展的纵深

前三层搭好了配置体系后,这一层解决的是更具体的工程问题:

MCP 服务器扩展 Claude 的工具边界,让它能连接内部文档、工单系统、分析平台等外部数据源。有的团队把结构化搜索封装成 MCP 工具让模型直接调用;有的连接内部 API 实现端到端的自动化。

LSP 集成给 Claude 提供 IDE 级别的代码导航精度。没有 LSP 时,模型靠字符串匹配找函数引用,在大型 C/C++ 代码库里可能返回上千条无关命中。有了 LSP,它可以区分同名不同类的函数、跟踪准确的引用链。对多语言代码库来说,这一层的投资回报率极高。

Subagents把"探索"和"修改"拆分到独立的上下文窗口中。一个只读的子 Agent 先去某个子系统摸清结构、把发现写进文件,主 Agent 再基于完整理解去编辑。这既避免了上下文窗口在探索过程中被大量中间结果填满,又让并行任务成为可能。

但这一层绝不能提前搭建。在 CLAUDE.md、Hooks、Skills 都没跑通之前,MCP 和 Subagents 只会增加调试复杂度而不带来可感的改进。

Harness 组件速查

组件
本质
加载时机
常见误区
CLAUDE.md
项目上下文文件
每次会话自动
把所有规则塞进一个文件,变成上下文噪音
Hooks
事件触发脚本
关键事件触发
只用它做护栏,不用它做持续改进
Skills
按需加载的专业指令
任务触发时
继续往 CLAUDE.md 里塞而不是提为 Skill
Plugins
打包可分发的能力单元
安装后常驻
好经验停留在个体本机不扩散
MCP
外部工具/数据连接
配置后常驻
基础层没跑通就急着加 MCP
LSP
符号级代码智能
配置后常驻
以为 IDE 有 LSP 就等于 AI 工具也能用
Subagents
独立上下文的子任务
被调用时
探索和修改混在同一个上下文里

三、三个来自实战的配置模式

Anthropic 在总结多个大型组织的部署经验时,发现了三个反复出现的配置模式。这些模式不依赖于特定的技术栈或语言,但能显著影响 Claude Code 在大仓里的导航效率和输出质量。

模式一:让代码库对 AI 可读

Claude 在大型代码库中的有效工作边界,等于它"能找到正确上下文的概率"乘以上下文窗口的总容量。如果每次会话都灌入大量无关信息,有效上下文被稀释;如果什么都不提供,模型就靠 guess 来导航。最有效的部署都会在前期投入让代码库"对 Claude 可读"。

保持 CLAUDE.md 精简且分层。 根目录文件只写全局指针和致命禁区,子目录文件负责具体约定。模型会沿着目录树自动叠加所有 CLAUDE.md 内容,根级信息绝不会丢失。

从子目录初始化会话,而不是从仓库根目录。 在 monorepo 里,这看起来违反直觉——因为很多工具链习惯在根目录运行。但 Claude 会自动沿目录树上溯并加载所有 CLAUDE.md,所以把范围缩小到与当前任务相关的子目录不会丢失根级上下文,反而避免了那些不相关模块的配置噪音。

按子目录指定 test 和 lint 命令。 在微服务架构的代码库里,每个目录有自己独立的构建和测试命令。全量运行整个仓库的测试不仅耗时,还把不相关的错误输出灌入上下文。CLAUDE.md 在子目录级精确指定本地命令,让模型只运行和当前变更相关的验证。

用 .ignore 文件排除生成代码和第三方依赖。 把排除规则提交到 .claude/settings.json 中做版本控制,确保团队里每个开发者看到的代码搜索范围一致。对于需要开发代码生成器本身的人,可以在本地 settings 中覆盖项目级别的排除规则。

当目录结构本身不够清晰时,补一个轻量级的代码库地图。 在根目录下放一个 markdown 文件,列出每个顶层文件夹和一行功能描述。模型可以在真正打开文件之前快速扫一遍这个"目录"。几百个顶层文件夹的场景下把它做成分层结构——根文件描述最高层,子目录 CLAUDE.md 提供下一级细节。

运行 LSP 服务器,让模型按符号搜索而不是字符串匹配。 在一个大仓里 grep 一个通用的函数名可能返回几千条结果。LSP 只返回指向同一个符号的引用,在模型读到任何文件之前就完成了过滤。这对 C/C++ 这类大量使用宏和同名函数的多语言代码库来说,可能是性价比最高的单项投资。

模式二:把 CLAUDE.md 当成活的资产来维护

这是一个容易被低估的问题:模型在进化,为当前模型写的规则可能在下一次模型升级后反过来限制它。

举个例子:某个 CLAUDE.md 里有一条规则"每次重构限制为单文件修改",这是在旧模型容易把一次改动扩散成全仓重构的背景下加进去的。但当新模型已经能够处理跨文件的协调编辑时,这条规则就不再是保护,而是约束。

同样,某个 Hook 拦截文件写入是为了实现 Perforce 的 p4 edit,这个 Hook 在 Claude Code 原生支持 Perforce 模式后就成了多余的代码。

Anthropic 建议每 3 到 6 个月做一次有意义的配置审查,尤其是在主模型重大升级之后。审查的核心问题是:目前的 CLAUDE.md 规则和 Hooks 里,哪些是为老模型的短板写的、在新模型下反而限制了能力?

这个审查不仅是删东西,也是补东西——新模型解锁了哪些老模型做不到的能力,新的 CLAUDE.md 是否可以引导模型去做那些事?

模式三:指派明确的配置管理者

技术配置再精巧,没有人的维护也会慢慢变质。Anthropic 观察到一个清晰的规律:推广最快的部署都提前投入了专门的人或团队来搭建基础设施。

有的公司投入一到两个人,在全员推广之前就把 Plugins 和 MCP 搭好,开发者第一次触碰工具时就有一个现成的工作环境。有的公司成立了一个完整的团队,专门管理 AI 编程工具的配置和推广。无论哪种形式,共同点是有一个人对以下事情有明确的决策权和维护责任:CLAUDE.md 的层级结构、权限策略、插件市场的准入、以及配置的定期更新。

自下而上的推广能点燃热情,但如果没有人把各个团队摸索出来的好实践收拢、标准化、分发出去,这些知识会停留在个别的开发者本地,最终造成配置质量的不一致和推广的停滞。

在大型组织和受监管行业里,治理问题会更早浮出:谁来决定哪些 Skills 和 Plugins 可用?怎么避免几千个工程师各自独立开发同一套东西?AI 生成的代码怎么融入已有的 code review 流程?Anthropic 建议从一个小范围开始——限定的 Skills 白名单、必须经过 code review、分批开放访问权限——然后在信心积累中逐步扩展。

实践表明,最顺畅的部署都早早设立了跨职能工作组,把工程、信息安全和治理代表拉到一起共同定义需求并制定推广路线图。

四、落地推力:从哪开始,按什么顺序

如果你的团队正在考虑把 AI 编程工具引入大代码库,Claude Code 的实践给出了一个清晰的推进路径。下面按优先级排列:

第一周:建立基础可读性

1. 在仓库根目录创建一个精简的 CLAUDE.md,只写:项目是什么、核心模块列表(每个一行描述)、需要避开的禁区(生成文件、第三方代码)。

2. 在 2-3 个最常用的子目录下补充局部 CLAUDE.md,指定本目录的 build/test/lint 命令。

3. 配置 .ignore 规则排除 node_modules、build、dist、vendor 等目录。

4. 提交这些配置文件,让团队里的其他人直接使用。

第一个月:启动自改进循环

1. 添加 Stop Hook,在会话结束后自动分析偏差并建议 CLAUDE.md 更新。

2. 为 lint 和 format 加 Hooks 做强制执行,不再依赖模型"自觉遵守"。

3. 识别 2-3 个高频任务(如代码审查、文档生成),把它们封装为 Skills。

4. 指定一个 DRI(直接负责人),负责配置审查、权限管理和 Skills 的准入。

第一个季度:扩散和纵深

1. 把验证过的 Skills 和 Hooks 打包成 Plugin,通过托管市场分发给全团队。

2. 为多语言代码库部署 LSP 集成——先覆盖使用最频繁的语言。

3. 在基础层跑通后,识别需要外部连接的场景(工单系统、内部文档、监控面板),搭建 MCP 服务器。

4. 对复杂多步骤任务,用 Subagents 拆分探索和修改阶段。

5. 在每次模型重大升级后做一次 CLAUDE.md 审查,清理为旧模型短板而设的规则。

总结快照

 AI 编程工具在大仓里好不好用,模型决定下限,Harness(配置体系)决定上限。

 Agentic Search 避免了 RAG 方案在大仓里"索引过时"的根本失效模式,但依赖代码库配置质量。

 Harness 五层按顺序搭建:CLAUDE.md → Hooks → Skills → Plugins → MCP/LSP/Subagents。跳过前三层直接上后两层只会增加调试成本。

 CLAUDE.md 需要像代码一样维护:模型升级后,很多旧规则从"保护"变成了"约束"。

 技术配置之外,必须有一个人或一个小团队对这套体系有明确的 ownership——否则好经验会停留在个体本机,推广也会卡住。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-27 20:19:30 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/665987.html
  2. 运行时间 : 0.195196s [ 吞吐率:5.12req/s ] 内存消耗:4,908.13kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8551618b8c9940ec730159795714716e
  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.000888s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000831s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000351s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000278s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000488s ]
  6. SELECT * FROM `set` [ RunTime:0.000230s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000598s ]
  8. SELECT * FROM `article` WHERE `id` = 665987 LIMIT 1 [ RunTime:0.000488s ]
  9. UPDATE `article` SET `lasttime` = 1779884370 WHERE `id` = 665987 [ RunTime:0.000988s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000236s ]
  11. SELECT * FROM `article` WHERE `id` < 665987 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000473s ]
  12. SELECT * FROM `article` WHERE `id` > 665987 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001524s ]
  13. SELECT * FROM `article` WHERE `id` < 665987 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000711s ]
  14. SELECT * FROM `article` WHERE `id` < 665987 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000976s ]
  15. SELECT * FROM `article` WHERE `id` < 665987 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001869s ]
0.199133s