乐于分享
好东西不私藏

AI 编程老找错文件?先给代码库建一层上下文

AI 编程老找错文件?先给代码库建一层上下文

在复杂代码库里用 AI 编程工具,遇到的第一个问题往往不是代码写不出来,而是工具一开始就看错了地方。

你让 Agent 改权限逻辑,它只看到前端按钮;你让 Agent 补测试,它没找到项目里原来的测试写法;你让 Agent 改发布脚本,它漏掉了 CI 里的另一套配置。模型再努力,也是在不完整的上下文里推理。

小项目里这不是问题,几个文件贴过去就够了。但项目一大,一个功能可能横跨前端页面、后端接口、权限校验、数据库迁移、任务队列、测试用例和历史兼容逻辑。你让 Agent 改一个看似简单的字段,如果它没有找到真正相关的代码,要么只改了眼前文件、遗漏调用链上的其他位置,要么为了稳妥把一大堆目录都塞进上下文,token 烧了不少,模型反而抓不住重点。

所以在复杂项目里,不一定要急着让 Agent 写代码。更稳的做法是先让 Agent 知道:这个任务应该看哪些代码。

claude-context 关注的,正是代码上下文怎么被找到、怎么被带进当前任务。

claude-context 是什么

claude-context 是 Zilliz 开源的 MCP 项目,给 Claude Code 和其他支持 MCP 的 AI 编程工具加上语义代码搜索能力。

Zilliz 是做向量数据库的公司,背后最有名的项目是开源的 Milvus,一个开源向量数据库。所以 claude-context 本质上就是把代码库变成可检索的向量化上下文。

README 里有句话很直接:把整个代码库变成 Claude 的上下文。

听着有点大,但实际做法不是一次性塞给模型,而是先把代码库索引起来。等你真正提问或让 Agent 执行任务时,再从索引里检索出相关代码放进当前上下文。

这和平时用 grep 或 ripgrep 不太一样。传统搜索靠关键词——你知道要找 authpaymentcreateOrder,它很好用。但很多时候我们并不知道函数叫什么,只知道要找"处理用户登录态的地方""订单支付成功以后更新状态的逻辑""创建 workspace 时默认权限在哪里设置"。这类问题更适合语义搜索。

claude-context 不是只按关键词搜索。它会先把代码拆成适合检索的片段,生成 embedding 后写入向量数据库。等你提问时,它再结合关键词和语义相似度,把更可能相关的代码片段找出来,交给 AI 编程工具使用。

所以在实际开发里,claude-context 不负责替你改代码。它更像一个代码检索层,在 Agent 动手之前,先把相关文件和代码片段找出来。真正的分析和修改,还是由 Claude Code 这类工具里的模型完成。

代码库一复杂,最怕看错地方

很多人第一次用 AI 编程工具时,看到 Agent 改错、漏改、反复找文件,容易把问题归到模型本身——改错了是不是模型不够强?漏掉边界是不是推理不行?反复找文件是不是工具调用能力差?

这些都有可能。但在真实项目里还有个更常见的原因:上下文拿错了。

你让 Agent 修权限问题,它只看到页面层判断,没看到后端的真实鉴权逻辑;你让 Agent 补测试,它只看到当前函数,没找到项目已有的测试风格;你让 Agent 改发布流程,它只看到脚本,没看到 CI 里还有另一套配置。在这种情况下,模型继续分析、继续修改,反而可能把错误方向加工得更完整。

所以一个面向复杂代码库的 AI 编程工作流,至少该多一个前置步骤:


先检索相关代码 -> 形成修改计划 -> 动手改文件 -> 跑验证

claude-context 的价值就在这第一步。

改权限前,先找代码

假设现在有个 SaaS 协作产品。产品里有很多 workspace,每个 workspace 下面有成员、项目、文档、账单和自动化任务。删除 workspace 是一个高风险动作,一旦误删,可能会影响整个团队的数据和历史记录。

因此产品规则很明确:普通成员只能查看和参与协作,不能删除 workspace;只有 owner 和 admin 才能执行删除操作。

现在有个需求:


普通成员不能删除 workspace,只有 owner 和 admin 可以删除。
请检查当前逻辑,并补齐必要的测试。

这个需求写在文档里可能只有两句话,但真正实现时,至少要看几类代码:前端删除按钮在哪里展示,后端删除接口在哪里处理,service 层有没有统一的权限校验,成员角色存在哪里,删除后是否还要清理任务、写审计日志,以及测试里有没有覆盖 owner、admin、member 三种角色。

直接丢给 Agent,它可能在当前目录里找 deleteWorkspace,也可能根据文件名猜位置。运气好能找到主入口,运气不好就只改到其中一层。

最常见的错误,是只把前端按钮隐藏了,看起来普通成员不能点删除,但后端接口仍然可以被直接调用。另一种错误,是后端加了判断,但测试没有覆盖 member 直接请求接口的情况。这样的改动看起来完成了需求,但真正的权限漏洞还在。

更稳妥的做法,是先让 Agent 通过代码索引找到相关上下文。

这里的关键是要把任务拆成两个明确阶段:第一阶段只做搜索和判断,不允许改文件;第二阶段在确认范围以后,再开始修改。

第一阶段可以这样下指令:


请先做 workspace 删除权限的上下文检查。

要求:
1. 使用代码搜索工具查找相关文件;
2. 只搜索和分析,不要修改任何文件;
3. 至少搜索以下几个方向:
 - workspace 删除入口;
 - workspace 成员角色定义;
 - owner/admin/member 权限判断;
 - 删除 workspace 的 API 或 service;
 - 相关测试用例。
4. 输出一份上下文报告,按"相关文件 / 初步判断 / 修改前需要确认"三个部分组织。

接入 claude-context 后,Agent 可以通过 MCP 调用语义搜索。它实际发起的搜索问题,可能类似这样:


查找 workspace 删除权限校验相关代码
查找 workspace 成员角色在哪里定义
查找 owner/admin/member 权限相关测试
查找删除 workspace 的 API 或 service 入口

这几个搜索问题对应的目标也很清楚:

  • 删除 workspace 的 API 或 service 入口

  • owner、admin、member 角色的定义

  • 当前权限校验函数

  • 已有权限测试用例

  • 可能受影响的前端按钮或菜单逻辑

搜索完成以后,不要让 Agent 直接进入修改阶段,而是先让 Agent 按刚才约定的格式输出上下文报告。理想情况下,报告应该像这样:


## 相关文件
- apps/web/components/workspace-delete-button.tsx
 相关原因:前端删除入口,控制按钮展示和点击行为。

- apps/api/routes/workspace.ts
 相关原因:删除 workspace 的 API route。

- packages/auth/permissions.ts
 相关原因:集中定义 workspace 角色和权限判断。

- tests/workspace-permission.test.ts
 相关原因:已有 owner/admin/member 权限测试。

## 初步判断
权限校验不能只放在前端,必须在 API 或 service 层做最终判断。

## 修改前需要确认
1. admin 指的是 workspace admin,还是系统 admin;
2. owner 转让后,原 owner 是否还能删除 workspace;
3. 删除 workspace 是否需要写审计日志或触发异步任务。

这份报告的价值,不在于它一定完全正确,而是先把本次修改需要关注的代码范围摆出来。开发者可以在这个阶段纠偏:哪些文件不相关,哪些路径漏掉了,哪些业务规则还没说清楚。

没有这一步时,Agent 很容易沿着最显眼的文件往下改,比如只看到前端删除按钮,就把按钮隐藏掉,却没有补后端校验。接入 claude-context 以后,语义搜索能把后端 service、权限函数和测试文件一起找出来,至少让开发者有机会在修改前确认范围是否完整。

确认上下文以后,再进入修改阶段。这个时候给 Agent 的指令可以更明确:


基于刚才确认的文件范围,请完成修改:
1. 后端删除 workspace 前必须校验当前用户角色;
2. 只有 owner 和 admin 可以删除;
3. member 直接请求接口时必须返回权限错误;
4. 前端删除按钮继续保留展示控制,但不能作为唯一校验;
5. 补充 owner/admin/member 三类测试;
6. 不要修改无关模块。

这样做的好处,是把"找上下文"和"改代码"分成两个阶段。

第一阶段解决"应该看哪里",第二阶段再解决"应该怎么改"。如果中间发现搜索结果不完整,可以先补搜索,而不是让 Agent 接着在不完整的代码范围里修改。

最后还要加一轮验证:


请运行或说明需要运行的验证:
1. 权限相关单元测试;
2. 删除 workspace 的 API 测试;
3. 前端删除按钮展示逻辑测试;
4. 如果无法运行测试,请说明原因,并列出需要人工验证的路径。

到这里,claude-context 就不只是一个额外的搜索工具,而是进入了开发流程的前置环节。它不是替你完成整个需求,而是在最容易出错的第一步,帮 Agent 找到正确的代码区域。

如何配置 claude-context

claude-context 通过 MCP 接入 Claude Code,基本配置如下:


claude mcp add claude-context \
 -e OPENAI_API_KEY=sk-your-openai-api-key \
 -e MILVUS_ADDRESS=your-zilliz-cloud-public-endpoint \
 -e MILVUS_TOKEN=your-zilliz-cloud-api-key \
 -- npx @zilliz/claude-context-mcp@latest

OPENAI_API_KEY 用来调用 embedding 模型。默认示例里使用 OpenAI,如果你用的是 OpenAI embedding,填自己的 OpenAI API Key 就可以。README 里也提到可以使用 VoyageAI、Ollama、Gemini 等 embedding provider,不过这些通常需要换成对应的配置示例和环境变量,不是简单把 OPENAI_API_KEY 换个值就结束。

MILVUS_ADDRESS 是向量数据库地址。如果用 Zilliz Cloud,就填控制台里的 public endpoint;如果是自己部署的 Milvus,就填自己的 Milvus 服务地址。

MILVUS_TOKEN 是访问向量数据库的凭证。用 Zilliz Cloud 时,一般填 API Key 或 token;如果是本地 Milvus,具体要看你有没有开启鉴权。

这里要注意一点:claude-context 当前 README 里写到的向量数据库主要是 Milvus 和 Zilliz Cloud。Zilliz Cloud 可以理解成托管版 Milvus,适合不想自己维护 Milvus 集群的团队;自建 Milvus 更适合希望把数据完全放在自己环境里的团队。至于 Pinecone、Weaviate、Qdrant 等这类常见向量数据库,官方没有提供现成配置,不能直接拿来用。

Node.js 版本也需要注意。官方要求 Node.js >=20.0.0。本地版本太旧的话,要先升级 Node版本,否则 MCP server 可能起不来。

配置完成后,第一件事不是直接搜索,而是先索引代码库。官方 README 给的使用方式很简单:进入项目目录,打开 Claude Code,然后让它执行索引。


索引当前代码库

索引完成前,搜索结果可能不完整,所以可以接着查一下状态:


查看索引状态

等索引完成后,再开始搜索:


查找处理用户鉴权的代码
查找 workspace 删除权限校验相关代码

从 MCP 工具角度看,claude-context 暴露出来的能力主要有四个:


index_codebase:索引代码库
search_code:搜索已索引代码
get_indexing_status:查看索引状态
clear_index:清理索引

index_codebase 用在第一次接入项目,或者代码库有较大变化时。它会把代码切块、生成 embedding,并写入向量数据库。

get_indexing_status 用来确认索引是否完成。复杂项目里索引可能需要一些时间,不建议索引还没完成就让 Agent 基于搜索结果做判断。

search_code 是最常用的工具,用自然语言搜索相关代码。比如"查找处理用户鉴权的代码""查找 workspace 删除权限校验""查找已有的权限测试用例"。

clear_index 用来清理某个代码库的索引。比如项目结构大改、索引结果明显不对,或者你想重新索引时,可以先清掉旧索引。

所以不要把 claude-context 理解成"自动开发插件"。它是一个上下文检索层,帮 AI 编程工具回答一个问题:这个任务开始之前,应该先看哪些代码。

搜索也要有边界

接入语义搜索以后,并不意味着 Agent 就一定会按你想要的方式使用它。

claude-context 解决的是"能不能更快找到相关代码",但它不会自动解决另外几个问题:什么时候必须先搜索,搜索到多少才算够,搜索结果怎么汇报,什么时候可以开始改文件。

这些规则需要单独写进工作流里。

如果是 Claude Code,可以把长期规则写进项目级 CLAUDE.md。这个文件会在项目会话开始时被 Claude Code 读取,适合放团队约定、架构说明、常用命令和禁止事项。也可以把更具体的流程做成 slash command 或插件里的 command,比如 /context-check

如果是 Codex,可以把项目规则写进 AGENTS.md,或者把高频流程沉淀成 skill。前者适合放项目级开发约定,后者适合放可复用任务流程,比如"改动前上下文检查""发布前检查""线上问题排查"。

也就是说,规则不一定每次都要重新写一遍。长期稳定的规则,应该放进项目说明或 skill 里;每次任务特有的信息,比如这次要改 workspace 删除权限、这次只看某个模块,则放在当前提示词里补充。

长期规则可以写成这样:


处理跨文件改动前,必须先搜索相关代码。
搜索结果需要列出文件路径、相关原因和置信度。
没有看过相关测试前,不要直接修改实现。
如果搜索结果不足,必须说明缺少什么,而不是猜测。
修改前先给出计划,修改后必须跑对应验证。

单次任务再补充具体范围:


这次只处理 workspace 删除权限。
请重点搜索:
1. 删除 workspace 的 API 或 service;
2. owner/admin/member 角色定义;
3. 权限校验函数;
4. 已有权限测试;
5. 前端删除入口。

在输出上下文报告前,不要修改文件。

这和 Harness 思路是相通的:工具越强,越要放进流程里。

如果没有这些规则,搜索结果越多,反而越容易干扰判断。Agent 可能列出很多看似相关的文件,却没有说明它们和当前任务的关系;也可能在索引没有更新的情况下参考旧代码;更麻烦的是,它一边搜索一边修改,最后开发者很难判断这次改动到底基于哪些文件。

所以 claude-context 更适合放在受控流程里使用:先搜索,先说明依据,确认范围以后再修改。它不是一个可以随便发散使用的万能搜索框。

先做一个上下文检查

如果要把 claude-context 放进团队工作流,建议先从一个很小的流程开始:改动前上下文检查。

这个流程的目标不是让 Agent 写代码,而是让它在动手前先回答几个问题:

  • 这次改动可能涉及哪些文件?

  • 哪些文件必须先读完?

  • 哪些测试可以证明改动是对的?

  • 哪些模块暂时不要碰?

  • 当前搜索结果有没有明显缺口?

流程可以设计成这样:


根据需求搜索相关代码 -> 列出候选文件和原因 -> 标记必须阅读的测试文件 -> 确认修改范围 -> 再开始改代码

如果只是偶尔使用,可以直接在当前对话里写清楚:


在修改代码前,请先使用代码搜索工具完成上下文检查。

请输出:
1. 你搜索了哪些问题;
2. 找到了哪些相关文件;
3. 每个文件为什么相关;
4. 哪些文件必须先读完;
5. 哪些地方暂时不要修改。

在我确认之前,不要修改文件。

这段提示词的重点,不是让 Agent "更认真一点",而是明确限制它的动作:当前阶段只允许搜索、阅读、整理报告,不允许修改文件。

如果团队经常遇到这类任务,就不应该每次都手写这段提示词,可以把它固定成一个命令。


/context-check

在 Claude Code 里,这类命令可以做成 slash command,放在团队插件或项目命令里。这样团队成员只要输入 /context-check,就会触发同一套上下文检查流程。

在 Codex 里,也可以把它沉淀成 skill,或者写进项目的 AGENTS.md,约定遇到跨文件改动时先执行上下文检查。

不管放在哪个工具里,这个命令背后的规则都应该写清楚:


你是代码修改前的上下文检查助手。
你的任务不是改代码,而是确认这次改动应该阅读哪些文件。

执行要求:
1. 至少提出 3 个搜索问题;
2. 每个搜索问题都要说明目的;
3. 相关文件按"必须阅读 / 建议阅读 / 可能相关"分组;
4. 对每个必须阅读文件,说明它和任务的关系;
5. 标出可能遗漏的上下文;
6. 在用户确认前,不要修改文件。

输出也要固定下来,否则每次报告格式都不一样,后面很难审查。可以用下面这个模板:


## 我搜索了什么
- 搜索问题:
- 搜索目的:

## 必须阅读
- 文件:
- 相关原因:
- 需要重点看的位置:

## 建议阅读
- 文件:
- 相关原因:

## 可能遗漏
- 还需要确认的模块:
- 为什么可能相关:

## 下一步建议
- 建议修改范围:
- 暂时不要修改的范围:

实际使用时,可以这样做:


/context-check
需求:普通成员不能删除 workspace,只有 owner 和 admin 可以删除。
请先检查相关代码范围,不要修改文件。

Agent 交付上下文报告以后,开发者先看报告是否合理。如果漏了后端权限校验,就要求它继续搜索;如果测试文件找错了,就先纠正范围。确认范围以后,再进入实现阶段。

这样能避免 Agent 一边搜索一边修改,最后你很难判断它到底是基于哪些文件做出的决定。比一上来就说"帮我实现这个需求"稳得多。

什么时候值得接

claude-context 最适合代码量大、跨模块多、历史包袱重的项目:

  • 不熟悉的老项目

  • 多服务或 monorepo

  • 权限、支付、发布、配置这类高风险模块

  • 需要补测试但不知道项目测试风格

  • 新人接手代码库

  • AI 编程工具经常反复找文件的项目

几十个文件的小工具就不用了,直接用现有搜索和上下文够了,没必要额外引入向量数据库。

它也不能替代代码审查——语义搜索只是帮你更快找到相关代码,改动正不正确,还是要靠后面的计划、修改、测试和人工确认。

上下文工程会越来越重要

AI 编程工具越强,越容易让人忽略一个前提:它必须先看对东西。上下文错了,后面写得再快也可能只是在错误方向上加速。

claude-context 这类项目提醒我们,复杂代码库里的 AI 编程不会只靠更长上下文窗口解决。更现实的做法是把代码库索引起来,让 Agent 在需要时检索相关部分,在明确边界内完成任务。

它回答的不是"AI 能不能写代码",而是一个更工程化的问题:当代码库越来越大时,Agent 怎么知道自己该看哪里?

这个问题解决不好,Agent 越主动风险越大。解决得好,AI 编程工具才有机会从临时帮手,变成真正能进入团队流程的开发协作者。


觉得这篇有收获的话,欢迎点个关注,也顺手来个一键三连:点赞、转发、点亮小心心。

我会持续追踪 AI 领域的热点变化,AI 编程工具的最新进展,以及背后的技术逻辑和实战经验。也欢迎在评论区留言,一起交流你的看法。

公众号 · 智享科技社

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 12:38:06 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/602473.html
  2. 运行时间 : 0.142962s [ 吞吐率:6.99req/s ] 内存消耗:4,904.49kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1de7f27782adf3f1f6f45dcb4106ddb4
  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.000566s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000699s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.005462s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000305s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000600s ]
  6. SELECT * FROM `set` [ RunTime:0.000243s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000549s ]
  8. SELECT * FROM `article` WHERE `id` = 602473 LIMIT 1 [ RunTime:0.000448s ]
  9. UPDATE `article` SET `lasttime` = 1778474286 WHERE `id` = 602473 [ RunTime:0.015998s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000428s ]
  11. SELECT * FROM `article` WHERE `id` < 602473 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000674s ]
  12. SELECT * FROM `article` WHERE `id` > 602473 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000422s ]
  13. SELECT * FROM `article` WHERE `id` < 602473 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001437s ]
  14. SELECT * FROM `article` WHERE `id` < 602473 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006877s ]
  15. SELECT * FROM `article` WHERE `id` < 602473 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001394s ]
0.144847s