乐于分享
好东西不私藏

GA 源码解析:走进GenericAgent——133行Agent Loop撬动30K上下文极限压缩!

GA 源码解析:走进GenericAgent——133行Agent Loop撬动30K上下文极限压缩!

走进GenericAgent——133行Agent Loop撬动30K上下文极限压缩!

代码仓库
: github.com/lsdefine/GenericAgent | 论文: arxiv.org/abs/2604.17091本地路径: ~/projects/generic-agent核心文件: agent_loop.py (133行) + ga.py (593行) + agentmain.py (290行) = 1016 行

0. 代码发布状态

组件
状态
位置
Agent 运行循环
agent_loop.py
 133 行
9 个原子工具
ga.py
 593 行
分层记忆系统
ga.py
 + agentmain.py
自进化 SOP 生成
ga.pydo_start_long_term_update
多 LLM 后端
agentmain.py
 (Claude/Native/OpenAI)

1. 环境配置

Shell 命令


2. Agent 运行循环 — agent_loop.py (133 行)

这是 GA 的心脏,实现了完整的 Agent 生命周期:LLM 调用 → 工具分发 → 结果收集 → 上下文压缩。

2.1 消息管理与上下文 turn 重置 (L42-57)

代码片段 (python)

messages 只保留 system prompt + 当前用户输入——历史对话不在这里维护。历史由 LLM backend 的 Session 对象内部维护(agentmain.py 中的 NativeClaudeSession)。这避免了每次 LLM 调用时重复发送完整历史,是 GA 实现 30K 上下文的关键设计之一。

turn % 10 == 0 → client.last_tools = '':每 10 轮清空工具描述的缓存。LLM backend 会缓存上一次发送的工具 schema,只有变化时才重新发送。GA 通过主动清空缓存来触发 schema 重发,防止工具描述在长对话中丢失上下文——这是对 Claude API 的 tools 参数行为的深度适配。

2.2 工具分发 — 反射路由 (L69-88)

代码片段 (python)

dispatch 方法(agent_loop.py L18)通过 method_name = f"do_{tool_name}" 和 getattr(self, method_name) 实现反射路由——新增工具只需在 GenericAgentHandler 中添加 do_ 方法,无需修改路由逻辑。这是 GA 保持 9 个工具的最小完备性的工程基础:工具集的可扩展性不依赖于框架修改。

yield from proxy() 是关键设计选择:工具执行是生成器(generator),可以逐行输出中间结果。这使得 verbose 模式下用户可以实时看到工具的 stdout,而非等待工具执行完毕——对于长时间运行的 code_run 尤其重要。

2.3 结果收集与退出判定 (L89-107)

代码片段 (python)

should_exit 用于 ask_user 工具——当 Agent 需要用户输入时,暂停执行并等待交互。next_prompt 为空表示当前子任务完成,触发 CURRENT_TASK_DONE

L104 的 messages = [{...}] 只包含当前轮的 user 消息——这是 GA 上下文压缩的核心。Claude API 的 messages 参数不累积历史,历史由 NativeClaudeSession 内部维护并自动管理缓存。GA 每次仅发送 1 条新 user 消息 + tool_results,相当于每次 LLM 调用的输入 token 开销接近恒定,而非随轮数线性增长。


3. 工具集 — ga.py (593 行)

3.1 代码执行 do_code_run (L284-309)

代码片段 (python)

_extract_code_block(L279):从 LLM 的回复中自动提取 markdown 代码块——当 LLM 在 content 中直接返回代码而非使用 tool_call 参数时,这作为兜底逻辑。这是一个巧妙的后备机制:Claude 有时会在 thinking 过程中返回代码而非调用工具,GA 通过正则 re.findall(rf"`(?:{code_type})\n(.*?)\n`", ...) 自动提取。

maxlen = 10000 // args.get('_tool_num', 1):当 LLM 同时调用多个工具时(如 code_run + file_read),每个工具的输出长度按工具数量均分。这防止了多工具并发时单个工具的输出膨胀导致上下文溢出。

inline_eval 模式:对于简单的 Python 表达式求值(如 2+3),不写临时文件,直接在 handler 的 namespace 中 eval。结果通过 repr() 转换为可读字符串。

3.2 文件操作 (L361-455)

代码片段 (python)

do_file_patch 是 GA 工具集"最小完备性"设计哲学的缩影:与 Claude Code 需要独立的 FileEditTool + FileWriteTool + FileReadTool 不同,GA 仅用 file_patch 的 old_text → new_text 替换就实现了增量编辑。Claude Code 需要 search_replace + write_to_file 两个独立操作才能完成同样的事情。

do_file_read 的 FILE_READ_LIMIT 截断是上下文压缩的"前端防线"——在工具输出进入 LLM 上下文之前就进行截断,而非在 LLM 内部压缩。这比后置压缩(对话历史摘要)更高效,因为截断发生在工具层而非 LLM 推理层。

3.3 网页浏览 — 轻量替代浏览器模拟 (L318-354)

代码片段 (python)

GA 不使用完整的浏览器模拟(如 Playwright/Selenium),而是通过 simphtml 模块提取简化 HTML,再通过 web_execute_js 执行 JavaScript 交互。这种"轻量提取 + 按需交互"的设计是 GA 在 BrowseComp-ZH 上准确率 0.60 vs OpenClaw 0.20 的关键——OpenClaw 的完整浏览器模拟产生大量 HTML/JS/CSS 噪声,淹没了 LLM 的注意力。


4. 自进化与分层记忆 — ga.py L438-590

4.1 检查点管理 do_update_working_checkpoint (L438-454)

代码片段 (python)

update_working_checkpoint 是上下文压缩的"触发机关"。Agent 在完成一个子任务后主动调用此工具,将"中间状态"固化为 checkpoint,并清空 context_since_checkpoint。下一次 LLM 调用时,system prompt 只会包含 checkpoint 的摘要 + 当前子任务的上下文——中间过程的 token 被完全丢弃。这是 GA 在长周期任务中将上下文稳定在 30K 的核心机制。

4.2 长期记忆更新 do_start_long_term_update (L505-581)

代码片段 (python)

new_sop 和 new_code 的内容完全由 LLM 生成——GA 框架本身不做任何自动化代码提取或轨迹分析。LLM 在完成一个任务后,被提示"这个任务的成功经验中有什么可以固化为 SOP?有什么代码可以复用?"——然后 LLM 自己总结并调用 start_long_term_update

global_mem.txt 的追加写入实现了 L1 索引层——每行格式 [PDF处理] 处理过PDF解析、合并、分割。在下一次任务开始时,get_global_memory() 读取此文件并注入 system prompt。L1 仅 30-50 行,token 开销极低(约 100-200 tokens),但为 LLM 提供了"这些能力是存在的"的关键元信息。


5. System Prompt 与 Memory 注入 — agentmain.py

代码片段 (python)

get_global_memory() 从 memory/global_mem.txt(L1 索引)+ memory/global_mem_insight.txt(L2 事实)读取内容,注入 system prompt。这些文件由 do_start_long_term_update 在任务成功完成后增量更新。

Today: 2026-05-28 Wed 这行看似简单,但解决了 LLM Agent 的"时间盲视"问题——Agent 在处理时间敏感的网页数据(如新闻、实时数据)时,需要知道当前日期来判断数据时效性。此外,get_system_prompt 每次调用都重新读取文件——这意味着 do_start_long_term_update 写入的新 SOP 或事实,会在下一次 LLM 调用时立即生效,无需重启 Agent 进程。这种"热加载"设计让 Agent 的自进化成果可以即时反馈到后续任务中,而非像传统框架需要等到下一次部署。


6. 核心设计模式总结

阅读 GA 的 1016 行核心代码后,可以抽象出四个贯穿始终的设计模式:

模式一:反射路由 + 最小工具集。GA 不维护工具注册表——BaseHandler.dispatch 通过 getattr(self, f"do_{tool_name}") 实现零配置工具路由。新增工具只需在 GenericAgentHandler 中添加一个 do_ 方法。这比 Claude Code 的复杂工具注册机制(每个工具需要独立的 Schema 定义、Handler 注册、权限配置)轻量得多。代价是工具的描述和 schema 由 assets/tools_schema.json 单独管理,代码和 schema 之间存在隐性耦合——新增工具时必须同步更新 schema 文件。

模式二:Generator 驱动的流式执行。所有工具方法都是 Python generator(yield from code_run(...) 而非 return code_run(...))。这使得 Agent Loop 可以在工具执行过程中逐行 yield 中间输出,用户在 verbose 模式下可以实时看到 LLM 的思考过程和工具的输出流。对于长时间运行的 code_run(如模型训练、大数据处理),这种设计避免了"黑盒等待"的用户体验。

模式三:上下文预算的"前端防线"。GA 的上下文压缩不在 LLM 推理层(如 MemGPT 的对话摘要),而在工具层:do_file_read 在文件内容进入 LLM 上下文之前就截断,do_web_scan 在 HTML 进入 LLM 之前就简化。这种"前端截断 + 后端检查点"的双防线设计,比单一的后置压缩策略更有效——因为被截断的 token 永远不会进入 LLM 的注意力计算,节省的是推理计算本身,而不仅仅是 API 费用。

模式四:LLM 驱动的自进化。GA 框架本身不做代码分析或轨迹提取——所有 SOP 和 code snippet 的内容都由 LLM 生成。do_start_long_term_update 只是提供了存储和检索的基础设施。这种设计哲学的核心洞见是:LLM 已经具备了总结和抽象的能力,Agent 框架不需要重复实现这些能力——框架的职责是"提供记忆"和"在合适的时机触发记忆更新"。


7. 可运行 Demo

执行流程

硬件要求: 仅需 LLM API 密钥。Agent 本身是纯 Python 进程,无 GPU 需求。


去读论文 · 前沿&经典论文解读

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-01 19:45:36 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/695624.html
  2. 运行时间 : 0.155789s [ 吞吐率:6.42req/s ] 内存消耗:4,737.82kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e4b80efb4597dfe15777f59c12d5e4fd
  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.000478s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000747s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000326s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000254s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000472s ]
  6. SELECT * FROM `set` [ RunTime:0.000196s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000504s ]
  8. SELECT * FROM `article` WHERE `id` = 695624 LIMIT 1 [ RunTime:0.001286s ]
  9. UPDATE `article` SET `lasttime` = 1780314336 WHERE `id` = 695624 [ RunTime:0.000661s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000225s ]
  11. SELECT * FROM `article` WHERE `id` < 695624 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003222s ]
  12. SELECT * FROM `article` WHERE `id` > 695624 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000680s ]
  13. SELECT * FROM `article` WHERE `id` < 695624 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008400s ]
  14. SELECT * FROM `article` WHERE `id` < 695624 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000820s ]
  15. SELECT * FROM `article` WHERE `id` < 695624 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000991s ]
0.157419s