乐于分享
好东西不私藏

用AI整理微信收藏夹:调研到实现全过程

用AI整理微信收藏夹:调研到实现全过程

用 AI整理微信收藏夹:从调研30个项目到 MCP 操控桌面的全过程

一个看似简单的需求,经历了方案调研、开源项目筛选、两版实现、四个大坑,最终30分钟自动导出所有收藏。

背景:为什么要整理笔记

最近 Karpathy 发了一篇关于用 LLM 构建个人知识库[1]的文章,核心思想很简洁:把原始素材(论文、文章、笔记)丢进 raw 文件夹,让 LLM 自动"编译"成结构化的 Wiki——生成摘要、识别概念、建立双向链接。每次问答过程中产生的新知识,再回流到 Wiki 中。知识不是每次从头检索(RAG),而是持续积累、越用越厚。他用 Obsidian 做前端,Claude Code 做 agent,一个研究主题跑出了约100篇文章、40万字,自己几乎没有手动写。

这篇文章触动了我。我自己最近也在用 OpenClaw + Obsidian 搭建知识库管理系统,正好想把散落各处的笔记统一整理一遍——幕布笔记、有道云、微信收藏夹等。

前两个都有 API 或导出功能,迁移不难。但微信收藏夹是个特殊的存在:没有 API,没有导出功能,而且微信对自动化操作非常敏感,稍有不慎就可能封号。所以需要单独研究一套安全可靠的方案。

顺便说一句,微信聊天记录里的重要内容其实也面临同样的问题——没有好的导出方式。本文的方法同样适用于微信聊天记录的整理备份。

起因:微信收藏夹的痛点

微信收藏夹是很多人的"第二大脑"——看到好文章,收藏;聊天里的重要信息,收藏;有用的链接,收藏。几年下来,积攒了几百条内容。

但用着用着,问题越来越多:

没有摘要:收藏的时候随手一点,过几个月完全想不起来这条收藏了什么。标题只显示前几个字,必须点进去才能看到内容。标签缺失:收藏的时候随手一点,忘了打标签。时间一长,几百条收藏堆在一起,想找某个主题的内容只能一条一条翻。链接失效:这是最痛的。公众号文章被删、外部链接过期、网页改版——收藏的时候好好的,等到要用的时候点进去,"该内容已被删除"。你连它曾经讲了什么都不知道。无法导出:微信不提供任何批量导出功能。想备份到本地?只能一条一条手动打开、截图、保存。收藏了几百条,手动操作要花一整天。无法全文搜索:收藏列表只搜标题,不搜正文。你记得收藏过一段话,但忘了在哪条里,根本搜不到。

总结一句话:收藏夹只管收,不管理。时间越长,越乱,越找不到东西,链接还在持续失效。

所以我决定:把收藏夹整体导出来,截图保底(防止链接失效后内容彻底丢失),文本提取方便搜索,结构化存储方便后续整理。

第一阶段:调研——现有方案对比

先问 AI

我分别问了 豆包[2](字节的 AI)和 Claude[3]:"有没有现成的微信收藏夹导出工具?"

两边都给了一些建议,但没有一个是开箱即用的。

试了"微兔"

找到了一个叫"微兔"的工具,看介绍说能导出微信内容。装上一试——只能导出公众号文章,收藏夹里的笔记、聊天记录、图片、音视频一概不支持。

研究了30个开源项目

不死心,去 GitHub 上一个一个翻,前前后后看了大约30个相关项目。这些项目大致分为几种类型:

类型
原理
问题
数据库解析型
直接读取微信的 SQLite 数据库文件
macOS 上微信数据库加密,无法直接读取
备份提取型
从 iTunes/手机备份中提取
只能提取聊天记录,不支持收藏夹
网页/API 型
通过微信网页版或非官方 API
微信早已关闭网页版,API 方式风险高
Hook 注入型
注入微信进程,拦截数据
技术门槛高,容易被检测,有封号风险
UI 自动化型
模拟鼠标键盘操作
最笨但最安全,不碰微信内部数据

结论很清楚:只有 UI 自动化是可行的。其他方案要么技术上不可行(加密数据库),要么风险太高(Hook 注入),要么接口已关闭(网页版)。

第二阶段:第一版实现——pyautogui + 手动校准

确定了技术方向后,我和 Claude 开始协作开发。

头脑风暴:反复讨论需求

没有上来就写代码。我们先用 Claude 的头脑风暴模式,反复讨论了几个关键问题:

导出什么?截图、文本、还是两者都要?收藏类型很多(链接、笔记、聊天记录、文件),怎么处理差异?长内容怎么办?一屏截不完的内容需要滚动拼接。中途断了怎么办?需要断点续传。

架构设计

讨论清楚需求后,我们设计了六个模块的架构:

config.py          → 配置常量、随机延时window_manager.py  → AppleScript 窗口管理calibrator.py      → 坐标校准(让用户手动指定关键位置)content_extractor.py → 截图、OCR、文本提取exporter.py        → 导出主循环main.py            → CLI 入口

架构讨论完,Claude 问我:"还需要改动什么?可以开始实施了吗?"

我的要求:TDD

我说:需要自己编译测试,并修复问题

这句话改变了整个开发流程。Claude 采用了严格的测试驱动开发(TDD):

1.先写失败的测试2.运行确认测试失败3.写实现代码4.运行确认测试通过5.提交

每个模块都是这样走完的,最终积累了 26+ 个测试用例,覆盖了 URL 提取、图像哈希、截图拼接、断点续传等核心逻辑。

第一版的局限

第一版做出来了,能用,但体验不好。最大的问题是手动坐标校准

步骤 1/4:请把鼠标移到左侧「全部收藏」的位置,然后按 Enter...步骤 2/4:请把鼠标移到右侧列表第一条收藏的中心,然后按 Enter...步骤 3/4:请把鼠标移到右侧列表可见区域的底部边缘,然后按 Enter...步骤 4/4:当前可见几条收藏?请输入数字:

每次微信窗口大小变了、位置挪了,都要重新校准。而且校准精度依赖人工操作,偏差几个像素就可能点错位置。

能不能让 AI 自己"看"屏幕,自己决定点哪里?

第三阶段:发现 MCP——转折点

第一版效果不满意,我直接问 Claude:"你们 Anthropic 公司那边有没有其他方法?能直接操控 Mac 桌面的?"

Claude 介绍了几个方案,其中 macos-control-mcp 最合适——一个 MCP(Model Context Protocol)Server,提供截图、OCR、点击、输入等能力,可以直接在 Claude Code 里调用。

选它的原因:

1.我已经在用 Claude Code2.一条命令安装3.不需要额外订阅或模型

claude mcp add macos-control -- npx -y macos-control-mcp

这行命令,开启了真正有意思的部分。

第四阶段:MCP 实战——踩了四个大坑

坑1:Python 模块找不到

安装完 MCP Server,截图功能正常,但点击功能报错:

ErrorNo module named 'Quartz'

排查发现:macos-control-mcp 在 ~/.macos-control-mcp/.venv/ 下创建了自己的 Python 虚拟环境,但因为网络代理问题,pyobjc-framework-Quartz 安装失败了。我的系统 Python 有这个包,但 MCP 用的是自己的 venv——两个 Python 互不相通。

解决:直接往 MCP 的 venv 里装,绕过代理:

unset http_proxy https_proxy~/.macos-control-mcp/.venv/bin/pip install pyobjc-framework-Quartz pyobjc-framework-Vision

坑2:Retina 显示屏的坐标映射

这是最折腾的一个坑。我让 Claude 点击左侧栏的"全部收藏",它每次都打开了"新建笔记"窗口。反复尝试了不同坐标,始终点错。

问题出在 Retina 显示屏。物理分辨率 2880×1800,逻辑分辨率 1440×900。pyautogui 截图返回物理像素,但点击用逻辑坐标——两套坐标系混在一起。

Claude 的解法很聪明:裁剪侧边栏的截图让自己直接"看":

sidebar = img.crop((74120480800))  # 物理像素坐标sidebar.save('/tmp/wechat_sidebar.png')

看到裁剪后的清晰图片,Claude 发现"全部收藏"在逻辑坐标 (137, 150) 而不是之前估计的 (93, 109)——差了将近50个像素,难怪一直点到了上面的"新建笔记"按钮。

坑3:滚动不生效

第一版 MCP 脚本导出了3条,但3条截图完全一样——都是第一条收藏。

两个问题叠加:

1.滚动量太小scroll(-6) 在微信收藏列表里几乎没效果,需要 scroll(-10) 调用5次2.滚动焦点丢失:关闭详情窗口后,鼠标焦点不在列表上,滚动指令发给了空气

解决:关闭详情窗口后,先点击列表区域恢复焦点,再滚动:

def scroll_down_one():    pyautogui.click(380300)   # 先点击列表,获取焦点    time.sleep(0.2)    for _ in range(5):        pyautogui.scroll(-10)   # 再滚动        time.sleep(0.08)

用户的关键提示:用日期验证

在调试滚动问题时,我给了一个关键提示:

"收藏的时间应该是会变化的。上一条跟下一条的收藏时间应该不一样。可以根据这个时间来判断你的识别到底有没有效果。"

这句话改变了调试策略。Claude 不再盲目调参数,而是截图对比滚动前后的日期变化:

滚动前第一条:星期四滚动后第一条:星期一

日期变了,说明滚动生效。日期没变,说明需要加大滚动量。这种"用业务数据验证技术操作"的思路,正是人机协作的价值——人提供领域知识,AI 执行验证。

坑4:单击 vs 双击

这个坑相对简单但也浪费了时间。单击收藏项没有反应——微信 Mac 版需要双击才能打开收藏详情窗口。通过监测窗口数量来验证:

before = win_count()        # 1pyautogui.doubleClick(420125)after = win_count()         # 2 → 新窗口打开了!

最终效果

所有坑填完后,导出流程是:

循环:  1. 双击第一个可见的收藏项 → 等待新窗口打开  2. 截图详情窗口(支持滚动拼接长截图)  3. 尝试 Cmd+A / Cmd+C 复制文本  4. 关闭详情窗口  5. 点击列表区域恢复焦点  6. 向下滚动一条  7. 对比滚动前后截图,检测是否到底

运行 python3 auto_export.py 100,约30分钟后:

指标
数值
导出总数
100 条
成功截图
94 条
无法打开(聊天记录类型)
6 条(保存了列表截图)
多页拼接截图
25 条
含文本
68 条
含 URL
22 个
占用空间
55 MB
时间跨度
2026年4月 → 约2019年

每条收藏保存为独立目录:

output/全部收藏/├── 000/│   ├── screenshot.png    # 详情截图(长内容自动拼接)│   ├── content.txt       # 文本内容(如可复制)│   └── meta.json         # 元数据(时间、URL、页数等)├── 001/│   └── ...

复盘:人和 AI 各做了什么

人做的事情

明确目标:批量导出微信收藏夹调研筛选:试了微兔,看了30个开源项目,排除了不可行的方案选择路线:从数据库解析、API、Hook、UI 自动化中选定最后一种要求 TDD:让 Claude 先写测试再写实现,保证代码质量提出转折:第一版不满意,直接问 Anthropic 有没有更好的方案关键 debug:用日期验证滚动效果,在死循环时中断并指出问题授权操作:授予屏幕录制和辅助功能权限

AI 做的事情

头脑风暴:梳理需求,讨论收藏类型差异、长截图、断点续传架构设计:设计六模块架构,TDD 开发26+测试用例第一版实现:pyautogui + AppleScript + 手动校准发现 MCP:介绍 macos-control-mcp,一行命令安装诊断修复:找到 MCP 的 venv 路径,修复 Python 依赖视觉调试:通过截图裁剪+视觉分析,确定 Retina 下的正确坐标校准参数:用截图对比验证滚动量、焦点管理批量执行:30分钟无人值守导出100条收藏

感悟

1. AI 操控桌面还不是"开箱即用"

坐标映射、焦点管理、滚动校准——每一个看似简单的操作都可能卡住整个流程。但一旦跑通,效率提升巨大:30分钟无人值守 vs 手动操作几小时。

2. 调研不能省

看了30个项目才确定技术路线。如果一开始就动手写代码,很可能走上数据库解析或 API 调用的死路。

3. TDD 在 AI 编程中同样重要

让 AI 写代码很容易,但让它写可靠的代码需要约束。要求 TDD 后,Claude 的代码质量明显提升——每个模块都有测试保障,重构时也不怕改坏东西。

4. 人机协作的最佳分工

人负责方向判断和 debug 灵感(选什么方案、用日期验证、发现死循环),AI 负责试错和执行(调坐标、写脚本、跑导出)。这种协作模式,比纯手动或纯自动都高效得多。

5. 两版迭代的价值

第一版不白做——TDD 建立的测试体系、模块化的架构设计、对微信 UI 行为的理解,都在第二版中复用了。没有第一版的探索,第二版不可能这么快跑通。

下一步:导出只是开始

导出收藏夹只是整个知识管理流程的第一步——把数据从封闭系统里救出来。接下来的计划:

1.AI 摘要:用 LLM 对每条收藏生成摘要,解决"收藏了但想不起来是什么"的问题2.自动分类和打标签:根据内容语义自动归类,补上当初忘记打的标签3.归档到知识库:导入 Obsidian,与其他笔记(幕布、有道云)统一管理,建立双向链接4.持续积累:按 Karpathy 的思路,每次问答产生的新知识回流到知识库,越用越厚

这正是 Karpathy 所说的 LLM Wiki 的核心理念——知识不是一次性检索,而是持续编译和积累。微信收藏夹里躺了几年的内容,终于可以变成可搜索、可关联、持续增长的知识资产。

而且,这套 MCP 操控桌面的方法完全可以扩展到其他软件。有道云笔记、幕布、甚至任何没有 API 的桌面应用——只要 AI 能看到屏幕、能点击操作,就能自动化。不需要等官方开放接口,不需要逆向工程,用最笨但最通用的方式:让 AI 像人一样操作电脑


工具:Claude Code (Opus 4.6) + macos-control-mcp + pyautogui代码:约200行 Python(auto_export.py),另有第一版 TDD 代码库约600行时间:调研半天 + 第一版开发半天 + MCP 版调试2小时 = 约1.5天

References

[1] 用 LLM 构建个人知识库: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f[2] 豆包: https://www.doubao.com/thread/w8440b86f1b76d57c[3] Claude: https://claude.ai/share/0d17c729-6e8e-48b6-9c4d-c127bc7e1811

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-11 17:27:15 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/514098.html
  2. 运行时间 : 0.207038s [ 吞吐率:4.83req/s ] 内存消耗:4,748.27kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=86536dc0c6efb451e5671c3727d651a1
  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.000921s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001207s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002032s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004616s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001184s ]
  6. SELECT * FROM `set` [ RunTime:0.000557s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001248s ]
  8. SELECT * FROM `article` WHERE `id` = 514098 LIMIT 1 [ RunTime:0.001846s ]
  9. UPDATE `article` SET `lasttime` = 1775899635 WHERE `id` = 514098 [ RunTime:0.003609s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000711s ]
  11. SELECT * FROM `article` WHERE `id` < 514098 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000925s ]
  12. SELECT * FROM `article` WHERE `id` > 514098 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001327s ]
  13. SELECT * FROM `article` WHERE `id` < 514098 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.010910s ]
  14. SELECT * FROM `article` WHERE `id` < 514098 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001897s ]
  15. SELECT * FROM `article` WHERE `id` < 514098 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001596s ]
0.212549s