乐于分享
好东西不私藏

10 分钟开发一个工具分析小红书数据!AI 的个人生产力提升是一个组合问题,不是愿不愿意用的问题

10 分钟开发一个工具分析小红书数据!AI 的个人生产力提升是一个组合问题,不是愿不愿意用的问题

10 分钟开发一个工具分析小红书数据!

AI 的个人生产力提升是一个工具组合问题,不是愿不愿意用的问题!

很多人讨论 AI 生产力时,问题常常被简化成一句话:你愿不愿意用 AI?

这其实是一个误导性问题。

真正决定个人生产力能不能被 AI 放大的,通常不是“态度”,而是“工具组合”。一个人当然可以很愿意用 AI,每天打开 ChatGPT 问十几个问题,但如果 AI 始终停留在聊天框里,不能读取当前网页,不能理解本地文件,不能接入浏览器,不能长期运行一个服务,不能嵌入工作流,那么它能带来的提升很快会碰到天花板。

反过来,一个人未必需要把 AI 当成某种宏大信仰。只要他的工具链设计得足够顺手,AI 会像搜索、截图、浏览器插件、快捷键一样自然进入日常任务。生产力提升不是靠“多问 AI”,而是靠把 AI 放到正确的位置上。

这篇文章想从一个具体案例讲起:我们做了一个“小红书网页即时 AI 解析助手”。需求很简单:

支持在各种网页端直接嵌入 AI 对话入口,AI 可自动抓取当前网页内容,可直接提问分析。例如在小红书笔记网页端,可以让 AI 提炼笔记亮点、拆解内容数据表现、提取评论区高频关键词,实现网页内容即时 AI 解析。

看起来这是一个“让 AI 分析网页”的需求,但真正落地时,它暴露的问题非常典型:AI 个人生产力不是单点模型能力问题,而是端到端工具组合问题。


一、问题不在 AI 会不会分析,而在它能不能进入现场

如果把小红书笔记内容复制出来,粘贴给 AI,让它分析标题、正文、评论关键词,模型当然能做。

问题是,这样的流程太慢。

真实场景里,用户不是为了“使用 AI”而使用 AI。用户是在浏览网页、看笔记、刷案例、找灵感、拆竞品、看评论。这个时候如果要复制标题、复制正文、展开评论、整理格式、打开聊天窗口、粘贴、补充说明,整个动作链路就已经把生产力吃掉了。

所以真正的问题不是:

AI 能不能分析小红书笔记?

而是:

AI 能不能在我正在看的网页里,直接拿到我眼前这篇内容,并且马上回答?

这就是“进入现场”的问题。

聊天框里的 AI 是一个外部顾问。嵌入网页里的 AI 才像一个随身副驾驶。

因此第一层工具组合出现了:

  • 浏览器扩展:负责嵌入页面入口
  • Content Script:负责读取当前 DOM
  • 本地 Bridge:负责承接网页请求
  • AI CLI / OpenClaw / Codex:负责真实模型分析
  • 小红书页面:负责提供当前登录态下已经渲染出来的内容

这不是单个 AI 模型能解决的,它需要一组工具互相接力。


二、为什么不是直接爬小红书?

很多人的第一反应可能是:那就写个爬虫吧。

但这类网页端即时分析场景,爬虫未必是最优解。尤其是小红书这种页面,内容通常有几个特点:

  1. 依赖登录态
  2. 动态渲染
  3. 评论区滚动加载
  4. 页面结构经常变化
  5. 某些内容只在用户当前浏览器环境里可见

如果用服务端爬虫,马上会遇到登录、风控、渲染、接口变动等问题。而用户明明已经在浏览器里打开了页面,浏览器已经拿到了渲染结果、登录态和可见评论,我们为什么不直接读取当前页面?

所以第一版架构选择了浏览器扩展,而不是服务端爬虫。

核心逻辑是:

function extractPageContext() {  const metaDescription =    document.querySelector('meta[name="description"]')?.content || "";  const headings = visibleText("h1,h2,h3").slice(040);  const text = (document.body?.innerText || "")    .replace(/\n{3,}/g"\n\n")    .replace(/[ \t]{2,}/g" ")    .trim()    .slice(028000);  return {    url: location.href,    host: location.host,    pageTitle: document.title,    metaDescription,    headings,    xiaohongshu: isXiaohongshu() ? extractXhsContext() : null,    text  };}

这里的关键不是代码复杂,而是架构判断:

让 AI 读取“用户已经看到的东西”,比重新构造一个服务端抓取系统更贴近个人生产力场景。

个人生产力工具最重要的是少打断、少搬运、少切换。浏览器当前页面就是最自然的上下文容器。


三、嵌入入口:AI 应该出现在工作流里,而不是工作流之外

第一版实现中,我们在页面右下角注入了一个 AI 按钮。用户打开网页后,可以直接唤起分析面板。

简化后的注入结构大概是这样:

const root = document.createElement("div");root.id = "codex-page-ai-root";root.innerHTML = `  <button class="codex-ai-launcher" title="AI 解析当前网页">AI</button>  <section class="codex-ai-panel" aria-label="AI 解析当前网页">    <div class="codex-ai-top">      <div>        <div class="codex-ai-title">网页 AI 解析</div>        <div class="codex-ai-subtitle">自动读取当前页面已渲染内容</div>      </div>      <button class="codex-ai-close" title="关闭">×</button>    </div>    <div class="codex-ai-actions">      <button data-prompt="提炼这篇小红书笔记的内容亮点、爆点和可复用结构。">        提炼亮点      </button>      <button data-prompt="拆解这篇笔记的数据表现线索,包括标题、封面暗示、互动诱因和可能的传播原因。">        拆解表现      </button>      <button data-prompt="提取当前评论区高频关键词、用户痛点和可追问选题。">        评论关键词      </button>    </div>    <div class="codex-ai-log"></div>    <form class="codex-ai-input">      <textarea placeholder="直接问:这篇笔记适合怎么仿写?"></textarea>      <button type="submit">发送</button>    </form>  </section>`;

这个小面板看似只是 UI,但它改变了用户与 AI 的关系。

传统方式是:

  1. 用户看网页
  2. 用户复制内容
  3. 用户打开 AI
  4. 用户描述任务
  5. 用户粘贴内容
  6. AI 分析

嵌入式方式变成:

  1. 用户看网页
  2. 用户点 AI
  3. AI 自动读取当前页面
  4. 用户直接提问

这不是少了两步的问题,而是认知负担的下降。工具越贴近现场,使用成本越低,生产力提升越容易发生。

很多 AI 产品失败,并不是因为模型弱,而是因为入口错了。入口不在用户的任务现场,AI 就会变成“另一个要维护的工具”。


四、Bridge:浏览器不能直接做所有事

浏览器扩展可以读取页面内容,但它不适合直接承载复杂 AI 调用。

原因包括:

  • API Key 不应该暴露在前端
  • 本地 CLI 只能由本地服务调用
  • 后续可能要接 OpenClaw、Codex、OpenAI API、私有模型
  • 需要统一处理超时、错误、fallback
  • 浏览器跨域、安全策略会限制很多能力

所以我们做了一个本地 bridge,监听 127.0.0.1:4319

const server = createServer(async (request, response=> {  if (request.method === "GET" && request.url === "/health") {    sendJson(response, 200, {      ok: true,      port,      aiProvider,      aiCommand,      aiAgent,      aiSessionId,      aiTo,      codexCommand    });    return;  }  if (request.method === "POST" && request.url === "/analyze") {    const payload = await readBody(request);    const answer = await analyze(payload);    sendJson(response, 200, { answer });    return;  }  sendJson(response, 404, { error: "not found" });});

浏览器扩展只负责发请求:

const response = await fetch("http://127.0.0.1:4319/analyze", {  method: "POST",  headers: { "content-type": "application/json" },  body: JSON.stringify({ prompt, context })});

这个 bridge 是整个组合里的关键“适配层”。它让上层 UI 不关心底层到底接的是 OpenClaw、Codex CLI、OpenAI API,还是未来某个本地模型。

个人生产力系统里,适配层非常重要。因为单个工具一定会变:

  • 今天用 OpenClaw
  • 明天想走 Codex CLI
  • 后天要接公司内部模型
  • 再后来要做多模型路由

如果没有 bridge,前端扩展会被底层实现绑死。加了 bridge,工具组合就有了可替换性。


五、失败不是异常,而是工具组合的常态

在实际调试中,我们遇到了几个非常典型的问题。

第一个问题:Chrome 扩展图标是灰色的。

原因不是扩展坏了,而是第一版没有配置 action.default_popup,只做了页面内右下角按钮。于是 Chrome 工具栏里的扩展入口看起来不可用。

后来补了 Manifest:

{  "manifest_version": 3,  "name": "网页即时 AI 解析助手",  "version": "0.1.0",  "permissions": ["activeTab"],  "host_permissions": [    "http://127.0.0.1:4319/*",    "http://localhost:4319/*"  ],  "action": {    "default_title": "打开网页 AI 解析",    "default_popup": "popup.html"  }}

再加一个 popup,向当前页面发送消息:

const [tab] = await chrome.tabs.query({  active: true,  currentWindow: true});await chrome.tabs.sendMessage(tab.id, {  type: "codex-page-ai-toggle"});

页面里的 content script 接收消息:

chrome.runtime?.onMessage?.addListener((message=> {  if (message?.type !== "codex-page-ai-toggle"return;  const isOpen = panel.classList.toggle("open");  launcher.style.display = isOpen ? "none" : "block";});

这说明什么?

说明用户体验问题经常不在 AI,而在工具边缘。图标灰色、页面没刷新、content script 没注入,这些都不是模型问题,却会直接决定用户觉得“能不能用”。

第二个问题:扩展提示 Failed to fetch

这也不是 AI 模型问题,而是本地 bridge 没启动。

检测方式很简单:

lsof -nP -iTCP:4319 -sTCP:LISTEN

或者:

node --input-type=module -e "const r = await fetch('http://127.0.0.1:4319/health');console.log(await r.text());"

如果没有服务,就启动:

cd /Volumes/jeff/codex-project/projects/xhs-page-ai-assistant/bridgenpm run start

第三个问题:页面抓取成功了,但显示“没有成功调用 openclaw”。

这次问题在 AI provider。OpenClaw 的 agent 命令不能裸调,需要指定 --agent--session-id 或 --to。否则它会报:

Pass --to <E.164>, --session-id, or --agent to choose a session

于是我们把 bridge 改成 provider 链:

async function runAi(prompt) {  const errors = [];  if (aiProvider === "openclaw" || aiProvider === "auto") {    try {      return await runOpenClaw(prompt);    } catch (error) {      errors.push(`openclaw: {error.message}`);      if (aiProvider === "codex") {        throw new Error(errors.join("\n"));      }    }  }  throw new Error(errors.join("\n"));}

这个改动非常关键。因为它把“单工具失败”变成了“工具组合继续工作”。

生产力系统不能假设每个环节永远在线。它应该有降级机制:

  • OpenClaw 有配置就走 OpenClaw
  • 没配置就走 Codex CLI
  • Codex 也失败就返回本地启发式分析
  • 同时把失败原因暴露出来,方便继续修

这才是可用工具链的样子。


六、AI 调用不是一个函数,而是一条链路

很多 demo 会把 AI 调用写成一个简单函数:

const answer = await callAI(prompt);

但真实系统里,callAI 背后至少有这些问题:

  1. prompt 怎么构造?
  2. 网页内容太长怎么办?
  3. 当前页面内容不足时怎么提示?
  4. CLI 超时怎么办?
  5. stdout 是文本还是 JSON?
  6. 模型返回结果写在哪里?
  7. 失败后怎么 fallback?
  8. 如何避免前端暴露密钥?
  9. 如何给用户可理解的错误信息?

在我们的 bridge 里,prompt 构造大概是这样:

function buildAgentPrompt(userPrompt, context) {  return `你是一个网页内容分析助手。请基于用户当前浏览器页面已经渲染出来的内容回答,不能编造页面里没有的信息。用户问题:{JSON.stringify(compactContext(context), null2)}回答要求:1. 用中文。2. 如果是小红书笔记,优先输出:内容亮点、互动/数据表现线索、评论关键词/用户痛点、可复用选题或仿写建议。3. 如果页面内容不足,明确告诉用户需要打开具体笔记、展开评论或滚动加载。4. 输出要短而有洞察,不要复述大段原文。`;}

这里有几个有意设计的约束。

第一,要求“不能编造页面里没有的信息”。因为网页即时分析很容易让用户误以为 AI 看到了全部内容,但扩展实际只能读取当前 DOM。评论没展开、图片没识别、隐藏内容没加载,AI 就不应该假装知道。

第二,要求“如果页面内容不足,明确告诉用户”。这能把失败从“系统坏了”转成“你需要滚动加载评论”。用户知道下一步该怎么做,工具就不会显得神秘。

第三,要求“不要复述大段原文”。网页分析的价值不是搬运,而是压缩、判断、抽象、建议。

生产力工具中的 prompt 不是随便写一段角色设定。它是用户体验、系统边界和错误处理的一部分。


七、从“愿不愿意用”到“能不能无缝用”

回到开头的问题:为什么说 AI 的个人生产力提升是工具组合问题,而不是愿不愿意用的问题?

因为“愿意”只能解决心理门槛,不能解决操作摩擦。

一个愿意用 AI 的人,如果每次都要复制、整理、粘贴、描述背景、等待结果,他很快会减少使用。不是他不认可 AI,而是链路太重。

一个不怎么强调 AI 的人,如果浏览器里有一个按钮,能自动读取当前内容,能直接问“这篇为什么火”“评论区用户痛点是什么”“能不能仿写成我的行业版本”,他反而会自然地高频使用。

真正的生产力提升来自这些问题被解决:

  • AI 能不能拿到上下文?
  • AI 能不能出现在任务现场?
  • AI 能不能调用本地工具?
  • AI 能不能在失败时降级?
  • AI 能不能减少用户整理材料的时间?
  • AI 能不能用快捷入口匹配高频任务?
  • AI 能不能被替换、扩展、组合?

这就是工具组合问题。

在这个案例里,真正有价值的不是“让 AI 分析小红书”这句话,而是这条链路:

小红书页面  ↓Chrome Extension 注入入口  ↓Content Script 抓取 DOM  ↓Local Bridge 接收上下文  ↓OpenClaw / Codex CLI / 其他模型  ↓返回结构化洞察  ↓页面内继续追问

当这条链路跑通后,AI 就不再是一个额外应用,而是网页能力的一部分。


八、个人 AI 工具栈的几个设计原则

从这个小项目可以抽象出几个更通用的原则。

1. 优先接入现有工作流,而不是发明新工作流

用户已经在浏览器里看网页,就不要要求他去另一个系统上传链接。用户已经在本地写文档,就不要要求他手动复制到 AI 页面。AI 应该嵌进当前工具,而不是把任务迁移到 AI 工具里。

2. 上下文自动化比模型炫技更重要

很多时候,用户问 AI 之前最烦的是整理上下文。标题、正文、评论、URL、当前状态,这些都应该由工具自动收集。上下文自动化做得好,普通模型也能产生很高价值。

3. 本地 bridge 是个人 AI 系统的重要组件

浏览器、桌面应用、CLI、文件系统、模型 API 之间需要一个适配层。本地 bridge 可以承接这些连接,让上层入口保持轻量。

4. 允许多 provider,而不是押注单点

OpenClaw、Codex CLI、OpenAI API、本地模型都可以成为 provider。个人生产力系统应该允许切换,而不是绑死一个命令。

5. 失败信息要可操作

“Failed to fetch”对用户没有帮助。更好的提示是:

本地 bridge 未连接。请启动:cd .../bridgenpm run start

工具组合越复杂,错误提示越要像操作指南。

6. 先做可运行闭环,再做智能增强

第一版不必完美识别所有小红书字段。先把“页面入口 → 抓取内容 → AI 分析 → 页面返回”跑通,后续再优化评论抽取、图片理解、数据结构化、历史记录、批量分析。


九、下一步可以怎么演进

这个原型已经证明了方向,但如果要变成更完整的个人生产力工具,还可以继续做几层增强。

第一,改进小红书 DOM 抽取。当前主要依赖可见文本和 class 模糊匹配,后续可以针对笔记标题、正文、作者、发布时间、点赞收藏评论数、评论列表做更稳定的结构化抽取。

第二,加入截图和视觉理解。很多小红书笔记的关键信息在封面和图片里,只读 DOM 不够。可以让扩展抓取当前视口截图,或者提取图片 URL,交给多模态模型分析封面钩子、版式和视觉卖点。

第三,做历史分析记录。用户分析过的笔记可以保存为本地库,后续做选题池、爆款结构总结、账号对标报告。

第四,做 prompt 模板系统。不同场景需要不同问题模板,比如:

  • 拆标题钩子
  • 提炼封面卖点
  • 评论痛点聚类
  • 仿写成律师行业版本
  • 生成 10 个二创选题
  • 判断是否适合投流
  • 生成账号定位建议

第五,做自动保活。当前 bridge 停了就会 Failed to fetch。后续可以做成 LaunchAgent、菜单栏应用,或者让扩展检测不到服务时给出一键启动指引。

第六,做跨网站通用适配。不只小红书,B 站、抖音网页版、知乎、公众号文章、淘宝商品页、飞书文档、Notion 页面,本质都可以走同一套“当前页面上下文 + AI 分析”的架构。

到这里,AI 才真正开始变成个人操作系统的一部分。


结语:AI 不是一个按钮,而是一组连接

AI 个人生产力的核心,不是“我今天有没有打开 AI”,而是“AI 有没有被放进我正在工作的地方”。

如果 AI 只是一个聊天窗口,它当然有价值,但它仍然需要用户主动搬运上下文。 如果 AI 能进入浏览器、文件、命令行、文档、表格、知识库、自动化脚本,它就开始从“问答工具”变成“生产力层”。

所以,个人生产力提升不是愿不愿意用 AI 的问题。

愿意用,只是开始。 真正的分水岭是:你有没有把 AI 和你的工具组合起来。

浏览器扩展解决入口,本地 bridge 解决连接,CLI/模型解决推理,fallback 解决稳定性,prompt 解决任务边界,页面内交互解决使用摩擦。它们合在一起,才构成一个真正可用的 AI 工作流。

未来的个人效率差距,可能不取决于谁更相信 AI,而取决于谁更会搭工具链。

不是“你愿不愿意用 AI”。 而是“AI 能不能在你需要它的那一秒,已经站在现场”。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-11 07:44:48 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/642797.html
  2. 运行时间 : 0.188887s [ 吞吐率:5.29req/s ] 内存消耗:4,640.68kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=886d0263960ee5639b374fb8c6981d46
  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.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000573s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000733s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001921s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000944s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000484s ]
  6. SELECT * FROM `set` [ RunTime:0.011469s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000989s ]
  8. SELECT * FROM `article` WHERE `id` = 642797 LIMIT 1 [ RunTime:0.002193s ]
  9. UPDATE `article` SET `lasttime` = 1783727088 WHERE `id` = 642797 [ RunTime:0.015536s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.004746s ]
  11. SELECT * FROM `article` WHERE `id` < 642797 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.007135s ]
  12. SELECT * FROM `article` WHERE `id` > 642797 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001045s ]
  13. SELECT * FROM `article` WHERE `id` < 642797 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003348s ]
  14. SELECT * FROM `article` WHERE `id` < 642797 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007635s ]
  15. SELECT * FROM `article` WHERE `id` < 642797 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004352s ]
0.192832s