乐于分享
好东西不私藏

OpenClaw 调用大模型原理--前端开发可直接借鉴

OpenClaw 调用大模型原理--前端开发可直接借鉴

OpenClaw 调用大模型的核心是 「统一抽象层 + 上下文组装 + 工具调用循环 + 结果标准化」,本质是把大模型从“纯文本生成”升级为“可执行任务的决策大脑”,前端做 AI 应用时可直接复用这套架构与流程。

一、核心定位:大模型是“决策大脑”,OpenClaw 是“执行身体”

  • • 大模型(LLM):只负责 意图理解、任务拆解、工具选择、结果整合,不直接操作本地/网络资源。
  • • OpenClaw:负责 上下文管理、模型调用、工具执行、结果反馈、循环调度,是连接用户、大模型与本地能力的“执行网关”。
  • • 前端借鉴点:AI 应用必须做“决策层(LLM)与执行层(前端/后端)分离”,前端只做交互与结果渲染,不承担复杂推理。

二、整体架构:四层抽象,解耦模型与业务

OpenClaw 把大模型调用拆为 4 层标准化模块,前端可直接参考分层设计:

层级
核心职责
前端对应模块
关键作用
Gateway 网关层
接收用户输入、统一消息格式、会话管理、结果返回
前端请求拦截器、会话状态管理、消息收发组件
屏蔽渠道差异(Web/APP/CLI),统一入口出口
Agent 智能体层
上下文组装、模型调度、工具注册、循环控制
AI 对话核心服务、上下文管理器、工具调度器
大模型调用的“大脑”,控制整个流程
LLM 适配层
统一模型接口、参数格式化、响应解析、异常处理
大模型 API 封装类、请求适配器、响应转换器
屏蔽不同模型(GPT/通义/Llama)差异,即插即用
Skill/工具层
封装本地能力(文件/API/代码)、参数校验、执行逻辑
前端工具函数、API 调用模块、本地操作封装
大模型的“手”,把决策变成可执行动作

三、核心流程:Agent 循环(input → context → model → tools → repeat → reply)

这是 OpenClaw 调用大模型的 标准执行链路,前端做 AI 对话/工具调用时可完全复用:

1. 输入接收与会话管理(Gateway 层)

  • • 用户通过前端界面发送指令(如“帮我整理桌面文件”)。
  • • Gateway 识别会话 ID,合并历史消息,按会话序列化处理(避免并发冲突)。
  • • 前端借鉴:用会话 ID 隔离不同用户/对话,前端维护会话状态,后端/AI 服务只处理单会话逻辑。

2. 上下文组装(Agent 层,最关键一步)

Agent 把 所有必要信息拼接成高质量 Prompt,发给大模型,决定模型理解与决策的准确性:

  • • 系统提示(System Prompt):定义角色、能力边界、输出格式(如“你是文件管理助手,可调用 file_rename 技能”)。
  • • 会话历史:用户与 AI 的多轮对话,保持上下文连贯性。
  • • 可用工具列表:把所有 Skill 转为 OpenAI Function Calling 格式(tools 数组),告诉大模型能调用哪些能力。
  • • 记忆/配置:用户偏好、系统配置、历史任务结果,增强个性化。
  • • 前端借鉴:前端负责收集用户上下文(历史、偏好),传给后端/AI 服务,不直接拼接 Prompt,避免前端逻辑过重。

3. 大模型调用(LLM 适配层)

  • • 统一请求格式:Agent 把组装好的上下文转为 OpenAI 兼容格式modelmessagestoolstemperature 等参数)。
  • • 模型调度:根据配置选择模型(GPT/通义/Llama),支持自动降级、负载均衡。
  • • 发送请求:通过 HTTP/SDK 调用模型 API,支持流式响应(前端实时展示打字效果)。
  • • 前端借鉴:封装统一的 LLM 请求函数,前端只传“用户输入 + 会话 ID”,由服务层处理模型选择与参数格式化。

4. 响应解析与决策(Agent 层)

大模型返回两种结果,Agent 分别处理:

  • • 纯文本结果:直接返回给用户,结束流程。
  • • 工具调用结果(Function Calling):模型返回需要调用的 Skill 名称 + 参数,Agent 解析并触发工具执行。
  • • 前端借鉴:前端统一处理两种响应:文本直接渲染;工具调用显示“执行中”状态,等待结果返回。

5. 工具执行与结果反馈(Skill/Agent 层)

  • • Agent 调用对应 Skill(如 file_rename_batch),执行本地操作(文件/API/代码)。
  • • 工具执行结果(成功/失败 + 数据)返回给 Agent。
  • • Agent 把工具结果 重新拼接到上下文,再次调用大模型,让模型基于结果做下一步决策(多轮工具调用)。
  • • 前端借鉴:前端不执行工具逻辑,只展示执行状态;工具执行由后端/Node 层处理,前端只接收最终结果。

6. 循环终止与结果返回

  • • 终止条件:模型返回纯文本、达到最大轮次(默认 20 轮)、工具执行失败无法恢复。
  • • Agent 整合所有结果,生成最终回复,通过 Gateway 返回给前端。
  • • 前端借鉴:前端设置超时与最大轮次限制,避免无限循环,提升用户体验。

四、LLM 适配层:统一接口,屏蔽模型差异(前端核心借鉴点)

OpenClaw 最值得前端复用的是 「模型无关的统一调用层」,无论对接 GPT、通义千问还是本地 Llama,上层逻辑完全不变:

1. 统一请求格式(OpenAI 兼容)

所有模型都转为 OpenAI Chat Completions 格式,前端/服务层只需要对接这一种格式:

{
"model":"qwen-turbo",// 模型名,可配置
"messages":[
{"role":"system","content":"你是文件管理助手,可调用文件操作技能"},
{"role":"user","content":"帮我批量重命名桌面图片"}
],
"tools":[
{
"type":"function",
"function":{
"name":"file_rename_batch",
"description":"批量重命名指定目录文件",
"parameters":{
"type":"object",
"properties":{
"fileDir":{"type":"string","description":"文件目录"},
"prefix":{"type":"string","description":"文件名前缀"}
},
"required":["fileDir"]
}
}
}
],
"temperature":0.7,
"stream":true// 流式响应,前端实时展示
}

2. 统一响应解析

无论模型返回格式如何,都解析为标准化结构:

// 标准化响应类型(前端可直接使用)
interfaceLLMResponse {
type"text" | "tool_call"// 文本/工具调用
content?: string// 文本内容
toolCalls?: Array<{
namestring// 技能名称
parametersRecord<stringany>; // 技能参数
    }>;
error?: string// 错误信息
}

3. 模型适配器设计(前端可直接复用)

用 策略模式 封装不同模型的适配逻辑,新增模型只需加一个适配器,不修改上层代码:

// 统一 LLM 接口(前端/服务层通用)
interfaceLLMProvider {
generate(messagesMessage[], toolsTool[]): Promise<LLMResponse>;
generateStream(messagesMessage[], toolsTool[]): AsyncGenerator<LLMResponse>;
}

// 通义千问适配器
classQianwenProviderimplementsLLMProvider {
privateapiKeystring;
constructor(apiKeystring) {
this.apiKey = apiKey;
    }
asyncgenerate(messagesMessage[], toolsTool[]): Promise<LLMResponse> {
// 转为通义格式 → 调用 API → 解析为标准化响应
// 通义千问API请求格式
const res = await axios.post(
"https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation",
            {
model"qwen-turbo",
input: { messages },
parameters: {
tools: tools.map(tool => ({
type"function",
function: tool.function,
                    })),
                },
            },
            {
headers: { Authorization`Bearer ${this.apiKey}` },
            }
        );
// 解析响应
const text = res.data.output.text;
returnparseAIResponse(text);
    }
}

// GPT 适配器
classOpenAIProviderimplementsLLMProvider {
privateapiKeystring;
constructor(apiKeystring) {
this.apiKey = apiKey;
    }
asyncgenerate(messagesMessage[], toolsTool[]): Promise<LLMResponse> {
// 直接用 OpenAI 格式 → 调用 API → 解析
const res = await axios.post(
"https://api.openai.com/v1/chat/completions",
            {
model"gpt-3.5-turbo",
                messages,
tools: tools.map(tool => ({
type"function",
function: tool.function,
                })),
temperature0.7,
            },
            {
headers: { Authorization`Bearer ${this.apiKey}` },
            }
        );
// 解析响应
const text = res.data.choices[0].message.content;
returnparseAIResponse(text);
    }
}

// 模型工厂(前端/服务层调用)
classLLMFactory {
staticgetProvider(type"openai" | "qianwen" | "llama"configany): LLMProvider {
switch (type) {
case"openai":
returnnewOpenAIProvider(config.apiKey);
case"qianwen":
returnnewQianwenProvider(config.apiKey);
default:
thrownewError("不支持的模型类型");
        }
    }
}

4. 前端调用示例(极简代码)

// 前端调用 AI 服务(只传用户输入 + 会话 ID)
asyncfunctioncallAI(userInputstringsessionIdstring) {
try {
// 1. 前端收集上下文(历史消息,从状态管理中取)
const messages = getSessionHistory(sessionId);
        messages.push({ role"user"content: userInput });

// 2. 调用统一 LLM 服务(后端/Node 层封装)
const response = awaitfetch("/api/llm/generate", {
method"POST",
bodyJSON.stringify({ messages, sessionId, streamtrue }),
        });

// 3. 处理流式响应(前端实时渲染)
if (!response.okthrownewError(`API错误:${response.status}`);
const reader = response.body.getReader();
const decoder = newTextDecoder();
let finalText = "";
while (true) {
const { done, value } = await reader.read();
if (done) break;
            finalText += decoder.decode(value);
// 前端渲染文本/工具执行状态
renderAIResponse(finalText);
        }
    } catch (error) {
renderAIError(error.message);
    }
}

五、Skill 与大模型的联动原理(前端工具调用核心)

OpenClaw 让大模型调用 Skill 的核心是 「Skill 自动转 Function Calling + 执行结果回传」,前端做工具调用时可完全复用:

1. Skill 自动注册为工具

OpenClaw 启动时扫描 src/skills 目录,把每个 Skill 的 idnamedescriptionparameters 自动转为 OpenAI tools 格式,发给大模型。

  • • 前端借鉴:前端工具/组件自动注册为 AI 可调用能力,无需手动写 Prompt 告诉模型有哪些工具。

2. 工具调用流程(前端可直接复用)

  1. 1. 大模型返回 tool_call,包含 Skill 名称与参数。
  2. 2. Agent 校验参数合法性(与 Skill 的 parameters 匹配)。
  3. 3. 执行 Skill 逻辑(文件/API/代码操作)。
  4. 4. 把执行结果(成功/失败 + 数据)拼回 messages,再次调用大模型。
  5. 5. 大模型基于结果生成下一步决策或最终回复。
  • • 前端借鉴:前端工具调用完全由 AI 决策,前端只负责执行与状态展示,不干预决策逻辑。

六、前端开发核心借鉴点(直接落地)

1. 架构分层(必做)

  • • 交互层:前端页面、会话管理、消息渲染、状态展示。
  • • 服务层:统一 LLM 调用、上下文组装、工具调度、循环控制(Node/后端)。
  • • 能力层:Skill/工具封装(文件/API/代码),与业务解耦。

2. 上下文管理(关键)

  • • 前端维护 会话历史,每次请求传给服务层。
  • • 服务层拼接 系统提示 + 历史 + 工具列表,生成高质量 Prompt。
  • • 避免前端直接拼接 Prompt,保持前端轻量化。
  • • 上下文截断:前端/服务层应设置最大消息数(如最近10轮),超过后自动截断早期消息,避免上下文过长导致模型报错。

3. 统一模型接口(核心)

  • • 用 策略模式 封装不同模型适配器,支持一键切换模型。
  • • 所有模型请求/响应转为 标准化格式,上层逻辑不变。
  • • 前端只对接统一接口,不关心底层模型类型。

4. 工具调用联动(落地)

  • • 前端工具/组件自动注册为 AI 可调用能力。
  • • AI 决策调用工具,前端执行并返回结果。
  • • 支持 多轮工具调用,实现复杂任务自动化。

5. 流式响应与状态管理(体验优化)

  • • 开启 stream: true,前端实时展示 AI 打字效果。
  • • 工具执行时显示“执行中”状态,提升用户感知。
  • • 设置 超时与最大轮次,避免无限循环。

七、常见问题与避坑(前端开发必看)

  1. 1. 模型响应格式不兼容:用统一适配器解析,前端只处理标准化响应。
  2. 2. 上下文过长导致模型报错:前端/服务层做 上下文截断,保留最近 N 轮对话。
  3. 3. 工具调用参数错误:服务层做 参数校验,与 Skill 定义一致,前端只传用户输入。
  4. 4. 流式响应乱码:前端用 TextDecoder 正确解码,按 chunk 逐步渲染。
  5. 5. 多轮调用超时:设置合理的超时时间,前端友好提示“任务执行中”。

八、总结

OpenClaw 调用大模型的本质是 「把大模型从文本生成器升级为任务决策器」,核心是 统一抽象、上下文驱动、工具联动、循环执行。前端开发 AI 应用时,直接复用这套架构:分层设计、统一模型接口、上下文管理、工具自动注册、多轮循环执行,就能快速打造出可落地、易扩展、体验好的 AI 应用。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-21 17:21:28 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/480521.html
  2. 运行时间 : 0.124424s [ 吞吐率:8.04req/s ] 内存消耗:4,812.97kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=03e12131efeaaf0c6fdfdfdec7610d69
  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.000556s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000680s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000280s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000290s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000516s ]
  6. SELECT * FROM `set` [ RunTime:0.000219s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000509s ]
  8. SELECT * FROM `article` WHERE `id` = 480521 LIMIT 1 [ RunTime:0.000425s ]
  9. UPDATE `article` SET `lasttime` = 1774084888 WHERE `id` = 480521 [ RunTime:0.014765s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000296s ]
  11. SELECT * FROM `article` WHERE `id` < 480521 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000494s ]
  12. SELECT * FROM `article` WHERE `id` > 480521 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001424s ]
  13. SELECT * FROM `article` WHERE `id` < 480521 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002313s ]
  14. SELECT * FROM `article` WHERE `id` < 480521 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001284s ]
  15. SELECT * FROM `article` WHERE `id` < 480521 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001814s ]
0.128331s