乐于分享
好东西不私藏

手把手搭建 + 深度架构解析:OpenClaw 私人 AI 助手完全指南

手把手搭建 + 深度架构解析:OpenClaw 私人 AI 助手完全指南

从零部署你的专属 AI 助理,再到读懂它背后的优雅设计——这一篇就够了

最近 AI 助手圈刮起了一股“私人部署”风,厌倦了各大平台的限流和隐私担忧,我也折腾了一把,搭了个完全自己掌控的 AI 助手——OpenClaw。今天这篇文章,我会先把安装配置技能扩展的完整流程讲清楚,然后带你深入它的架构设计与扩展哲学。不管你是想快速拥有一个属于自己的 AI 助理,还是想学习它背后的优雅设计,这篇都能满足你。


第一部分:从零搭建你的 OpenClaw

为什么选择 OpenClaw?

  • 完全本地掌控
    :所有数据都在你自己的服务器上,无隐私泄露,无内容审核(合法使用前提下)。
  • 多通道支持
    :WhatsApp、Telegram、Slack、Discord、飞书……你常用的聊天软件都能接入。
  • 技能生态
    :通过 ClawHub 一键安装天气、搜索、博客生成、浏览器自动化等技能。
  • 开源免费
    :MIT 协议,代码透明,可二次开发。
  • 多模型支持
    :OpenAI、Anthropic、火山引擎等主流大模型随意切换。

简单说,OpenClaw 就是一个自托管的 AI 助理控制中心,把大模型能力接入你的日常聊天工具,还能无限扩展技能。

环境准备

  • 操作系统
    :Ubuntu 22.04+(macOS 也可,Windows 推荐 WSL2)
  • Node.js
    :Node 24 或 Node 22.16+(必须新版本)
  • 内存
    :≥1GB(推荐 2GB+)
  • 网络
    :能正常访问 AI 模型 API 即可

一键安装

OpenClaw 提供了非常友好的安装脚本,整个过程只需两条命令:

npm install -g openclaw@latest
openclaw onboard --install-daemon

为什么不用 Docker?官方也提供 Docker 镜像,但 npm 安装更简单,升级也方便。--install-daemon 会自动配置 systemd 用户服务,实现开机自启。

安装向导会交互式地问你几个问题:

  1. 模型配置
    :选择 AI 模型,填写 API Key(推荐火山引擎,国内快且便宜)。
  2. 工作空间位置
    :默认 ~/.openclaw/workspace,直接回车。
  3. 通道配置
    :选择聊天平台(如飞书)。
  4. 后台服务
    :确认安装开机启动服务。

跟着提示走就行,对新手非常友好。

部署后验证

openclaw gateway status   # 查看状态
openclaw gateway start    # 手动启动(若未启动)
openclaw doctor           # 全面检查配置问题

doctor 命令会帮你检查 API Key、端口占用、权限安全等,一定要跑一遍

远程访问配置(可选)

如果你把 OpenClaw 部署在 VPS 上,想用手机 APP 访问,推荐使用 Tailscale(官方方案):

// ~/.openclaw/openclaw.json
{
  "gateway": {
    "tailscale": { "mode": "serve" },
    "bind": "loopback"
  }
}

这样 Tailscale 会自动生成 HTTPS 地址,手机连上 Tailscale 网络就能访问,无需域名和 SSL 证书。如果需要公网访问,可将 mode 改为 funnel 并设置密码:

{
  "gateway": {
    "tailscale": { "mode": "funnel" },
    "bind": "loopback",
    "auth": { "mode": "password", "password": "你的密码" }
  }
}

安装技能扩展

OpenClaw 最强大的就是技能系统,通过 ClawHub 一键安装:

npm i -g clawhub               # 安装 CLI
clawhub search weather         # 搜索技能
clawhub install weather        # 安装天气技能
clawhub list                   # 列出已安装技能
clawhub update --all           # 更新所有技能

推荐几个实用技能:

  • weather
    :每日自动推送天气预报。
  • tavily-search
    :让 AI 实时联网搜索。
  • playwright
    :浏览器自动化(截图、点击、提取数据)。
  • healthcheck
    :定期检查服务器 CPU/内存/磁盘。

安装后重启网关生效:

openclaw gateway restart

自定义 AI 助手的性格

工作空间下有四个关键文件:

  • AGENTS.md
    :权限与任务优先级(什么能做什么不能做)。
  • SOUL.md
    :AI 的风格和性格。
  • USER.md
    :关于你的信息(时区、技术栈、爱好等)。
  • TOOLS.md
    :环境信息(API Key、服务器地址等)。

例如我的 SOUL.md

# SOUL.md —— 你的灵魂

我不是聊天机器人,我是助理。

## 核心原则
**真诚帮助,不表演。** 省略"好问题!"、"我很乐意帮你..." —— 直接干活。
**要有自己的观点。** 没有性格的助手就是带步骤的搜索引擎。

## 边界
- 隐私永远是隐私,绝不泄露
- 对外操作拿不准,先问再做

配置后,AI 回答问题干脆利落,效率极高。

常见问题解决

  1. Node 版本过低:使用 nvm 安装 Node 24

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    nvm install 24 && nvm use 24
    npm install -g openclaw@latest
  2. 端口被占用:默认端口 18789,查看并杀掉进程或修改配置

    lsof -i :18789
    kill <pid>
  3. 技能安装失败:检查网络,或手动下载技能放到 ~/openclaw/workspace/skills/


第二部分:深入理解 OpenClaw 的架构设计与扩展哲学

安装完成、跑起来之后,你可能会好奇:它为什么能这么灵活?背后的设计思想是什么?

重新理解 OpenClaw:它到底是什么?

很多人以为 OpenClaw 是另一个 ChatGPT 客户端,其实不然——它是一个个人 AI 助理的控制平面,是所有 AI 能力的“枢纽”。

WhatsApp / Telegram / Slack / Discord / 飞书 / ...
               │
               ▼
┌───────────────────────────────┐
│            Gateway            │  ← 唯一的长生命周期守护进程
│       (控制平面 + WS 网络)     │
│     ws://127.0.0.1:18789      │
└──────────────┬────────────────┘
               │
       ┌───────┼───────┐
       │       │       │
    Pi Agent  CLI   WebChat  ← 各种客户端接入
       │       │       │
    macOS/iOS/Android Nodes  ← 设备节点,执行本地能力
       │       │       │
       ▼       ▼       ▼
    Tools / Skills / Hooks  ← 能力扩展体系

传统 AI 应用 = UI 界面 + 直接调用大模型 API
OpenClaw = 网关控制平面 + 多客户端接入 + 技能扩展体系

它把“接入通道”、“AI 推理”、“能力扩展”三个问题解耦了——你可以随时换模型、随时加通道、随时装新技能,互不干扰。

WebSocket 网关设计:为什么所有东西都走 WebSocket?

  1. 天生适合长连接:网关需要长时间保持和各通道的连接,同时接受客户端实时连接,WebSocket 比 HTTP 短连接高效,比 TCP 自定义协议简单。

  2. 统一的请求-响应+事件推送模型

    • 请求:{type:"req", id, method, params}
    • 响应:{type:"res", id, ok, payload|error}
    • 事件:{type:"event", event, payload}
      一套协议通吃所有场景。
  3. 类型安全的协议设计:用 TypeBox 定义协议,自动生成 JSON Schema 甚至 Swift 模型代码,保证跨平台类型安全。

    // 真实的 OpenClaw 协议定义示例
    export const ConnectRequest = Type.Object({
      deviceId: Type.String(),
      platform: Type.String(),
      challenge: Type.String(),
      signature: Type.Optional(Type.String()),
      role: Type.Optional(Type.Union([Type.Literal('client'), Type.Literal('node')])),
    })

只要你遵循协议,任何语言都可以写客户端——官方已支持 macOS/iOS/Android,你自己写个 Windows 客户端也完全没问题。

节点架构:为什么要把设备和网关分开?

设想一个场景:

  • 网关部署在 VPS 上(稳定在线)
  • 但你想让 Mac 执行截屏、拍照、本地通知
  • 甚至让 Android 手机提供位置、摄像头能力

Node 模式 解决了这个问题:

        VPS 服务器
      ┌──────────┐
      │  Gateway │  ← 负责消息通道、AI 推理、技能执行
      └────┬─────┘
           │ WS over Tailscale
           │
      ┌────▼─────┐      ┌──────────┐
      │ macOS    │  ...  │ Android  │  ← Node 节点,只提供本地能力
      │ 节点     │      │ 节点     │
      └──────────┘      └──────────┘

网关通过 WebSocket 将设备操作命令发给 Node 节点执行,结果返回。例如让 Android 拍照:

  1. 你在飞书发消息:“帮我拍一张客厅的照片”
  2. 网关知道 camera.* 命令需要 Android 节点执行
  3. 网关通过 WebSocket 发 node.invoke 给 Android 节点
  4. Android 拍照并返回图片
  5. 网关把图片发回飞书

网关可以跑在云端,但仍然能使用各个本地设备的能力——你只需在手机上跑一个轻量级的 Node 节点,不用把整个网关塞进手机。

技能系统:为什么它的扩展能力这么强?

技能加载优先级(高优先级覆盖低优先级):

<workspace>/skills          → 你的工作区技能(最高)
<workspace>/.agents/skills
~/.agents/skills
~/.openclaw/skills
bundled skills              → 官方内置技能(最低)
skills.load.extraDirs       → 额外目录(最低)

觉得官方技能不好用?直接在工作区 skills 目录放一个同名技能,就会自动覆盖,不用改任何核心代码。

配置覆盖机制:在 openclaw.json 里对每个技能做配置覆盖,技能作者只需声明需要的配置项。

{
  "skills": {
    "entries": {
      "tavily-search": {
        "enabled": true,
        "apiKey": { "source": "env", "id": "TAVILY_API_KEY" }
      },
      "some-other-skill": { "enabled": false }
    }
  }
}

热重载技能:默认开启文件监听,修改 SKILL.md 或代码后,下次对话自动加载新逻辑,无需重启网关。

Agent Loop 设计:如何处理并发和排队?

  • 每个会话一个队列
    :同一会话的请求串行执行,不会乱序。
  • 支持不同队列模式
    :立即执行或收集批量处理。
  • 全局并发控制
    :避免服务器过载。

这个朴素的方案解决了会话状态一致性问题——两个工具调用不会同时修改会话历史。

钩子系统:在各个环节插入你的逻辑

OpenClaw 允许你在 Agent 执行循环的多个环节插入自定义逻辑:

before_model_resolve    ← 模型解析前,可动态换模型
before_prompt_build     ← Prompt 构建前,注入动态上下文
before_agent_start      ← Agent 开始前
before_tool_call        ← 工具调用前,可拦截或阻止
after_tool_call         ← 工具调用后,处理结果
before_agent_reply      ← Agent 回复前,可干掉回复自己返回
agent_end               ← Agent 结束后,做日志或清理
session_start / session_end
gateway_start / gateway_stop

例如要给所有工具调用加审批流,只需在 before_tool_call 钩子里返回 { block: true } 即可,无需改核心代码。钩子是链式调用的,高优先级可提前终止。

安全模型:默认安全,而非事后补窟窿

  1. 配对认证:任何客户端连接网关都需配对。本地连接自动批准,非本地连接必须手动批准,且每次连接要挑战签名。

  2. 沙箱隔离:可配置让非主会话(如群聊里的其他人消息)跑在 Docker 沙箱中,默认禁用浏览器、Canvas 等敏感工具。

    {
      "agents": {
        "defaults": {
          "sandbox": { "mode": "non-main" }
        }
      }
    }
  3. 审批机制:执行敏感 shell 命令需要用户手动批准,防止模型幻觉执行危险操作。

Tailscale 集成:为什么官方这么推崇?

  • 默认加密
    :HTTPS 免证书。
  • 身份认证
    :只有你 Tailscale 网络内的设备能访问,无需额外用户系统。
  • 内网穿透
    :网关绑在 127.0.0.1,不暴露公网,从根源减少攻击面。
  • Funnel 支持
    :需要公网访问时一键开启,证书自动配置。

OpenClaw 甚至会自动帮你配置 Tailscale Serve/Funnel,你只需在配置里写个 mode

设计哲学:小工具粘合,而非大而全

把复杂问题分解成简单问题,每个部分只做一件事,然后用清晰的接口把它们粘起来。

  • Gateway 只做控制平面和通信,不自己写推理。
  • 技能只做能力扩展,每个技能聚焦一个领域。
  • Node 只提供设备能力,不干涉业务逻辑。
  • 钩子只做扩展点,不强求你用什么方式扩展。

这种设计让项目非常容易理解和扩展:想加新通道?按通道接口实现就行。想加新技能?写个 SKILL.md 放对目录就行。


第三部分:进阶建议与使用心得

1. 善用工作区覆盖

想修改某个技能,直接复制到 <workspace>/skills 目录下修改,升级 OpenClaw 也不会覆盖你的改动。

2. 合理配置钩子

可以做很多有趣的事:每次对话结束自动备份、敏感操作短信审批、统计 token 用量、统一回复格式等。

3. 节点分层使用

网关放 VPS,各个手机电脑当节点接入——网关永远在线,设备提供本地能力,手机只跑轻量节点不费电。

4. 自定义 AGENTS / SOUL

花点时间写好 AGENTS.md 和 SOUL.md,定义好权限和风格。我自己的 SOUL.md 就一句话:“真诚帮助,不表演,直接干活”,用起来爽得不行。

实际使用体验

  • 响应速度快
    :网关在自己服务器上,比网页版 ChatGPT 还快。
  • 稳定性好
    :systemd 托管,进程掉了自动拉起。
  • 可扩展性强
    :想要什么功能就装什么技能,甚至可以自己写。
  • 真正私人
    :所有对话记录存在本地,不用担心被训练或泄露。

我现在每天早上,飞书群里已经自动推送天气预报、新闻摘要、每日口语练习——相当于一个私人秘书。


结语

OpenClaw 是目前个人部署 AI 助手的最佳方案之一:安装简单、生态丰富、完全开源免费。更难得的是,它的架构设计分而治之、清晰优雅——好的架构不是设计成什么都能做,而是设计好扩展点,让别人能轻易加上能力。

如果你还没用过,看完这篇文章,不妨花半小时动手搭一个。如果你已经在用,希望架构解析部分能让你对它有更深的理解,发掘出更多玩法。

项目源码:https://github.com/openclaw/openclaw
官方文档:https://docs.openclaw.ai
技能市场:https://clawhub.com

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-04 15:28:10 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/499103.html
  2. 运行时间 : 0.092487s [ 吞吐率:10.81req/s ] 内存消耗:4,856.40kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1a106373a2930033cb5252550fc7fa4e
  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.000526s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000829s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000335s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000252s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000499s ]
  6. SELECT * FROM `set` [ RunTime:0.000203s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000574s ]
  8. SELECT * FROM `article` WHERE `id` = 499103 LIMIT 1 [ RunTime:0.000638s ]
  9. UPDATE `article` SET `lasttime` = 1775287691 WHERE `id` = 499103 [ RunTime:0.001719s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000230s ]
  11. SELECT * FROM `article` WHERE `id` < 499103 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000402s ]
  12. SELECT * FROM `article` WHERE `id` > 499103 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000423s ]
  13. SELECT * FROM `article` WHERE `id` < 499103 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000630s ]
  14. SELECT * FROM `article` WHERE `id` < 499103 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000739s ]
  15. SELECT * FROM `article` WHERE `id` < 499103 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001663s ]
0.094326s