乐于分享
好东西不私藏

一款更轻量的 AI 编程助手:MaWu 技术测评

一款更轻量的 AI 编程助手:MaWu 技术测评

一款更轻量的 AI 编程助手:MaWu 技术测评

最近拉下来看了一个 GitHub 项目:MaWu(码悟)。它的定位是基于 Electron + Vue 3 的极简 AI 代码编辑器,主打“简洁、轻便”的本地开发体验。

和很多只是在编辑器旁边挂一个聊天框的工具不同,MaWu 的实现更偏向把 AI 能力嵌入到开发链路中:代码编辑、文件管理、项目翻译、README 生成、安全审计、Git 操作、终端操作都被放进了同一个桌面端应用里。

项目地址:https://github.com/Moxin1044/MaWu


一、项目定位:不是大而全 IDE,而是轻量 AI 编码工作台

从源码和 README 来看,MaWu 的核心目标比较明确:

  • 提供一个轻量级代码编辑环境
  • 支持 OpenAI 兼容接口,方便接入不同大模型
  • 通过 AI 辅助完成注释、优化、解释、翻译、审计、文档生成
  • 集成本地文件系统、终端和 Git,减少工具切换

它并不打算替代 VS Code 这类成熟 IDE,而是更像一个面向个人开发者和小项目的 AI 编码工作台

这个定位有一个明显好处:功能边界清晰。MaWu 没有把重心放在复杂插件体系、调试器、语言服务器生态上,而是把精力集中在“AI + 常见开发动作”的组合上。


二、技术栈拆解

MaWu 的整体技术栈如下:

模块
技术选型
作用
桌面端容器
Electron
提供跨平台桌面应用能力
构建工具
electron-vite / Vite
负责 Electron + 前端工程构建
前端框架
Vue 3
构建渲染进程界面
状态管理
Pinia
管理 AI、编辑器、项目、终端状态
编辑器内核
Monaco Editor
提供代码编辑能力
UI 组件
TDesign Vue Next
提供输入框、按钮、弹窗等组件
文件系统
fs-extra
主进程处理文件读写、复制、删除等操作
Git 能力
simple-git
封装 Git 状态、提交、分支、远程仓库、diff 等操作
终端编码
iconv-lite
处理 Windows 终端输出中的编码问题

从依赖选择看,它走的是比较务实的路线:没有引入过重的工程框架,而是围绕 Electron 应用需要的能力进行补齐。

项目脚本也比较简单:

npm run dev      # 开发模式运行npm run build    # 构建项目npm run package  # 构建并打包安装程序

打包配置里已经包含 Windows NSIS 安装包,并且配置了 x64 和 arm64 架构;同时也预留了 Linux AppImage、deb 以及 macOS dmg 的构建配置。虽然 README 中说明当前主要支持 Windows,但从 package 配置看,作者已经考虑了后续多平台分发。


三、项目目录结构观察

本地仓库的核心目录结构大致如下:

MaWu/├─ resources/              # 应用图标资源├─ src/│  ├─ main/                # Electron 主进程│  │  ├─ ipc/│  │  │  ├─ file.ts        # 文件系统 IPC│  │  │  ├─ git.ts         # Git IPC│  │  │  └─ terminal.ts    # 终端 IPC│  │  └─ index.ts          # 主进程入口│  ├─ preload/│  │  └─ index.ts          # 安全暴露 API 给渲染进程│  └─ renderer/            # Vue 渲染进程│     ├─ components/       # 编辑器、AI 面板、文件树、Git 面板等组件│     ├─ stores/           # Pinia 状态管理│     ├─ views/            # 页面视图│     └─ styles/           # 全局样式├─ package.json├─ electron.vite.config.ts└─ README.md

这个结构比较标准:

  • main 负责系统级能力,比如窗口、文件、Git、终端
  • preload 负责通过 contextBridge 暴露安全 API
  • renderer 负责 UI 和业务交互

Electron 项目最容易混乱的地方通常是主进程和渲染进程边界不清,而 MaWu 在这一点上划分得比较直观。


四、架构设计:主进程做能力,渲染进程做体验

MaWu 的主进程入口位于 src/main/index.ts,主要负责:

  • 创建应用窗口
  • 注册窗口控制 IPC
  • 注册文件系统 IPC
  • 注册 Git IPC
  • 注册终端 IPC
  • 提供打开目录、打开文件、打开资源管理器等系统能力

渲染进程并不直接访问 Node.js 文件系统,而是通过 preload 暴露的 window.api 调用主进程能力。这是 Electron 应用中更安全、更清晰的设计方式。

src/preload/index.ts 中暴露的 API 可以分成几类:

  • fs:文件读取、写入、删除、复制、重命名、递归扫描
  • git:初始化、clone、status、add、commit、branch、pull、push、diff
  • terminal:获取 shell、执行命令、创建会话、写入输入、关闭会话
  • window 和 dialog:窗口控制、打开目录和文件

这套 API 设计让前端组件不用关心底层系统差异,只需要通过统一入口调用能力即可。


五、编辑器体验:Monaco Editor 加中文化上下文菜单

MaWu 的代码编辑区基于 Monaco Editor 实现,也就是 VS Code 同款编辑器内核。

在 CodeEditor.vue 中,可以看到它做了不少体验配置:

  • 自定义暗色主题 mawu-dark
  • 支持行号、代码折叠、括号配对着色
  • 支持 minimap
  • 开启自动缩进、粘贴格式化、平滑滚动
  • 使用 JetBrains Mono、Fira Code、Cascadia Code 等等宽字体
  • 支持 Ctrl / Cmd + S 保存当前文件

比较有意思的是,它还注册了一套中文右键菜单,包括:

  • 剪切、复制、粘贴、全选
  • 撤销、重做
  • 格式化文档
  • 查找和替换
  • 切换行注释
  • AI 全文代码注释
  • AI 选中代码注释
  • AI 解释代码
  • AI 优化代码

这说明作者并不是简单嵌入 Monaco,而是围绕中文开发者的使用习惯做了一层定制。


六、AI 能力实现:兼容 OpenAI,同时兼容 Claude 格式

MaWu 的 AI 状态管理集中在 src/renderer/stores/ai.ts

它支持配置多个模型,每个模型包含:

  • 模型名称
  • 服务商
  • API Key
  • Base URL
  • 具体模型名

配置会保存在本地 localStorage 中,启动后自动加载。

请求逻辑上,它做了两套分支:

  1. 如果 provider 是 claude,走 Anthropic Messages API 格式
  2. 其他模型默认走 OpenAI-compatible 的 /chat/completions 格式

这意味着它不只支持 OpenAI 风格接口,也考虑了 Claude 这种不同接口结构的模型服务。

对于国内开发者来说,OpenAI 兼容接口的意义很大,因为很多服务都提供类似格式,比如 DeepSeek、本地代理服务、私有化模型网关等。


七、AI 对话:@ 文件上下文是关键亮点

MaWu 的 AI 面板在 AiDialog.vue 中实现。它不是单纯的问答窗口,而是加入了文件上下文能力。

当用户在输入框中输入 @ 时,会弹出项目文件搜索列表。选中文件后,AI 请求会自动携带该文件内容作为上下文。

它的处理逻辑大致是:

  1. 通过递归扫描获取项目文件列表
  2. 用户输入 @ 触发文件选择
  3. 读取被提及文件内容
  4. 将文件内容拼接到 system context 中
  5. 发送给模型

同时,如果用户没有显式 @ 文件,但当前编辑器打开了文件,MaWu 会默认把当前文件的一部分内容作为上下文传给 AI。

这点非常实用。AI 编程工具的核心不是“有没有聊天框”,而是“能不能理解我当前正在处理的工程上下文”。MaWu 在这个方向上已经做出了基础能力。


八、代码编辑类 AI 功能:不是只回答,而是能落地到文件

在 CodeEditor.vue 中,MaWu 实现了多种 AI 编辑动作。

1. AI 全文注释

它会读取当前文件完整内容,把代码发送给 AI,让模型返回添加中文注释后的完整代码,然后直接替换当前编辑器内容。

2. AI 选中代码注释

这个功能更细。它会检测选中代码的最小缩进,再要求 AI 保持原始缩进。如果 AI 返回的代码缩进发生偏移,前端还会尝试重新对齐。

这说明作者考虑到了 AI 改代码时常见的格式破坏问题。

3. AI 解释代码

如果选中了代码,就解释选中片段;如果没选中,就解释当前文件内容。返回结果会进入右侧 AI 对话面板。

4. AI 优化代码

选中代码后,AI 返回优化后的代码,并通过 executeEdits 替换选中范围。

5. 行级 AI 提示

编辑器左侧 glyph margin 每一行都有 AI 提示入口,点击后会截取当前行附近上下文,让模型给出提示或补全建议,并以内联形式短暂展示。

这个功能有点类似轻量级的 inline suggestion。虽然还不是完整意义上的 Copilot 式补全,但已经具备了雏形。


九、文件系统与项目操作:功能覆盖比较完整

文件系统能力主要在 src/main/ipc/file.ts 中实现。

它封装了以下操作:

  • 读取目录
  • 读取文件
  • 写入文件
  • 创建目录
  • 创建文件
  • 删除文件或目录
  • 重命名 / 移动
  • 复制
  • 获取文件状态
  • 判断路径是否存在
  • 递归扫描项目文本文件

递归扫描时,它会过滤掉常见的大目录和构建产物,例如:

  • node_modules
  • .git
  • dist
  • .next
  • .nuxt
  • build
  • coverage
  • venv
  • .venv

同时只收集常见文本/代码文件扩展名,比如 .ts.vue.js.py.go.rs.java.md.json 等。

这套过滤机制很重要,因为 AI 翻译、AI 审计、@ 文件引用都依赖递归扫描。如果不做过滤,大项目很容易把二进制文件、依赖目录、构建产物一起塞进上下文,导致性能和成本都不可控。


十、项目翻译与 README 生成:更偏“工程辅助”

MaWu 在文件树右键菜单中加入了两个很实用的 AI 功能:项目翻译和 README 生成。

项目翻译

它支持单文件翻译和项目级翻译,目标语言包括中文和英文。

项目级翻译不是一次性把所有文件都丢给模型,而是按批处理:每批 5 个文件。模型需要按指定格式返回每个文件的翻译结果,前端再解析结果并写回对应文件。

这种做法比一次性处理整个项目更稳,也降低了上下文过长导致失败的概率。

README 生成

README 生成功能会收集:

  • 项目路径
  • 项目名称
  • 根目录文件列表
  • package.json 内容

然后让 AI 生成结构化 README,最终写入项目根目录的 README.md

对于很多个人项目来说,这个功能实际价值很高,因为文档生成往往是最容易被拖延的一步。


十一、安全审计:AI 承担提交前初筛角色

安全审计功能同样集成在文件树右键菜单中,支持:

  • 单文件审计
  • 目录级审计

目录级审计会递归读取代码文件,并按 5 个文件一批发送给 AI。提示词要求模型输出:

  • 漏洞位置
  • 原始代码
  • 漏洞类型
  • 漏洞危害
  • 修复建议
  • 复现 Payload / EXP

最后会生成 CheckSecurity.md 报告。

从技术测评角度看,这个功能适合做安全初筛,但不能替代专业 SAST 工具和人工审计。AI 的优势在于快速发现明显风险,短板是误报和漏报都不可避免。

所以更合理的使用方式是:

把它当作提交前、交付前的一道辅助检查,而不是最终安全结论。


十二、Git 面板:比预想中更完整

MaWu 的 Git 能力比 README 中描述的更丰富。

主进程通过 simple-git 封装 Git 操作,支持:

  • 初始化仓库
  • Clone 仓库
  • 查看状态
  • 暂存 / 取消暂存
  • 提交
  • 查看提交历史
  • 分支列表
  • 切换分支
  • 新建、删除、重命名分支
  • Pull / Push / Fetch
  • 远程仓库查看、添加、删除
  • 查看未暂存 diff
  • 查看已暂存 diff

渲染端的 GitPanel.vue 也不仅是一个简单提交面板,它包含:

  • 当前分支展示
  • ahead / behind 状态展示
  • 分支管理折叠区
  • 远程仓库管理折叠区
  • Conventional Commits 类型选择
  • 变更文件列表
  • 文件 diff 展开查看
  • 提交历史时间线
  • AI 生成提交信息

其中 AI 生成提交信息的逻辑也很实用:它会收集当前 Git diff,然后让模型生成符合 Conventional Commits 规范的提交信息,再自动解析出 type、scope 和 description。

这让 MaWu 的 Git 面板从“能提交代码”进一步升级成了“能辅助写规范提交信息”。


十三、终端系统:多标签 + 多 Shell 支持

MaWu 的终端能力位于 src/main/ipc/terminal.ts 和 src/renderer/stores/terminal.ts

主进程会根据平台自动检测可用 Shell:

  • Windows:PowerShell、PowerShell 7、CMD
  • macOS / Linux:zsh、bash、sh 等

它支持两类终端能力:

  1. 一次性命令执行
  2. 持久化终端会话

持久化会话通过 child_process.spawn 创建,并把 stdout / stderr 通过 IPC 转发给渲染进程。终端 store 则维护多标签页,包括:

  • tab id
  • shell 类型
  • 当前工作目录
  • 输出行
  • 命令历史
  • 是否存活

此外,终端输出还做了编码处理。如果 UTF-8 解码出现替换字符,会尝试用 GBK 解码,这对 Windows 中文环境是一个比较贴心的细节。

不过从实现看,它目前更像一个“轻量命令面板/伪终端”,并不是基于 xterm.js + node-pty 的完整终端模拟器。因此对于复杂交互型命令、全屏 TUI 程序、终端尺寸自适应等场景,可能还会有限制。


十四、界面风格:暗色、紧凑、偏开发者工具

MaWu 的全局样式在 src/renderer/styles/global.css 中定义,整体是深色主题:

  • 深蓝黑背景
  • 青色高亮色
  • 紧凑面板布局
  • 自定义滚动条
  • TDesign 暗色变量覆盖

布局上,它采用典型开发工具结构:

  • 左侧文件树 / Git 面板
  • 中间代码编辑区
  • 右侧 AI 面板
  • 底部终端面板

这套布局对开发者来说几乎没有学习成本,打开就能理解。


十五、实际亮点总结

综合源码来看,MaWu 有几个值得肯定的点。

1. AI 能力不是孤立的

它没有只做一个聊天框,而是把 AI 放到了编辑器、文件树、Git 面板这些真实开发入口中。

2. 工程上下文意识比较强

@ 文件引用、当前文件上下文、项目递归扫描,都说明它在解决 AI 工具最核心的上下文问题。

3. Git 功能完成度较高

分支、远程仓库、diff、提交历史、AI commit message 都有覆盖,已经不只是简单的 git add && git commit

4. 对 Windows 用户比较友好

项目主要面向 Windows,打包配置、终端 shell 检测、GBK 解码都考虑了 Windows 场景。

5. 代码组织比较清晰

主进程 IPC、preload API、渲染进程组件和 store 的职责划分比较清楚,适合作为 Electron + Vue 项目的学习案例。


十六、目前能看到的不足

从源码测评角度,也能看到一些后续可以继续打磨的地方。

1. AI 配置存储在 localStorage

API Key 当前存储在前端 localStorage 中,使用方便,但安全性有限。后续如果要更正式一些,可以考虑使用系统级安全存储,例如 keytar、Electron safeStorage 或平台密钥链。

2. 终端不是完整 PTY

当前终端基于 child_process.spawn,适合普通命令执行,但和真正终端模拟器相比还有差距。后续如果要增强终端体验,可以考虑 xterm.js + node-pty。

3. AI 大文件处理还可以继续优化

目前 AI 对话上下文会截取文件内容,比如 @ 文件最多取 5000 字符,当前文件最多取 3000 字符。这个策略简单有效,但面对大型项目时,后续可以继续引入文件摘要、索引、分块检索等机制。

4. AI 改写文件存在天然风险

比如全文注释、项目翻译、AI 优化代码都会直接写回文件。虽然效率高,但也意味着用户需要配合 Git diff 做二次确认。

5. 安全审计需要明确边界

AI 审计可以辅助发现问题,但不能替代专业安全工具。建议在产品层面继续强调“辅助审计”定位。


十七、适合什么人使用?

我认为 MaWu 比较适合这些用户:

  • 想体验轻量 AI 编程工具的开发者
  • 经常需要 AI 帮忙解释、注释、优化代码的人
  • 需要快速生成 README 或项目文档的人
  • 需要把项目中文化 / 英文化的人
  • 希望在一个工具里完成编辑、终端、Git、AI 交互的人
  • 想学习 Electron + Vue + Monaco 项目组织方式的人

如果你已经深度依赖 VS Code 插件生态、调试器、语言服务器和复杂工程能力,MaWu 目前还不适合作为主力 IDE 替代品。但如果你想要一个更轻、更聚焦 AI 辅助的编码工具,它的方向是有价值的。


十八、结论:一个思路务实的 AI 编程助手

整体看下来,MaWu 的价值不在于“又做了一个编辑器”,而在于它尝试把 AI 编程能力拆进开发流程的不同节点:

  • 写代码时,可以 AI 注释、解释、优化
  • 看项目时,可以 @ 文件提问
  • 做文档时,可以生成 README
  • 做国际化时,可以翻译文件或项目
  • 提交前,可以做安全审计和 AI commit message
  • 日常操作时,还有文件树、终端和 Git 面板

它的产品思路是清晰的:

不做庞大的 IDE,而是做一个轻量、集中、面向 AI 辅助开发的本地工作台。

如果后续继续补强代码补全、格式化、上下文检索、安全存储和终端模拟能力,MaWu 会更接近一个可长期使用的个人 AI 编码工具。


项目地址与运行方式

项目地址:https://github.com/Moxin1044/MaWu

git clone https://github.com/Moxin1044/MaWu.gitcd MaWunpm installnpm run dev

如果需要打包 Windows 安装程序:

npm run package

总体评价:MaWu 是一个完成度不错、方向清晰的轻量 AI 编程助手。它目前更适合作为 AI 辅助开发工具和 Electron + Vue 学习项目来看,但从功能组合和源码实现上,已经能看到继续演进成日常工具的潜力。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-22 15:38:03 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/649481.html
  2. 运行时间 : 0.185518s [ 吞吐率:5.39req/s ] 内存消耗:4,799.70kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=33590e043a4801cdd17f5e963fd330b2
  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.000897s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000744s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000300s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000279s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000478s ]
  6. SELECT * FROM `set` [ RunTime:0.000200s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000577s ]
  8. SELECT * FROM `article` WHERE `id` = 649481 LIMIT 1 [ RunTime:0.000448s ]
  9. UPDATE `article` SET `lasttime` = 1779435483 WHERE `id` = 649481 [ RunTime:0.001086s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000237s ]
  11. SELECT * FROM `article` WHERE `id` < 649481 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001129s ]
  12. SELECT * FROM `article` WHERE `id` > 649481 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000373s ]
  13. SELECT * FROM `article` WHERE `id` < 649481 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000983s ]
  14. SELECT * FROM `article` WHERE `id` < 649481 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000690s ]
  15. SELECT * FROM `article` WHERE `id` < 649481 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000846s ]
0.189788s