乐于分享
好东西不私藏

OpenClaw 记忆召回系统:置信度计算与混合搜索机制

OpenClaw 记忆召回系统:置信度计算与混合搜索机制

一、记忆召回置信度计算与使用

1.1置信度计算方法

OpenClaw 的记忆召回系统使用多种方法计算置信度,主要包括:

1. 向量搜索置信度

  • • 基于嵌入向量相似度:使用余弦相似度计算查询向量与文档向量之间的相似性
  • • 实现位置src/memory/manager-search.ts 中的 searchVector 函数
  • • 范围:0-1,值越高表示相似度越高

2. 关键词搜索置信度

  • • 基于 BM25 算法:通过 bm25RankToScore 函数将 BM25 排名转换为 0-1 之间的分数
  • • 实现位置src/memory/hybrid.ts 中的 bm25RankToScore 函数
  • • 范围:0-1,值越高表示关键词匹配度越高

3. 混合搜索置信度

  • • 加权平均:结合向量搜索和关键词搜索的结果
  • • 权重配置
    • • 向量权重 (vectorWeight):默认为 0.7
    • • 文本权重 (textWeight):默认为 0.3
  • • 实现位置src/memory/hybrid.ts 中的 mergeHybridResults 函数

置信度的使用方式

1. 阈值过滤

  • • 最小置信度阈值:默认为 0.35 (DEFAULT_MIN_SCORE)
  • • 过滤逻辑:搜索结果会过滤掉低于此阈值的条目
  • • 实现位置src/memory/manager.ts 中的 search 方法

2. 搜索模式处理

  • • 混合模式:同时使用向量和关键词搜索,结合两者的置信度
  • • 仅 FTS 模式:当没有嵌入提供者时,仅使用关键词搜索
  • • 向量模式:当 FTS 不可用时,仅使用向量搜索

3. 结果排序与限制

  • • 排序:按置信度分数降序排列
  • • 限制:最多返回 maxResults 个结果(默认为 6)
  • • 候选结果:先获取更多候选结果(maxResults * candidateMultiplier),然后进行过滤

4. 特殊处理

  • • 关键词匹配调整:当混合模式下没有符合阈值的结果时,会适当放宽阈值以保留纯关键词匹配的结果
  • • 时间衰减:可选启用时间衰减功能,降低旧文档的置信度

1.2配置参数

参数
默认值
说明
位置
minScore
0.35
最小置信度阈值
src/agents/memory-search.ts:93
vectorWeight
0.7
向量搜索权重
src/agents/memory-search.ts:95
textWeight
0.3
关键词搜索权重
src/agents/memory-search.ts:96
maxResults
6
最大结果数
src/agents/memory-search.ts:92
candidateMultiplier
4
候选结果乘数
src/agents/memory-search.ts:97

搜索流程

  1. 1. 查询处理:清理查询文本
  2. 2. 同步检查:如果启用了搜索时同步,执行内存同步
  3. 3. 模式判断
    • • 无嵌入提供者:使用仅 FTS 模式
    • • FTS 不可用:使用仅向量模式
    • • 两者都可用:使用混合模式
  4. 4. 执行搜索
    • • 向量搜索:计算嵌入向量并执行相似性搜索
    • • 关键词搜索:使用 FTS 执行关键词匹配
  5. 5. 结果合并
    • • 混合模式:加权合并两种结果
    • • 单一模式:直接使用对应结果
  6. 6. 置信度过滤:过滤掉低于 minScore 的结果
  7. 7. 结果限制:返回前 maxResults 个结果

通过这些机制,OpenClaw 的记忆召回系统能够有效地评估搜索结果的相关性,并根据置信度过滤和排序结果,确保返回最相关的记忆内容。

二、时间衰减功能

2.1核心实现原理

OpenClaw 的时间衰减功能通过指数衰减模型实现,用于降低旧文档的置信度,使搜索结果更加偏向于近期内容。

1. 衰减计算模型

exportfunctioncalculateTemporalDecayMultiplier(params: {
  ageInDays: number;
  halfLifeDays: number;
}
): number {
const lambda = toDecayLambda(params.halfLifeDays);
const clampedAge = Math.max(0, params.ageInDays);
if (lambda <= 0 || !Number.isFinite(clampedAge)) {
return1;
  }
returnMath.exp(-lambda * clampedAge);
}

关键公式

  • • 衰减率计算:lambda = ln(2) / halfLifeDays
  • • 衰减乘数:decay = exp(-lambda * ageInDays)

工作原理

  • • 每经过一个半衰期(halfLifeDays),文档的权重会减少一半
  • • 例如:如果半衰期设置为30天,60天前的文档权重会变为原来的1/4

2. 时间戳提取

系统通过以下方式确定文档的时间戳:

  1. 1. 日期命名的记忆文件
    • • 从文件名提取日期,如 memory/2024-01-01.md
    • • 使用正则表达式 /(?:^|\/)memory\/(\d{4})-(\d{2})-(\d{2})\.md$/ 匹配
  2. 2. 常青知识文件
    • • 根级记忆文件(如 MEMORY.md
    • • 非日期命名的记忆文件
    • • 这些文件被视为"常青"知识,不应用时间衰减
  3. 3. 其他文件
    • • 使用文件系统的修改时间(mtime)

2.2配置参数

参数
默认值
说明
enabled
false
是否启用时间衰减
halfLifeDays
30
半衰期(天),每经过这个时间,文档权重减少一半

2.3工作流程

  1. 1. 搜索执行:执行向量搜索和关键词搜索
  2. 2. 结果合并:计算混合分数(向量得分 * 向量权重 + 文本得分 * 文本权重)
  3. 3. 时间衰减应用
    • • 提取每个结果的时间戳
    • • 计算文档年龄(以天为单位)
    • • 计算衰减乘数
    • • 将衰减乘数应用到混合分数上
  4. 4. 结果排序:按衰减后的分数降序排列
  5. 5. MMR重排序:如果启用,进行多样性重排序

2.4时间衰减的影响

示例:半衰期为30天的情况

文档年龄
衰减乘数
原始分数
衰减后分数
0天(今天)
1.0
0.8
0.8
30天
0.5
0.8
0.4
60天
0.25
0.8
0.2
90天
0.125
0.8
0.1

特殊处理

  1. 1. 常青知识:根级记忆文件和非日期命名的记忆文件不应用时间衰减
  2. 2. 无时间戳文件:无法确定时间戳的文件不应用时间衰减
  3. 3. 时间戳提取失败:如果无法提取时间戳,保持原始分数不变

2.5总结

OpenClaw 的时间衰减功能通过指数衰减模型,根据文档的年龄动态调整其置信度分数,使搜索结果更加偏向于近期内容。这对于需要保持信息新鲜度的场景非常重要,如项目文档、会议记录等。

时间衰减的实现考虑了不同类型文件的特点,对常青知识文件不应用衰减,同时通过灵活的配置参数,允许用户根据具体需求调整衰减速度。

三、记忆召回触发时机与流程分析

3.1触发时机

OpenClaw 的记忆召回主要在以下情况下触发:

1. 显式工具调用

  • • 用户查询触发:当用户提出涉及以下内容的问题时,系统会调用 memory_search 工具
    • • 先前的工作
    • • 决策历史
    • • 日期和时间
    • • 人员信息
    • • 偏好设置
    • • 待办事项

2. 系统自动触发

  • • 强制召回步骤:根据工具描述,记忆搜索是一个"强制召回步骤",在回答问题前自动执行
  • • 搜索时同步:当启用 sync.onSearch 配置时,搜索前会自动同步内存

3. 配置相关触发

  • • 会话启动同步:当启用 sync.onSessionStart 配置时,会话开始时会预热内存
  • • 定时同步:当设置了 sync.intervalMinutes 时,会定期同步内存

3.2召回流程

记忆召回的完整流程如下:

1. 工具注册与初始化

  1. 1. 工具注册memory_search 工具在 tool-catalog.ts 中注册到 "memory" 部分
  2. 2. 工具创建:通过 createMemorySearchTool 函数创建记忆搜索工具实例
  3. 3. 上下文解析:解析配置和代理会话信息,确定是否启用记忆搜索

2. 搜索执行

  1. 1. 参数处理:解析查询文本、最大结果数、最小分数等参数
  2. 2. 管理器获取:调用 getMemorySearchManager 获取内存搜索管理器
  3. 3. 同步检查:如果启用了搜索时同步,执行内存同步
  4. 4. 搜索执行
    • • 向量搜索:计算查询的嵌入向量,执行相似性搜索
    • • 关键词搜索:使用 FTS 执行关键词匹配
    • • 混合模式:结合向量和关键词搜索结果,应用权重计算
    • • 时间衰减:如果启用,应用时间衰减降低旧文档的置信度
    • • MMR重排序:如果启用,进行多样性重排序

3. 结果处理

  1. 1. 引用添加:根据配置添加来源引用
  2. 2. 结果限制:根据字符预算限制结果大小
  3. 3. 状态收集:收集搜索状态信息(提供者、模型、模式等)
  4. 4. 结果返回:返回处理后的搜索结果

4. 错误处理

  • • 管理器不可用:返回内存搜索不可用的错误信息
  • • 搜索失败:捕获并处理搜索过程中的错误
  • • 配额错误:特殊处理嵌入提供者配额耗尽的情况

3.3技术实现细节

1. 搜索模式

  • • 混合模式:同时使用向量和关键词搜索,结合两者的优势
  • • 仅 FTS 模式:当没有嵌入提供者时,仅使用关键词搜索
  • • 向量模式:当 FTS 不可用时,仅使用向量搜索

2. 结果排序与过滤

  • • 置信度过滤:过滤掉低于 minScore 的结果(默认 0.35)
  • • 结果排序:按置信度分数降序排列
  • • 结果限制:最多返回 maxResults 个结果(默认 6)

3. 内存同步

  • • 自动同步:在搜索前和会话启动时自动同步
  • • 文件监听:监控记忆文件的变化,及时更新索引
  • • 会话同步:同步会话记录到内存中

3.4总结

OpenClaw 的记忆召回系统是一个强大的功能,通过语义搜索和关键词搜索的结合,为用户提供了快速访问历史信息的能力。它在用户提出相关问题时自动触发,通过多层次的搜索和处理,返回最相关的记忆内容。

记忆召回的触发时机主要是用户查询涉及历史信息时,流程包括工具调用、搜索执行、结果处理和错误处理等步骤。系统通过灵活的配置选项,允许用户根据具体需求调整记忆搜索的行为。

四、指数衰减模型

关键公式

  • • 衰减率计算:lambda = ln(2) / halfLifeDays
  • • 衰减乘数:decay = exp(-lambda * ageInDays)

这是一个经典的指数衰减模型,广泛应用于放射性衰变、药代动力学、缓存过期等领域。

4.1核心思想

半衰期(Half-life):物质衰减到原来一半所需的时间。

公式设计的目标是:每经过一个半衰期,数值恰好减半

4.2公式拆解

第一步:衰减率 λ 的推导

lambda = ln(2) / halfLifeDays

为什么用 ln(2)?

指数衰减的通式是:N(t) = N₀ * e^(-λt)

要让 t = halfLifeDays 时 N(t) = N₀ / 2

N₀/2 = N₀ * e^(-λ * halfLifeDays)
1/2 = e^(-λ * halfLifeDays)
ln(1/2) = -λ * halfLifeDays
-ln(2) = -λ * halfLifeDays
λ = ln(2) / halfLifeDays ≈ 0.693 / halfLifeDays

ln(2) ≈ 0.693 是确保"减半"这个特性的数学常数。

第二步:衰减乘数的计算

decay = exp(-lambda * ageInDays)
      = e^(-ln(2)/halfLifeDays * ageInDays)
      = 2^(-ageInDays/halfLifeDays)

4.3直观理解(以 halfLifeDays = 30 为例)

文档年龄
计算过程
衰减乘数
0天
2^(-0/30) = 2^0
1.0
(100%)
30天
2^(-30/30) = 2^(-1)
0.5
(50%)
60天
2^(-60/30) = 2^(-2)
0.25
(25%)
90天
2^(-90/30) = 2^(-3)
0.125
(12.5%)

规律:每过一个半衰期,权重乘以 1/2。

4.4在 OpenClaw 中的应用

// 原始置信度 * 衰减乘数 = 最终置信度
finalScore = hybridScore * decayMultiplier

效果

  • • 新文档(0-30天):置信度几乎不受影响
  • • 30天前文档:置信度打 5 折
  • • 60天前文档:置信度打 2.5 折
  • • 90天前文档:置信度仅剩 12.5%

这样系统会优先返回近期记忆,但旧文档不会完全消失(只是权重降低)。

4.5为什么选指数衰减而非线性

特性
指数衰减
线性衰减
近期保护
新文档权重几乎不变
新文档也会被削
远期处理
旧文档缓慢趋近于0
到某天后直接归零
数学性质
连续、平滑、可导
有拐点
物理意义
符合遗忘曲线规律
人为硬性截断

指数衰减更符合艾宾浩斯遗忘曲线——人脑也是先快后慢地遗忘。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-29 11:28:51 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/490124.html
  2. 运行时间 : 0.148566s [ 吞吐率:6.73req/s ] 内存消耗:4,728.06kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=95535449dfa966fafc39081947bae1cf
  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.001124s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001541s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000720s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000668s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001431s ]
  6. SELECT * FROM `set` [ RunTime:0.000589s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001484s ]
  8. SELECT * FROM `article` WHERE `id` = 490124 LIMIT 1 [ RunTime:0.003667s ]
  9. UPDATE `article` SET `lasttime` = 1774754931 WHERE `id` = 490124 [ RunTime:0.004959s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000591s ]
  11. SELECT * FROM `article` WHERE `id` < 490124 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001063s ]
  12. SELECT * FROM `article` WHERE `id` > 490124 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000920s ]
  13. SELECT * FROM `article` WHERE `id` < 490124 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001402s ]
  14. SELECT * FROM `article` WHERE `id` < 490124 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001663s ]
  15. SELECT * FROM `article` WHERE `id` < 490124 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002011s ]
0.152437s