乐于分享
好东西不私藏

OpenClaw 工具与服务层 (Tools & Services Layer)分析

OpenClaw 工具与服务层 (Tools & Services Layer)分析

文档版本:2026.3.24  最后更新:2026-03-25

openclaw版本:v2026.3.24

1. 层概述

职责: 为 AI 代理层提供所有"外部能力":浏览器控制、画布渲染、媒体处理、语音合成、定时任务、记忆检索等

定位: 系统的"外设层",将现实世界的能力(网络、文件、音视频、UI 渲染)包装为 AI 可调用的工具接口

核心特性:

  • • Playwright 全功能浏览器自动化(含 Chrome 扩展支持)
  • • Canvas / A2UI 交互式可视化渲染
  • • 全媒体管道(图像/音频/视频/PDF)
  • • 多引擎 TTS(OpenAI / ElevenLabs / Edge TTS / sherpa-onnx 本地)
  • • Cron 定时任务服务(cron 表达式 + 自然语言调度)
  • • 向量记忆系统(SQLite-vec 本地存储 + 远程嵌入)

2. 主要组件

工具与服务层 · 6大核心组件

2.1 浏览器工具 (Browser Tools)

浏览器工具架构

路径src/browser/

职责: 通过 Playwright + Chrome DevTools Protocol (CDP) 实现完整的浏览器自动化,供 AI 执行网页操作、截图、表单填写等任务。

关键子模块:

模块
文件
说明
Playwright 会话
pw-session.ts
Playwright 会话管理,连接/断开/页面切换
CDP 代理
cdp.ts
cdp-proxy-bypass.ts
CDP 协议封装,支持绕过代理
工具核心
pw-tools-core.ts
截图、交互、表单操作、下载
AI 操作接口
pw-ai.ts
pw-ai-module.ts
AI 驱动的高层操作封装
角色快照
pw-role-snapshot.ts
无障碍角色树快照(替代 DOM dump)
Chrome 管理
chrome.ts
chrome.executables.ts
Chrome 可执行文件发现、用户目录管理
服务器控制
server.ts
server-context.tsserver-lifecycle.ts
HTTP 控制服务器(本地页面/截图 API)
多 Profile
profiles.ts
profiles-service.ts
多 Chrome Profile 管理(同时登录多账号)
扩展中继
extension-relay.ts
Chrome 扩展消息中继
导航守卫
navigation-guard.ts
防止导航到受限 URL
认证
control-auth.ts
http-auth.ts
本地控制服务认证

浏览器工具调用示例:

// AI 调用 browser.navigateawait pwToolsCore.navigate(page, 'https://example.com')// AI 调用 browser.screenshotconst screenshot = await pwToolsCore.screenshot(page)// AI 调用 browser.clickawait pwToolsCore.click(page, { selector: '#button' })

关键依赖:

  • • playwright — 浏览器自动化
  • • chrome-launcher — Chrome 启动管理

新增组件 (v2026.3):

Chrome MCP (src/browser/chrome-mcp.ts)

将 Chrome 浏览器作为 MCP(Model Context Protocol)服务器暴露给代理,提供基于 MCP 协议的浏览器操作接口,支持多 Profile、多标签页管理。

功能
函数
截图
takeChromeMcpScreenshot()
DOM 快照
takeChromeMcpSnapshot()
导航
navigateChromeMcpPage()
点击/填表
clickChromeMcpElement()
fillChromeMcpElement()
标签管理
openChromeMcpTab()
closeChromeMcpTab()focusChromeMcpTab()
JS 执行
evaluateChromeMcpScript()

会话管理ChromeMcpSession + pendingSessions/sessions 会话池,支持多 Profile 并发

Browser Bridge Server (src/browser/bridge-server.ts)

启动 NoVNC 桥接服务器startBrowserBridgeServer()),将浏览器视频流通过 WebSocket 代理到远端观察者,适用于远程调试和监控场景。

关键函数
说明
startBrowserBridgeServer()
启动 NoVNC 桥接代理服务器
stopBrowserBridgeServer()
停止桥接服务器
buildNoVncBootstrapHtml()
生成引导页 HTML

Client Actions API (src/browser/client-actions-core.ts 等)

提供高层浏览器客户端操作接口,将底层 Playwright / CDP 操作封装为可跨 Profile、跨标签页调用的统一 API。

文件
说明
client-actions-core.ts
导航、截图、下载、表单等核心操作
client-actions-observe.ts
页面观察(等待内容/事件)
client-actions-state.ts
客户端状态查询
client-actions-url.ts
URL 操作工具

2.2 Canvas / A2UI 渲染

路径src/canvas-host/

职责: 为 AI 提供可视化渲染画布,通过嵌入式 Web 服务器渲染交互式 A2UI 界面(JSON 驱动的组件树)。

关键组件:

文件
说明
server.ts
Canvas Host HTTP 服务器(Fastify)
a2ui.ts
A2UI 渲染引擎接口
file-resolver.ts
静态文件解析(HTML/JS/CSS)
a2ui/
A2UI 前端 Bundle 目录

Canvas 服务器配置:

CanvasHostServer {  port: number           // 监听端口(默认随机)  basePath: string       // URL 基础路径  canvasRoot: string     // 静态文件根目录}

Node 端可调用的 Canvas 命令(通过 ACP 协议下发):

命令
说明
canvas.present
打开/展示 Canvas 窗口
canvas.hide
隐藏 Canvas 窗口
canvas.navigate
导航到指定 URL
canvas.evalJS
在 Canvas 上下文执行 JavaScript
canvas.snapshot
截取 Canvas 快照
canvas.a2ui.push
推送 A2UI 组件数据
canvas.a2ui.pushJSONL
批量推送 A2UI JSON Lines
canvas.a2ui.reset
重置 A2UI 状态

2.3 媒体处理管道 (Media Pipeline)

路径src/media/

职责: 处理所有媒体资产的加载、转换、存储和服务,包括图像压缩、音频转码、视频处理和 PDF 提取。

媒体流程:

输入(URL / Base64 / 文件路径)      ↓inbound-path-policy — 路径安全检查      ↓fetch.ts — 下载/加载媒体内容      ↓store.ts — 写入临时媒体目录(带 TTL 清理)      ↓处理(image-ops / ffmpeg-exec / pdf-extract)      ↓outbound-attachment.ts — 打包为渠道附件格式

子模块详情:

模块
文件
说明
媒体存储
store.ts
临时文件管理(TTL 自动清理,DEFAULT_TTL_MS)
HTTP 获取
fetch.ts
媒体内容获取(含限速保护)
图像处理
image-ops.ts
图像压缩/裁剪/格式转换
音频处理
audio.ts
audio-tags.ts
音频格式转换、ID3 标签读取
FFmpeg
ffmpeg-exec.ts
ffmpeg-limits.ts
FFmpeg 进程调用封装
PDF 提取
pdf-extract.ts
PDF 文本/图像提取
PNG 编码
png-encode.ts
像素缓冲区编码为 PNG
MIME 检测
mime.ts
MIME 类型检测/归一化
Base64
base64.ts
Base64 编码/解码工具
媒体服务
server.ts
媒体文件 HTTP 服务(供渠道引用)
媒体服务
host.ts
媒体宿主注册

媒体目录~/.openclaw/media/ (临时缓存,按 TTL 清理)

大小限制MEDIA_MAX_BYTES(默认保护,拒绝超大文件)


2.4 语音合成 TTS (Text-to-Speech)

路径src/tts/

职责: 将 AI 输出的文本转为语音,支持多种 TTS 引擎,适配不同平台和质量需求。

支持的 TTS 引擎:

引擎
函数
说明
OpenAI TTS
openaiTTS()tts-1
 / tts-1-hd,6 种声音
ElevenLabs
elevenLabsTTS()
高质量语音克隆,需 API Key
Edge TTS
edgeTTS()
微软 Edge 免费 TTS(多语言)
sherpa-onnx
本地推理
完全离线(src/agents/skills.sherpa-onnx-tts-bin.test.ts

TTS 指令解析parseTtsDirectives() — 从 AI 回复中提取 [tts: voice=xxx] 等指令

文本预处理prepare-text.ts — Markdown 清理、长文本分段

声音选项(OpenAI)alloyechofableonyxnovashimmer


2.5 Cron 定时任务服务

路径src/cron/

职责: 提供定时/周期性 AI 任务调度,支持 cron 表达式、自然语言时间表达式,并管理任务执行历史。

核心类CronServicesrc/cron/service.ts

关键子模块:

文件
说明
service.ts
Cron 服务主类:任务注册/调度/执行/持久化
schedule.ts
调度时间计算(next run time)
normalize.ts
时间表达式规范化
parse.ts
Cron 表达式解析
isolated-agent.ts
隔离的代理执行环境(每个 cron 任务独立上下文)
delivery.ts
任务结果投递到目标渠道
store.ts
任务持久化存储
run-log.ts
任务执行日志记录
session-reaper.ts
旧会话清理器
heartbeat-policy.ts
心跳 OK 消息抑制策略(避免重复通知)
stagger.ts
整点任务错峰执行(避免集中负载)

Cron 任务格式:

{  "id": "daily-summary",  "schedule": "0 9 * * *",       // Cron 表达式 或自然语言  "prompt": "生成今日新闻摘要",  "agentId": "my-agent",  "deliverTo": { "channel": "telegram", "account": "user123" }}

任务存储路径~/.openclaw/agents/<agentId>/cron/jobs.json


2.6 向量记忆系统 (Memory System)

路径src/memory/

职责: 为 AI 提供长期记忆存储和语义检索能力,基于向量嵌入实现相似度搜索和混合(BM25 + 向量)检索。

架构:

用户消息 / AI 输出      ↓embedding 生成(多提供者)      ↓SQLite-vec 向量存储 + FTS5 全文索引      ↓MMR 排序(最大边际相关性)      ↓注入 System Prompt 或作为工具调用结果返回

关键组件:

文件
说明
manager.tsMemoryIndexManager
 — 向量索引核心管理类
embeddings.ts
嵌入向量生成(统一接口)
embeddings-openai.ts
OpenAI 嵌入(text-embedding-ada-002 等)
embeddings-gemini.ts
Google Gemini 嵌入
embeddings-voyage.ts
Voyage AI 嵌入(专为检索优化)
embeddings-ollama.ts
Ollama 本地嵌入
embeddings-mistral.ts
Mistral 嵌入
sqlite-vec.ts
SQLite-vec 向量存储接口
hybrid.ts
BM25 全文 + 向量混合检索
mmr.ts
最大边际相关性(MMR)结果去重排序
search-manager.ts
搜索管理器(聚合多种检索策略)
qmd-manager.ts
QMD(Query→Memory→Docs)管道管理
backend-config.ts
存储后端配置(本地 vs 远程)
batch-runner.ts
批量嵌入任务队列
temporal-decay.ts
时间衰减因子(老记忆权重降低)

新增组件 (v2026.3):

文件
说明
query-expansion.ts
多语言查询展开(expandQueryForFts / expandQueryWithLlm),支持中/英/日/韩/阿/西/葡停用词过滤
multimodal.ts
多模态记忆(图像/音频/视频文件嵌入),MEMORY_MULTIMODAL_SPECS 定义各模态规范
embeddings-remote-client.ts
远程嵌入客户端(HTTP 调用外部嵌入服务)
embeddings-remote-provider.ts
远程嵌入提供者适配层
batch-gemini.ts
Gemini 批量嵌入
batch-http.ts
HTTP 通用批量嵌入
batch-openai.ts
OpenAI 批量嵌入
batch-voyage.ts
Voyage 批量嵌入
qmd-query-parser.ts
QMD 查询解析器
qmd-scope.ts
QMD 作用域管理(按 agentId 隔离)
qmd-process.ts
QMD 管道执行器
session-files.ts
会话文件内存索引(把会话文件纳入记忆检索范围)

嵌入提供者优先级: Voyage → OpenAI → Gemini → Mistral → Ollama(本地);远程提供者通过 embeddings-remote-provider.ts 接入

多模态记忆: 当 isMemoryMultimodalEnabled() 为真时,图像/音频/视频文件会同步生成多模态嵌入,MemoryMultimodalModality 包含 image / audio / video 三类

存储格式: SQLite 文件(~/.openclaw/agents/<agentId>/memory/index.sqlite

扩展记忆后端:

  • • extensions/memory-core/ — 核心内存扩展
  • • extensions/memory-lancedb/ — LanceDB 向量存储后端

2.7 链接理解 (Link Understanding)

路径src/link-understanding/

职责: 自动检测消息中的 URL,抓取并理解链接内容,将摘要或全文注入代理上下文。

关键文件:

文件
说明
detect.ts
URL 检测(正则 + 白名单过滤)
runner.ts
链接抓取 + 内容提取运行器
apply.ts
将链接内容应用到消息上下文
format.ts
链接内容格式化(Markdown)

2.8 媒体理解 (Media Understanding)

路径src/media-understanding/

职责: 借助视觉模型(VLM)对图像描述生成摘要,供不支持视觉输入的模型使用。


3. 对外提供的接口

工具与服务层通过工具注册表(src/agents/tool-catalog.ts)向代理层暴露以下工具接口:

工具名
说明
实现路径
browser.navigate
导航到 URL
src/browser/pw-tools-core.ts
browser.screenshot
页面截图
src/browser/pw-tools-core.ts
browser.click/fill/select
页面交互
src/browser/pw-tools-core.ts
canvas.present
渲染 Canvas
src/canvas-host/
 + ACP
canvas.a2ui.push
推送 A2UI
src/canvas-host/a2ui.ts
media.save
保存媒体
src/media/store.ts
tts.speak
文本转语音
src/tts/tts.ts
cron.add/list/remove
Cron 任务管理
src/cron/service.ts
memory.search
语义记忆检索
src/memory/search-manager.ts
memory.add
写入记忆
src/memory/manager.ts

4. 与其他层的交互

4.1 上游(Agent 层 → 工具服务层)

AI 决策调用工具(tool_use block)      ↓tool-policy-pipeline 验证权限      ↓分发到对应工具服务(browser / canvas / media 等)      ↓执行结果返回 tool_result,注入对话历史

4.2 下游(工具服务层 → 数据存储层)

媒体文件 → ~/`.openclaw/media/` (临时缓存)记忆数据 → ~/`.openclaw/agents/<id>/memory/*.sqlite`Cron 状态 → ~/`.openclaw/agents/<id>/cron/`Canvas 静态 → `src/canvas-host/a2ui/`

4.3 跨层通信(Canvas → Node)

Agent Layer 发出 canvas.present 命令      ↓通过 ACP 协议下发到目标 Node(macOS/iOS/Android)      ↓Node 的 CanvasHostServer 渲染 A2UI 界面

5. 关键代码路径

src/browser/├─ pw-session.ts          # Playwright 会话管理├─ pw-tools-core.ts       # 截图/交互工具核心├─ pw-ai.ts               # AI 高层操作封装├─ chrome.ts              # Chrome 启动/管理├─ server.ts              # 控制 HTTP 服务器├─ server-context.ts      # 服务器状态上下文├─ cdp.ts                 # CDP 协议封装├─ profiles.ts            # 多 Profile 管理├─ chrome-mcp.ts          # Chrome as MCP Server(新增)├─ bridge-server.ts       # NoVNC 桥接服务器(新增)├─ client-actions-core.ts # 客户端操作核心 API(新增)└─ client-actions-*.ts    # 客户端操作分模块(新增)src/canvas-host/├─ server.ts              # Canvas Host HTTP Server├─ a2ui.ts                # A2UI 引擎接口└─ a2ui/                  # 前端 Bundlesrc/media/├─ store.ts               # 媒体临时存储(TTL 清理)├─ fetch.ts               # 媒体获取├─ image-ops.ts           # 图像处理├─ audio.ts               # 音频处理├─ ffmpeg-exec.ts         # FFmpeg 封装└─ pdf-extract.ts         # PDF 内容提取src/tts/├─ tts-core.ts            # TTS 引擎实现(OpenAI/ElevenLabs/Edge)└─ tts.ts                 # TTS 统一入口src/cron/├─ service.ts             # CronService 主类├─ isolated-agent.ts      # 隔离代理执行├─ delivery.ts            # 结果投递└─ store.ts               # 任务持久化src/memory/├─ manager.ts             # MemoryIndexManager 核心├─ embeddings.ts          # 嵌入向量统一接口├─ sqlite-vec.ts          # SQLite-vec 存储├─ hybrid.ts              # 混合检索├─ mmr.ts                 # MMR 排序├─ search-manager.ts      # 搜索管理器├─ query-expansion.ts     # 多语言查询展开(新增)├─ multimodal.ts          # 多模态记忆(新增)├─ embeddings-remote-*.ts # 远程嵌入支持(新增)├─ batch-*.ts             # 批量嵌入(Gemini/HTTP/OpenAI/Voyage,新增)├─ qmd-query-parser.ts    # QMD 查询解析(新增)├─ qmd-scope.ts           # QMD 作用域(新增)└─ session-files.ts       # 会话文件索引(新增)src/link-understanding/   # 链接内容理解src/media-understanding/  # 媒体内容理解(VLM)

6. 技术实现

6.1 核心技术

技术
用途
playwright
浏览器自动化(Chromium/Firefox/WebKit)
ffmpeg
音视频转码(外部进程调用)
SQLite + sqlite-vec
本地向量存储(无需额外服务)
better-sqlite3
高性能同步 SQLite 驱动
sherpa-onnx
本地离线 TTS 推理
Fastify
Canvas Host HTTP 服务器

6.2 设计模式

  • • 适配器模式: TTS 引擎、嵌入提供者统一接口,可热插拔
  • • 策略模式backend-config.ts 支持本地/远程记忆后端切换
  • • 观察者模式: 浏览器工具通过事件通知页面状态变化
  • • 工厂模式MemoryIndexManager 按 agentId 按需创建实例

6.3 性能优化

策略
说明
嵌入批量处理
batch-runner.ts
 — 批量生成 embedding,减少 API 调用
记忆缓存
INDEX_CACHE
 + INDEX_CACHE_PENDING — 内存中缓存活跃索引
媒体 TTL 清理
cleanOldMedia()
 — 定期清理过期媒体文件
Cron 错峰
stagger.ts
 — 整点任务错开 60s 内随机延迟执行
导航守卫缓存
预编译 URL 黑名单正则

6.4 安全设计

机制
说明
inbound-path-policy.ts
媒体 URL 入站路径策略(拒绝内网地址)
navigation-guard.ts
浏览器导航黑名单(防止访问内部服务)
Canvas Host 认证
本地 Token 认证,防止未授权访问
媒体大小限制
MEDIA_MAX_BYTES
 保护,防止超大文件攻击
记忆隔离
每个 agentId 独立向量存储,不同代理记忆完全隔离

7. v2026.3 变更摘要

特性
路径
说明
Chrome as MCP Server
src/browser/chrome-mcp.ts
浏览器操作通过 MCP 协议暴露给代理
NoVNC 桥接服务器
src/browser/bridge-server.ts
远程浏览器视频流代理,支持远程调试
Client Actions API
src/browser/client-actions-*.ts
高层浏览器操作 API,跨 Profile/标签页
多语言查询展开
src/memory/query-expansion.ts
FTS 关键词提取 + LLM 查询扩展(7语言停用词)
多模态记忆
src/memory/multimodal.ts
图像/音频/视频文件嵌入纳入记忆检索
远程嵌入支持
src/memory/embeddings-remote-*.ts
HTTP 调用外部嵌入服务
批量嵌入扩展
src/memory/batch-*.ts
Gemini/HTTP/OpenAI/Voyage 批量嵌入
QMD 增强
qmd-query-parser.ts
qmd-scope.ts
查询解析和作用域隔离
会话文件索引
src/memory/session-files.ts
会话历史文件纳入语义检索范围
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-05 18:15:23 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/492359.html
  2. 运行时间 : 0.110716s [ 吞吐率:9.03req/s ] 内存消耗:4,875.37kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a82c33af741d66760999bfec9a021528
  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.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000533s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001050s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000349s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000282s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000495s ]
  6. SELECT * FROM `set` [ RunTime:0.000192s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000522s ]
  8. SELECT * FROM `article` WHERE `id` = 492359 LIMIT 1 [ RunTime:0.001515s ]
  9. UPDATE `article` SET `lasttime` = 1775384123 WHERE `id` = 492359 [ RunTime:0.003899s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000239s ]
  11. SELECT * FROM `article` WHERE `id` < 492359 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000480s ]
  12. SELECT * FROM `article` WHERE `id` > 492359 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000420s ]
  13. SELECT * FROM `article` WHERE `id` < 492359 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000851s ]
  14. SELECT * FROM `article` WHERE `id` < 492359 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001882s ]
  15. SELECT * FROM `article` WHERE `id` < 492359 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004015s ]
0.112335s