乐于分享
好东西不私藏

CodeGraph:用本地知识图谱降低 AI 编程工具的 Token 成本

CodeGraph:用本地知识图谱降低 AI 编程工具的 Token 成本

如果你一直在使用 Claude Code、Cursor 或 Codex 进行严肃的开发工作,你可能已经注意到一种模式。AI 在理解孤立代码方面非常强大——给它看一个函数,它就能胜任地解释、重构或调试它。但如果让它追踪一个贯穿整个代码库的功能——“一次登录请求如何从 controller 流向数据库?”——体验就会急剧变化。

AI 开始探索。它读取文件——几十个,有时甚至上百个。它搜索 symbol、追踪 import、打开相关 module。每一次读取都会消耗 token。每个 token 都意味着成本。在一个工作日里,账单会悄无声息却持续不断地累积。

令人沮丧的并不是成本本身。而是绝大多数 token 并没有花在推理上——它们花在了探索上。AI 并不是在认真思考你的问题。它只是在试图找到相关代码在哪里。

CodeGraph 从架构根源上解决了这个问题。它不是构建一个更聪明的模型,而是为模型提供一个预先构建好的代码库地图。结果是在七个经过 benchmark 的开源项目中,平均减少 57% 的 token 使用量,并降低 35% 的成本。该项目已经获得 32,100 个 GitHub stars,并采用 MIT license。

面向代码的知识图谱

CodeGraph 背后的想法非常优雅且直接:解析项目中的每一个源文件,提取 symbol 之间的关系,并将它们存储为一个可即时查询的结构化 graph。

其实现使用 tree-sitter——一个最初由 GitHub 为 Atom 编辑器开发、如今作为 Neovim 核心语法引擎的增量解析库——将源代码解析为 abstract syntax trees。针对不同语言的 extraction query 会识别 symbol(functions、classes、methods、interfaces)和 edge(calls、imports、inheritance、implementations)。所有内容都会进入一个本地 SQLite 数据库,并启用 FTS5 full-text search。

选择 tree-sitter 是有意且重要的。不同于传统 compiler frontend,tree-sitter 具备容错能力:即使代码包含语法错误,它也能生成 partial AST。这很重要,因为真实世界的开发并不会始终处于可编译状态。它也很快,而当你要索引数万文件时,速度同样关键。

当 AI agent 询问“什么调用了这个函数?”或“追踪修改这个 module 的完整影响?”时,CodeGraph 会通过一次 MCP(Model Context Protocol)tool call 返回 entry points、related symbols 和相关 code snippets。无需逐文件探索。无需 agent loops。无需让无关文件内容膨胀 context window。

安装器会自动检测当前存在的 AI 工具——Claude Code、Cursor、Codex CLI、OpenCode、Hermes Agent、Gemini CLI、Antigravity 和 Kiro——并配置 MCP integration,无需手动设置。

它与 Cursor 内置索引的区别

CodeGraph 和 Cursor 对代码库理解采取了根本不同的方法,而这种区别会影响 AI 如何使用这些信息。

Cursor 使用由 vector embeddings 驱动的 semantic search。你的 query 会被向量化,系统会按相似度返回 code snippets。这对于探索确实很有用——它能帮助你发现“哪些文件与 authentication 相关?”而无需准确知道去哪里找。

但 semantic search 有一个结构性盲点。它不理解关系。它不知道 handleAuth() 调用了 validateToken(),后者又从 jwt_utils import。它只知道这些函数包含相似的语言。AI 得到的是线索——按相似度排序的提示——然后必须通过逐个读取文件来验证关系。

CodeGraph 构建的是显式 call graph。symbol 之间的关系是确定性的,而不是概率性的。AI 得到的是答案——明确的结构信息——而不是线索。对于代码探索任务而言,这代表了一种根本不同的信息架构。

竞争格局

有必要把 CodeGraph 放在其他代码库智能方案中进行定位:

Gemini Code Assist(原 Google Cloud Code)提供 cloud-hosted 代码理解能力,可以处理超大 repository。但你的代码会离开本机。对于受监管行业、专有代码库,或任何有数据主权要求的团队来说,这是一个硬性限制。

Sourcegraph 提供强大的通用代码搜索和浏览能力,但需要 server deployment、indexer configuration 和基础设施维护。对于需要共享代码智能平台的组织来说,它是合适的工具,但对个人开发者而言过于笨重。

GitHub Copilot 的 codebase indexing 仍处于 limited beta,且仅限 cloud,rollout 受限。

CodeGraph 的定位非常明确:local-first、zero-configuration、structured-graph code intelligence。没有 server,没有 API key,没有数据传输。而且不同于 semantic 方法,它返回的是确定的 call relationships,而不是 probability scores。这种组合——本地、轻量、结构化——在当前格局中是独特的。

Benchmark 结果

CodeGraph 团队在七个真实世界开源项目、七种编程语言上进行了严格对比。每个 benchmark 都使用 Claude Opus 4.7 的 headless mode(claude -p),采用相同的探索任务、相同的模型,唯一变量是是否提供 CodeGraph 的 knowledge graph。每组运行四次,并报告 median values。

+------------------+------------+-------------+-----------------+--------------+---------+---------+
| Codebase         | Language   | Size        | Token Reduction | Cost Savings | Speedup | Ops Cut |
+------------------+------------+-------------+-----------------+--------------+---------+---------+
| VS Code          | TypeScript | 10,000 files| 78%             | 26%          | 52%     | 85%     |
| Excalidraw       | TypeScript | ~640 files  | 90%             | 52%          | 73%     | 96%     |
| Tokio            | Rust       | ~790 files  | 86%             | 82%          | 71%     | 92%     |
| Django           | Python     | ~3,000 files| 36%             | 12%          | 19%     | 53%     |
| Alamofire        | Swift      | ~110 files  | 64%             | 47%          | 48%     | 83%     |
| OkHttp           | Java       | ~645 files  | 13%             | 2%           | 31%     | 45%     |
| Gin              | Go         | ~110 files  | 34%             | 21%          | 27%     | 40%     |
+------------------+------------+-------------+-----------------+--------------+---------+---------+

汇总数据——token 减少 57%、tool calls 减少 71%、响应加快 46%、成本降低 35%——讲述了一个故事。逐项目拆分则呈现出更细致的图景。

项目规模与节省幅度相关。在 VS Code 的 TypeScript monorepo(约 10,000 个文件)上,每次 benchmark 运行的 token 使用量从 280 万降至 601,000。在 Excalidraw 上,从 350 万降至 344,000。haystack 越大,没有地图时 AI 就越容易盲目乱撞。

Rust 项目受益尤其明显。Tokio 从 2.41to2.41_to_0.42——成本降低 82%。可能的解释是:Rust 的 module system,包括其 mod declarations、use paths、pub use re-exports 和嵌套 module hierarchies,会产生对基于 agent 的遍历特别惩罚性的探索路径。CodeGraph 用一次 query 就能解析它们。

较小项目的收益递减。OkHttp(Java,645 个文件)仅实现了 13% 的 token reduction。Gin(Go,110 个文件)达到 34%。在较小规模下,brute-force 方法的惩罚并不那么大,因此 graph 的边际价值会下降。

关键的是,这些并不是模型改进。两个实验组中使用的都是同一个 Claude Opus 4.7。每一个省下来的 token,都代表被消除的机械式文件探索——这些工作 AI 原本在做,却对回答质量没有任何贡献。

Framework route 识别

CodeGraph 原生识别 14 种 web frameworks 的 routing patterns,覆盖完整的 routing 范式:annotation-based(Spring、NestJS)、decorator-based(Flask、FastAPI)、DSL-based(Rails、Laravel)以及 file-convention-based(Django URLconf、SvelteKit)。

对于任何使用 API 的开发者来说,其实际价值都非常可观。向受支持的 AI 工具询问“哪个 handler 处理 POST /api/users?”CodeGraph 会直接将 URL 映射到 handler function,并穿过 middleware chains、route includes 和 decorator stacks,而这些通常需要多轮搜索与验证。

对于管理 microservices 或大型 API surfaces 的团队,仅这一项功能就足以证明安装的价值。它把通常繁琐的调试流程——“找到 route config,追踪到 view,验证 middleware”——转化为一次 query。

Auto-sync 架构

CodeGraph 的 index synchronization 是一个三层系统,设计目标是在日常开发中保持不可见:

Layer 1:原生 OS file watchers。macOS FSEvents、Windows ReadDirectoryChangesW、Linux inotify——每个操作系统提供的最低层级文件变更通知机制。无 polling,无 CPU overhead。当文件被保存时,OS 会直接通知 CodeGraph。

Layer 2:Debounced batching。一个两秒的静默窗口,在此期间所有文件变更都会被收集,并合并为一次 incremental sync。如果一次重构操作快速连续修改了五个文件,它们会作为一个 batch 同步,而不是触发五次独立的 index rebuilds。

Layer 3:Staleness flags 和 reconnection reconciliation。尚未同步的文件会被明确标记为 stale,这样 AI agents 就知道应直接读取这些文件,而不是查询可能过期的 graph data。当 AI 工具重新连接时,快速的 (size, mtime) 比较结合 content-hash verification,只会识别出发生变更的文件进行重新同步。

结果是一个能在零开发者关注下保持最新的 index。任何人的 workflow 中都不需要“重建索引”这一步。

完全本地架构

整个 knowledge graph 都存在 .codegraph/codegraph.db 这个单一 SQLite 文件中。没有 cloud component,没有 API key,没有 network connection,没有 data transmission。对于处理专有代码、受监管数据,或任何禁止外部数据访问的代码库的团队来说,这种架构消除了 AI-assisted code intelligence 的主要障碍。

这与依赖 cloud 的替代方案形成鲜明对比。Gemini Code Assist 在 Google 的基础设施上处理你的代码。GitHub Copilot 的 indexing 同样绑定在 cloud 上。CodeGraph 押注于另一种方向:对许多开发者和组织来说,本地执行带来的隐私与安全性,超过了 cloud infrastructure 的规模优势。

安装与实际注意事项

CodeGraph 安装无需前置依赖:

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh

# Windows PowerShell
irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex

安装后,初始化一个项目:

cd your-project
codegraph init -i

-i flag 会触发初始 full-graph build。对于非常大的项目(100,000+ 文件),这可能需要十分钟或更久——但这是一次性成本,之后所有同步都是增量的。

一些使用中的实际注意事项:macOS 用户应先安装 Xcode command-line tools(xcode-select --install),因为 fallback compatibility mode 会慢 5-10 倍。默认排除项覆盖 node_modulesvendordistbuildtarget.venv、gitignored files,以及超过 1 MB 的文件。graph 包含在单个文件中——项目目录里不会散落 cache artifacts。支持的语言包括 TypeScript、Python、Rust、Java、Go、Swift、Kotlin、C/C++、C#、Ruby、PHP、Dart,以及 Svelte 和 Vue 等 template languages。

局限性

平衡的评估需要承认 CodeGraph 并不擅长什么。超大代码库的初始索引需要时间,受限于解析速度和 disk I/O。语言支持深度各不相同——TypeScript、Python、Rust 和 Go 的覆盖最成熟;Objective-C 被列为 partial support。严重依赖较少见语言的项目,在采用前应先测试。

更重要的是,CodeGraph 是增强器,而不是替代品。它减少用于代码探索的 token,但不会为推理密集型任务作出贡献。如果你问 AI“为什么这个 query 很慢?”或“为这个系统设计一个 caching layer”,繁重的认知工作仍由模型承担。CodeGraph 只是帮助它更高效地收集相关 context。

工程效率前沿

AI 编程工具市场一直由模型智能竞赛主导。Anthropic、OpenAI 和 Google 的每一次发布都声称在 benchmark 上领先,而这种竞争确实推动了能力前进。

但随着这些工具嵌入日常开发 workflow,另一个瓶颈正在变得明显。一个模型如果需要读取 50 个文件、消耗 300 万 token、运行 2.5 分钟才能回答一个问题,那么无论它多聪明,都不可能被随手频繁使用。摩擦太高。成本太可见。

另一种选择——一个相当智能的模型配上准确地图,用 10 次文件读取、600,000 token、不到一分钟回答问题——代表了不同的优化前沿。不是模型能力,而是工程效率。

CodeGraph 押注的正是这个前沿。无论它作为具体工具是否成功,它都展示了一个很可能定义 AI-assisted development 下一阶段的原则:让 AI 编程工具变得更好的最快方式,可能不是让它更聪明。而是给它一张地图。

https://github.com/colbymchenry/codegraph

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-23 12:48:36 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/836102.html
  2. 运行时间 : 0.344179s [ 吞吐率:2.91req/s ] 内存消耗:5,009.30kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a354b06c4a8cdc89421ae4433cbfeaea
  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.000552s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000640s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002300s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003850s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000991s ]
  6. SELECT * FROM `set` [ RunTime:0.005730s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000620s ]
  8. SELECT * FROM `article` WHERE `id` = 836102 LIMIT 1 [ RunTime:0.016416s ]
  9. UPDATE `article` SET `lasttime` = 1784782116 WHERE `id` = 836102 [ RunTime:0.022435s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.007300s ]
  11. SELECT * FROM `article` WHERE `id` < 836102 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.055841s ]
  12. SELECT * FROM `article` WHERE `id` > 836102 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.006483s ]
  13. SELECT * FROM `article` WHERE `id` < 836102 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.038327s ]
  14. SELECT * FROM `article` WHERE `id` < 836102 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.025278s ]
  15. SELECT * FROM `article` WHERE `id` < 836102 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.068865s ]
0.345830s