乐于分享
好东西不私藏

OpenClaw Memory 深度解析

OpenClaw Memory 深度解析
AI Agent 的记忆系统,正在从"无状态工具"向"有记忆的伙伴"演进。

OpenClaw 提供了灵活的记忆架构:从开箱即用的 Markdown 文件系统,到功能完备的 OpenViking 记忆引擎。两种方案各有侧重,适合不同的场景。

这篇文章会深入解析:

  • OpenClaw 默认的 Memory 机制
  • Memory-Search 的构建原理
  • OpenViking 记忆系统的工作方式
  • Telos + Obsidian 的目的驱动框架
  • 三种方案的对比与选择

一、默认 Memory 机制:Markdown 即记忆

OpenClaw 的核心理念:文件即记忆

不需要数据库,不需要复杂配置。记忆就是工作区里的 Markdown 文件。

1.1 两层结构

~/.openclaw/workspace/├── MEMORY.md           # 长期记忆(curated)└── memory/    ├── 2026-03-12.md   # 今日日志    ├── 2026-03-11.md   # 昨日日志    └── ...

MEMORY.md:存放需要长期记住的信息。

  • 用户的偏好、习惯
  • 重要的决策和理由
  • 关键的项目背景

memory/YYYY-MM-DD.md:存放日常笔记。

  • 当天发生的事
  • 临时的上下文
  • 对话的流水账

两层分离的设计,让 Agent 既有"长期记忆"(不会忘记),又有"短期记忆"(每天刷新)。

1.2 自动加载策略

Agent 在每个 session 开始时:

  1. 读取 MEMORY.md(仅在主会话中,群组聊天不加载)
  2. 读取 今天 + 昨天的 daily log

这个策略很克制:不会加载所有历史,只加载最近两天的上下文。

原因很简单:token 有成本,历史越长,成本越高。

1.3 自动记忆刷新

这是 OpenClaw 的一个巧妙设计。

当 session 接近自动压缩(compaction)时,系统会触发一个静默的 agent turn

"Session nearing compaction. Store durable memories now."

Agent 会被提醒:把重要的东西写进 memory 文件,然后再压缩上下文。

这样即使 session 被压缩,记忆也不会丢失。

{  agents: {    defaults: {      compaction: {        memoryFlush: {          enabled: true,          softThresholdTokens: 4000,          prompt: "Write lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing."        }      }    }  }}

1.4 为什么选择 Markdown?

  • 人类可读
    你可以直接打开文件查看、编辑
  • 版本控制友好
    用 Git 追踪记忆的变化
  • 工具生态丰富
    Obsidian、VS Code 都能直接编辑
  • 无 vendor lock-in
    你的记忆不属于任何平台

这是一种 "透明记忆" 的设计哲学。


二、Memory-Search:让记忆可搜索

Markdown 文件是存储层。但要找到相关记忆,需要检索层。

OpenClaw 提供了 memory_search 工具,支持语义搜索。

2.1 向量搜索原理

将每个 memory 文件切分成 chunks(~400 tokens),然后:

  1. 调用 embedding API,将每个 chunk 转成向量
  2. 存储在本地 SQLite 中
  3. 查询时,将 query 也转成向量,计算相似度
Query: "我喜欢什么咖啡?"    │    ▼ Embedding[0.12, -0.34, 0.56, ...]    │    ▼ 相似度计算┌─────────────────────────────────────┐│ MEMORY.md#L10-L15  score: 0.89     ││ "咖啡偏好:手冲,浅烘焙..."           │├─────────────────────────────────────┤│ memory/2026-03-10.md#L5-L8  0.72   ││ "今天在 Blue Bottle 买了..."         │└─────────────────────────────────────┘

2.2 混合搜索:向量 + BM25

纯向量搜索有个问题:对精确关键词不敏感。

比如搜索一个具体的 API key 或 ID,向量搜索可能找不到。

OpenClaw 的解决方案:混合搜索

Final Score = 0.7 × VectorScore + 0.3 × BM25Score
  • 向量搜索
    擅长语义匹配("我喜欢的咖啡" vs "咖啡偏好")
  • BM25 关键词搜索
    擅长精确匹配("a828e60" 这种 ID)

两者结合,既理解意图,又不错过细节。

2.3 MMR 去重与时序衰减

两个高级特性,让搜索结果更智能。

MMR(Maximal Marginal Relevance):减少重复结果。

查询:"家庭网络配置"不用 MMR:1. memory/2026-02-10.md - "配置了 Omada 路由器..."2. memory/2026-02-08.md - "配置了 Omada 路由器..."(几乎一样!)3. memory/network.md - "路由器配置汇总"用 MMR(λ=0.7):1. memory/2026-02-10.md - "配置了 Omada 路由器..."2. memory/network.md - "路由器配置汇总"(多样性提升!)3. memory/2026-02-05.md - "设置了 AdGuard DNS..."

时序衰减:新记忆优先。

Score = RawScore × e^(-λ × ageInDays)半衰期 30 天:- 今天的笔记:100%- 7 天前:84%- 30 天前:50%- 90 天前:12.5%

这样,过时的信息不会淹没最新的上下文。

2.4 Embedding 提供商选择

OpenClaw 支持多种 embedding 方案:

提供商
特点
适用场景
OpenAI
质量高,支持 Batch API
大规模索引
Gemini
Google 生态集成
已有 Gemini key
Voyage
专注 embedding,效果好
追求质量
Mistral
欧洲合规友好
GDPR 场景
Ollama
本地部署
离线环境
Local
GGUF 模型,无网络
隐私敏感

请在微信客户端打开

三、OpenViking:Agent-Native 记忆引擎

当记忆需求变得复杂,Markdown 文件可能不够用。

OpenViking 是字节跳动开源的 Agent-native context database,专为 AI Agent 设计。

3.1 架构设计

OpenViking 的核心概念:

viking://user/memories/          # 用户级记忆viking://agent/memories/         # Agent 级记忆viking://agent/skills/           # Agent 技能viking://agent/instructions/     # Agent 指令

两层 scope

  • user scope
    跨 Agent 共享的用户记忆
  • agent scope
    特定 Agent 的私有记忆

这种设计支持多 Agent 场景:每个 Agent 有自己的记忆空间,同时共享用户的偏好信息。

3.2 自动捕获与召回

OpenViking 插件提供了两个核心功能:

Auto-Capture:对话结束后自动提取记忆。

User: "我明天要去上海出差"Agent: "好的,需要我帮你查航班吗?"    │    ▼ Auto-CaptureSession → Memory Extraction    │    ▼ 生成记忆- [events] 明天去上海出差- [preferences] 可能偏好航班查询服务

Auto-Recall:每次对话前自动检索相关记忆。

User: "明天的行程是什么?"    │    ▼ Auto-RecallQuery: "明天 行程"    │    ▼ 匹配记忆[viking://user/memories/events/xxx] "明天去上海出差"    │    ▼ 注入上下文<relevant-memories>- [events] 明天去上海出差</relevant-memories>

3.3 记忆层级结构

OpenViking 的记忆是树状结构

viking://user/memories/├── preferences/│   ├── coffee.md          # 咖啡偏好│   └── travel.md          # 旅行偏好├── events/│   ├── 2026-03-12-shanghai.md  # 明天的出差│   └── 2026-03-05-birthday.md  # 朋友的生日└── relationships/    ├── alice.md           # Alice 的信息    └── bob.md             # Bob 的信息

每个节点有三个层级:

  • Level 0
    根节点(memories)
  • Level 1
    分类节点(preferences、events)
  • Level 2
    叶子节点(具体的记忆文件)

检索时,系统优先返回叶子节点(level 2),因为那是最具体的信息。

3.4 记忆排名算法

OpenViking 插件实现了智能的排名算法:

// 伪代码function rankMemory(item, query) {  let score = item.semanticScore;  // 语义相似度  // 叶子节点加分  if (item.level === 2) score += 0.12;  // 时间相关查询 + 事件记忆加分  if (query.hasTemporal && item.isEvent) score += 0.10;  // 偏好相关查询 + 偏好记忆加分  if (query.hasPreference && item.isPreference) score += 0.08;  // 词汇重叠加分  score += lexicalOverlap(query, item);  return score;}

这个算法让最相关的记忆排在前面。


四、Telos + Obsidian:目的驱动的记忆框架

在讨论 OpenClaw 默认 Memory 和 OpenViking 之外,还有另一种思路:Telos

由 Daniel Miessler 创建,Telos 是一个"深度上下文框架"(Deep Context Framework),用于帮助任何实体——从个人到组织——表达他们的目的

4.1 核心理念:SPQA

Telos 采用 SPQA 模型

  • S (Situation)
    当前状态
  • P (Purpose)
    目的/使命
  • Q (Questions)
    关键问题
  • A (Answers)
    答案/策略

这个模型来自情报分析领域,用于组织复杂的信息层次。

4.2 结构化的记忆文件

Telos 定义了一个标准化的 Markdown 结构:

## MissionThe mission of [entity] is to [purpose].## Goals (G1 > G2 > G3...)- G1: 最高优先级目标- G2: 次高优先级目标## KPIs- K1: 关键指标 1- K2: 关键指标 2## Risk Register- R1: 风险 1- R2: 风险 2## Projects- P1: 项目 1 | 描述 | 优先级 | 负责人 | 状态

每个目标的重要性递减:G1 的重要性是 G2 的 2 倍,G2 是 G3 的 2 倍,以此类推

4.3 与 Obsidian 的结合

Telos 天然适合 Obsidian:

  1. 双向链接
    Goals、Projects、People 之间可以相互链接
  2. 图谱视图
    可视化目的与目标的关系
  3. 标签系统
    快速分类和检索

4.4 Agent 如何使用 Telos

当 Agent 读取 Telos 文件后,它能理解:

用户问:"我应该优先做什么?"Agent 分析:├── Mission: "确保企业持续认证用户..."├── G1: "20% 市场份额" (最高优先级)├── 当前风险: R1 "安全团队人手不足 50%"└── 项目列表: WAF Install (Critical)...Agent 回答:"根据你的 Telos,当前最高优先级是完成 WAF 安装项目。"

Telos 让 Agent 理解"为什么",而不只是"是什么"。


五、三方对比

5.1 核心维度

维度
默认 Memory
OpenViking
Telos + Obsidian
核心目标
记录上下文
管理记忆
表达目的
存储方式
Markdown 文件
结构化数据库
Markdown 文件
人类可读性
✅ 直接编辑
⚠️ 需客户端
✅ 直接编辑
自动捕获
❌ 需手动
✅ 自动提取
❌ 需手动
自动召回
❌ 需手动搜索
✅ 自动注入
❌ 需手动引用
多 Agent
❌ 共享工作区
✅ scope 隔离
双向链接
✅ Obsidian 原生
目的推理
✅ 内置优先级
学习曲线

5.2 本质区别

默认 Memory / OpenViking 解决的是:

"我之前说过什么?"

Telos 解决的是:

"我为什么要做这件事?"

前者是回顾性记忆,后者是前瞻性目的


六、如何选择?

场景 1:个人知识管理

如果你用 Obsidian 管理笔记,想要一个"AI 能理解的目的文件":

→ Telos + Obsidian

场景 2:AI 助手/聊天机器人

如果你想要一个能记住对话的 AI:

→ 默认 Memory 或 OpenViking

记忆量小用默认,记忆量大用 OpenViking。

场景 3:专业工作 Agent

如果你有一个负责特定领域的工作 Agent:

→ Telos(定义目的) + OpenViking(记录记忆)

场景 4:企业级多 Agent 系统

如果你有多个 Agent 协作:

→ OpenViking

组合使用

三种方案不是互斥的:


七、总结

AI Agent 的"记忆"正在分化成多个层次。

这不是设计上的巧合,而是需求驱动演进的结果。

7.1 为什么需要分层?

如果把所有记忆塞进一个"大池子",问题会层出不穷:

  • 召回噪音
    问"今天吃什么",却翻出三年前的饮食记录
  • token 浪费
    每次对话都加载全部历史,成本失控
  • 优先级混乱
    用户的长期偏好,被临时的聊天记录淹没
  • 更新成本
    修改一个偏好,要遍历所有相关对话

分层,本质上是"信息生命周期管理"。

不同类型的记忆,有不同的:

  • 时效性
    有些今天有用,有些十年有效
  • 检索频率
    有些每次都要,有些偶尔才用
  • 更新频率
    有些从不改变,有些每天都在变

7.2 四层记忆架构

7.3 各层职责详解

L0 上下文层:工作记忆的延伸

  • 职责
    承载当前任务相关的临时信息
  • 生命周期:短(小时到天)
  • 典型内容
    • "今天要完成 X"
    • "刚才讨论的 Y 方案"
    • "用户提到的临时需求"
  • 检索策略
    时间窗口优先,默认只加载今天 + 昨天
  • 更新方式
    实时追加,定期归档或丢弃

L1 记忆层:语义化的经验库

  • 职责
    存储可复用的经验、事件、关系
  • 生命周期
    中(天到月)
  • 典型内容
    • "上周去了上海出差"
    • "用户偏好 Python,不喜欢 JavaScript"
    • "Alice 是用户的朋友,做 AI 研究"
  • 检索策略
    语义相似度优先,按 query 动态召回
  • 更新方式
    对话后自动提取(Auto-Capture),持续积累

L2 偏好层:稳定的人格画像

  • 职责
    定义用户的核心偏好和长期背景
  • 生命周期
    长(月到年)
  • 典型内容
    • "咖啡偏好:手冲,浅烘焙"
    • "工作风格:异步沟通,厌恶无效会议"
    • "技术栈:TypeScript + React,不用 Vue"
  • 检索策略
    全量加载(token 成本可控,内容精简)
  • 更新方式
    手动编辑或重大决策后更新

L3 目的层:存在意义的表达

  • 职责
    回答"我为什么做这件事"的终极问题
  • 生命周期
    极长(年到十年)
  • 典型内容
    • Mission:存在的使命
    • Goals:分优先级的目标(G1 > G2 > G3...)
    • KPIs:衡量成功的指标
    • Risks:需要关注的风险
  • 检索策略
    按需引用,涉及优先级决策时加载
  • 更新方式
    季度/年度复盘,或重大方向调整

7.4 层级间的交互逻辑

检索优先级:从上往下,越上层越"贵",但越关键。

  • L3:涉及重大决策才加载
  • L2:主会话默认加载
  • L1:按语义相似度动态召回
  • L0:按时间窗口优先

7.5 分层的本质:信息价值衰减 vs 复用价值提升

关键洞察

  • L0 信息量大,但复用价值衰减快(今天的日志,下周就没用了)
  • L3 信息量小,但复用价值持久(Mission 十年有效)

设计启示

  • L0:需要压缩、裁剪、自动归档
  • L1:需要结构化、语义检索、自动提取
  • L2:需要精简、人类可编辑、稳定
  • L3:需要明确、层级化、关联决策

7.6 实践建议

场景
推荐组合
原因
个人聊天助手
L0 + L2
成本低,偏好稳定,日志够用
工作助理
L0 + L1 + L2
需要记住事件和偏好
专业领域 Agent
L1 + L2 + L3
需要目的推理 + 经验积累
企业级多 Agent
L1(scope 隔离)+ L3(共享 Mission)
隔离记忆,统一方向

延伸阅读

  • OpenClaw Memory 文档
  • OpenViking GitHub
  • Telos GitHub

— 完 —

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-21 01:49:10 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/477842.html
  2. 运行时间 : 0.137537s [ 吞吐率:7.27req/s ] 内存消耗:4,737.94kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b7b7672241b47d15e382a0f3871c04a9
  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.68 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.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000996s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001422s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000686s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000641s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001550s ]
  6. SELECT * FROM `set` [ RunTime:0.000541s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001571s ]
  8. SELECT * FROM `article` WHERE `id` = 477842 LIMIT 1 [ RunTime:0.001131s ]
  9. UPDATE `article` SET `lasttime` = 1774028950 WHERE `id` = 477842 [ RunTime:0.029489s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000695s ]
  11. SELECT * FROM `article` WHERE `id` < 477842 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001221s ]
  12. SELECT * FROM `article` WHERE `id` > 477842 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003215s ]
  13. SELECT * FROM `article` WHERE `id` < 477842 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005992s ]
  14. SELECT * FROM `article` WHERE `id` < 477842 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001839s ]
  15. SELECT * FROM `article` WHERE `id` < 477842 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001578s ]
0.139107s