乐于分享
好东西不私藏

当 AI Agent 接管终端:6 个专为 AI 设计的工具范式

当 AI Agent 接管终端:6 个专为 AI 设计的工具范式

你用 VS Code 写代码,用 iTerm2 开终端,用 Chrome 查文档。这套工具链陪了你好几年,顺手得像呼吸一样自然。

但 AI Agent 不这么工作。

Agent 不需要语法高亮——它直接读 AST。Agent 不需要标签页管理——它同时操作 20 个终端窗格。Agent 不需要"撤销"按钮——它需要整个文件系统可以快照回滚。

2025 年底到 2026 年初,一批新工具密集出现:dmux、workmux、NTM、AgentFS、cmuxLayer……它们的名字你可能没听过,但它们代表了一个清晰的趋势——开发工具正在为 AI 重新设计。不是在旧工具上加个 AI 插件,而是从 Agent 的感知方式、行动方式、协作方式出发,重新思考"工具"应该长什么样。

这篇文章拆解 6 个这样的工具范式。每一个都回答同一个问题:当使用者从人变成 AI,工具的设计逻辑会发生什么变化?

IDE 语法高亮/自动补全

一、tmux:不是窗口管理器,是 Agent 的感知-行动接口

tmux 诞生于 2007 年,最初是给运维工程师用的——SSH 断了会话还在,分个屏左边看日志右边敲命令。人类用了它快 20 年,用法基本没变。

但 2025 年开始,tmux 突然成了 AI Agent 圈子里的热门话题。Robert Travis Pierce 写了一篇广为流传的文章,标题直接说:「tmux 就是你已经拥有的多 Agent 编排层」。Rohan Verma 用 tmux 编排了一个本地 LLM 集群。claude-tmux、dmux、NTM、workmux、amux、cmuxLayer——半年内冒出来至少六个基于 tmux 的 Agent 编排工具。

为什么是 tmux?

答案藏在两个命令里。

capture-pane:Agent 的眼睛。 这个命令返回终端窗格当前屏幕上的文本内容——就是你盯着屏幕看到的那些字。加上 -J 参数合并折行,加上 -S -50 参数往上多看 50 行。Agent 调一次 capture-pane,就获得了和人类"扫一眼屏幕"完全等价的信息。

# Agent 的"看一眼屏幕"lines = pane.cmd("capture-pane", "-p", "-J", "-S-50").stdout

send-keys:Agent 的手。 这个命令往窗格里发送按键,和人类敲键盘一模一样。Agent 不需要调 API、不需要 SDK,直接"打字"。

# Agent 的"敲一行命令"pane.send_keys("grep -r 'TODO' src/", enter=True)

这两个原语的对称性是关键:Agent 用和人类完全相同的方式感知(看屏幕)和行动(敲键盘)。终端里运行的任何工具——grep、psql、python REPL、curl——都不知道操作者是人还是 AI。tmux 成了一个"万能适配器",把所有终端工具都变成了 Agent 可以操作的工具,零集成成本。

AI Agent

实际应用中,tmuxinator 让你用 YAML 声明式地定义 Agent 拓扑:哪些 Agent、各自的工作目录、权限级别、窗格布局。一条 tmuxinator start agents 命令,整个 Agent 编队就位。

Agent 之间的协调也分两层:异步层靠共享磁盘文件(markdown 状态文件),同步层靠 send-keys 广播命令。想让所有 Agent 立刻重新读取配置?一个 for 循环遍历所有窗格,每个窗格发一条 /sync

# 广播同步命令到所有 Agent 窗格fortargetin"agents:1.1""agents:2.1""agents:3.1"; dotmuxsend-keys-t"$target"'/sync'Entersleep0.5done

这不是什么新框架。这是一个 2007 年的终端工具,因为设计上恰好满足了 Agent 的核心需求——文本感知 + 按键行动——在 2026 年焕发了第二春。

二、Git Worktree:不是分支管理,是多 Agent 并行的物理隔离层

人类开发者用 Git 分支做什么?切换功能开发上下文。git checkout feature-x,改几个文件,提交,切回去。一次只在一个分支上工作,因为工作目录只有一个。

Agent 的需求完全不同。当你同时跑 5 个 Agent,每个负责一个独立任务——一个写前端组件,一个修后端 API,一个跑测试,一个做代码审查,一个写文档——它们不能共享同一个工作目录。文件锁冲突、.git/index.lock 争抢、半写入状态的文件被另一个 Agent 读到……这些问题在人类开发中几乎不存在(因为你一次只做一件事),但在多 Agent 场景下是致命的。

git worktree 解决了这个问题。它让你从同一个仓库创建多个独立的工作目录,每个目录检出不同的分支,共享同一个 .git 对象存储。不需要 clone 五份仓库,不需要额外磁盘空间,每个 Agent 有自己的文件系统视图,互不干扰。

# 为每个 Agent 创建独立工作区gitworktreeadd../agent-frontendfeature/new-uigitworktreeadd../agent-backendfeature/api-refactorgitworktreeadd../agent-testsfeature/test-coverage

围绕这个能力,2025-2026 年出现了一批专门的编排工具:

dmux 是一个开源 CLI/TUI,支持 11 种以上的 Agent(Claude Code、Codex、Gemini CLI 等),自动为每个 Agent 创建 worktree + tmux 窗格。一条命令启动,一个 TUI 面板监控所有 Agent 状态。

workmux 用 Rust 写的,理念是"一个 worktree、一个 tmux 窗口、一个 Agent"。它还支持 Zellij 和 Kitty 等终端,不绑定 tmux。

NTM(Named Tmux Manager) 加了冲突检测——如果两个 Agent 试图修改同一个文件,NTM 会发出警告。它还有广播功能,一条命令同时给所有 Agent 发指令。

claude-tmux 是 Python 包,专门为 Claude Code 设计,带 TUI 仪表盘和"注意力系统"——当某个 Agent 需要人类输入(权限请求、确认问题)时,自动跳转到那个窗格。

这些工具的共同点:它们不是在教 Agent 怎么用 Git,而是把 Git worktree 变成了 Agent 的"物理隔离间"。每个 Agent 在自己的房间里工作,改完了提 PR,由人类或另一个 Agent 做 review。

柱状图:四组任务对比,蓝色柱表示单仓库串行耗时分别为 40/35/45/30 分钟,橙色柱表示 Worktree 并行耗时分别为 15/12/18/10 分钟,并行模式平均节省 63% 时间

什么时候该用 worktree 隔离?一个简单的判断标准:如果两个 Agent 的任务可能修改同一个文件,就必须隔离。如果它们操作完全不同的文件集(比如一个改前端、一个改后端),共享工作目录也能工作,但隔离仍然更安全。

三、沙箱执行环境:不是安全合规,是让 Agent 放心试错的"可丢弃世界"

人类开发者在本机跑代码,出了问题 Ctrl+Z 撤销,或者 git stash 暂存。我们对自己的操作有直觉——不会随便 rm -rf /,不会在生产数据库上跑未测试的 SQL。

Agent 没有这种直觉。

一个被要求"清理旧文件"的 Claude Code 会话,可能删掉花了几周搭建的配置目录。一个被要求"优化数据库查询"的 Agent,可能在生产表上跑了 ALTER TABLE。这不是 Agent 恶意——它们在尽力完成任务,只是对"后果"没有人类的本能判断。

沙箱的意义不是"防止 Agent 作恶",而是"让 Agent 可以大胆尝试"。在一个可丢弃的环境里,Agent 可以自由执行代码、安装依赖、修改文件,试错成本为零。

当前的沙箱方案分三个层级:

容器级(Docker): 最常见,启动快,但共享宿主机内核。如果 Agent 生成的代码利用了内核漏洞(虽然概率低),隔离就被突破了。适合可信度较高的场景。

MicroVM 级(Firecracker/gVisor): 每个沙箱有独立内核,启动时间约 150ms。E2B 和 Modal 等平台底层用的就是这个。安全性接近虚拟机,性能接近容器。这是目前生产环境的主流选择。

文件系统级(AgentFS): Turso 团队做的项目,用 SQLite 数据库模拟文件系统。Agent 的所有文件操作都发生在 SQLite 里,支持 copy-on-write——Agent 修改文件时,原始文件不动,只记录差异。可以随时快照、回滚、审计每一步操作。

Docker 容器

有意思的是,这三个层级不是互斥的。一个典型的生产部署可能是:外层 Firecracker MicroVM 提供内核隔离,内层 AgentFS 提供文件级快照和审计。Agent 在 MicroVM 里自由执行,每一步文件操作都被 AgentFS 记录,出了问题可以精确回滚到任意时间点。

E2B 是目前最流行的托管沙箱平台,提供 API 让你在 200ms 内启动一个完整的 Linux 环境,Agent 可以在里面跑任意代码。Modal 更偏向计算密集型任务,支持 GPU。Daytona 则专注于完整的开发环境沙箱,包括 IDE 和预配置的工具链。

对于个人开发者,最简单的起步方式是 Docker + 限制权限:

# 最小权限沙箱:只读挂载源码,可写临时目录dockerrun--rm\--read-only\--tmpfs/tmp\-v$(pwd)/src:/workspace/src:ro\-v$(pwd)/output:/workspace/output\--networknone\python:3.12-slim\python/workspace/src/agent_task.py

--read-only 让容器文件系统只读,--network none 断网,-v :ro 只读挂载源码。Agent 只能往 /tmp/workspace/output 写东西。简单粗暴,但有效。

四、MCP 协议:不是 API 集成,是 Agent 的"万能适配器"

人类开发者接入一个新服务,流程大概是:读文档 → 找 SDK → 装依赖 → 写集成代码 → 处理认证 → 调试。每个服务都要走一遍。

Agent 面对的问题更严重。一个通用 Agent 可能需要操作数据库、读写文件、调用 API、发消息、查日志……每个工具都有自己的接口格式。如果每个都要写定制集成,Agent 框架会变成一个巨大的"胶水代码"集合。

MCP(Model Context Protocol)是 Anthropic 在 2024 年 11 月开源的协议,到 2026 年 4 月,公开目录里已经有超过 2300 个 MCP Server,Claude、Cursor、Windsurf、VS Code 等 200 多个工具原生支持。

它的核心思路很简单:定义一个标准的 Client-Server 协议,让 Agent(Client)可以通过统一的 JSON-RPC 接口发现和调用任何工具(Server)。

AI Agent MCP Client

每个 MCP Server 暴露三类能力:

  • Tools:可执行的操作(查询数据库、创建文件、发送消息)
  • Resources:可读取的数据源(文件内容、数据库 schema、API 文档)
  • Prompts:预定义的交互模板(代码审查流程、部署检查清单)

Agent 连接一个 MCP Server 后,先调用 tools/list 获取所有可用工具及其参数 schema。不需要提前知道这个 Server 能做什么——运行时自动发现。这和人类"先读文档再写代码"的模式完全不同。Agent 的工具发现是程序化的、即时的。

配置也很简单,一个 JSON 文件搞定:

{"mcpServers": {"filesystem": {"command": "npx","args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"] },"postgres": {"command": "uvx","args": ["mcp-server-postgres", "--connection-string", "postgresql://localhost/mydb"] } }}

MCP 对 Agent 工具链的意义在于:它把"集成 N 个工具"的问题从 O(N) 降到了 O(1)。Agent 只需要会说 MCP 协议,就能操作任何实现了 MCP Server 的工具。新工具上线?加一行配置,Agent 自动发现它的能力。

这和 tmux 的思路形成了互补:tmux 让 Agent 通过"看屏幕 + 敲键盘"操作任何终端工具(无需集成),MCP 让 Agent 通过结构化协议操作任何服务(标准化集成)。前者是"零成本适配",后者是"一次集成、处处可用"。

五、文件系统监听:不是 CI/CD 触发器,是 Agent 的"事件驱动神经"

人类开发者保存文件后会做什么?看一眼终端有没有报错,或者手动跑一下测试。这是"拉取"模式——你主动去检查。

Agent 更适合"推送"模式——文件一变,立刻触发动作。不需要轮询,不需要定时检查,事件驱动。

Linux 内核的 inotify 子系统从 2005 年就提供了这个能力。inotifywait 命令可以监听目录变化,文件创建、修改、删除都能捕获。但在 AI Agent 场景下,这个能力被赋予了新的意义。

传统用法:文件变了 → 触发构建/测试(CI/CD 场景)。 Agent 用法:文件变了 → 触发 Agent 重新分析 → 自动修复 → 验证 → 提交。

Kiro 的 Hook 机制就是这个思路的产品化实现。你可以定义:当 .ts 文件被编辑时,自动让 Agent 跑 lint 并修复问题。

{"name": "Lint on Save","version": "1.0.0","when": {"type": "fileEdited","patterns": ["*.ts", "*.tsx"] },"then": {"type": "runCommand","command": "npm run lint" }}

更高级的用法是链式触发:

  1. 文件保存 → Hook 触发 lint
  2. lint 发现错误 → Hook 触发 Agent 分析错误
  3. Agent 修复代码 → 文件再次保存 → 再次 lint → 通过

这形成了一个自动修复循环。人类开发者需要手动完成的"保存 → 看报错 → 改代码 → 再保存"循环,Agent 通过文件监听 + Hook 自动完成。

在 tmux 场景下,文件监听还有另一个用途:Agent 间通信。多个 Agent 共享一个状态文件,每个 Agent 用 inotify 监听这个文件。一个 Agent 写入新状态,其他 Agent 立刻感知到变化并重新读取。这比轮询高效得多,延迟在毫秒级。

# Agent 监听共享状态文件变化inotifywait-m-emodify/workspace/shared/agent_state.md |whilereadpathactionfile; doecho"状态文件已更新,重新同步..."# 触发 Agent 重新读取状态tmuxsend-keys-tagents:1.1'/sync'Enterdone

文件监听对 Agent 的价值不在于"监听"本身,而在于它把 Agent 从"被动等待指令"变成了"主动响应环境变化"。这是从工具到自主体的关键一步。

六、AgentFS:不是存储方案,是可审计、可快照、可回滚的 Agent 状态层

前面提到 AgentFS 是沙箱方案之一,但它值得单独拿出来说,因为它代表了一种全新的设计理念:文件系统本身就是 Agent 的状态管理层

传统文件系统对 Agent 有几个致命问题:

  • 不可审计:Agent 改了哪些文件、改了什么内容、什么时间改的?ls -la 只能告诉你最后修改时间,不能告诉你修改历史。
  • 不可回滚:Agent 把配置文件改坏了,除非你提前做了备份或者用了 Git,否则没法恢复。
  • 不可隔离:两个 Agent 操作同一个目录,文件冲突是必然的。

AgentFS 的做法是:用 SQLite 数据库替代真实文件系统。Agent 的所有文件操作——创建、读取、修改、删除——都变成了数据库事务。

importagentfs # 创建隔离的 Agent 文件系统fs = agentfs.create("agent-coder-01") # Agent 写文件(实际写入 SQLite)fs.write("/src/main.py", "print('hello')") # 创建快照snapshot_id = fs.snapshot("before-refactor") # Agent 继续修改...fs.write("/src/main.py", "import os\nprint(os.getcwd())") # 出问题了?回滚到快照fs.restore(snapshot_id)# /src/main.py 恢复为 "print('hello')"

Copy-on-Write 是核心机制。Agent 修改文件时,原始文件不动,只在 SQLite 里记录一条差异。这意味着:

  • 零成本快照:快照只是标记一个时间点,不需要复制文件
  • 精确回滚:可以回滚到任意快照点,不是"全部撤销"
  • 完整审计:每一步操作都有记录,可以用 SQL 查询 Agent 的行为历史
-- 查询 Agent 在过去一小时修改了哪些文件SELECTpath, operation, timestampFROMagent_operationsWHEREagent_id='agent-coder-01'ANDtimestamp>datetime('now', '-1 hour')ORDERBYtimestampDESC;

AgentFS 还支持 FUSE 挂载——把 SQLite 虚拟文件系统挂载到真实路径上,Agent 用标准的文件操作(open/read/write)就能工作,不需要改代码。对 Agent 来说,它操作的就是一个普通的文件系统,但背后所有操作都被记录和隔离。

这个设计的深层意义是:它让 Agent 的行为变得可重放。你可以拿到一个 Agent 的操作日志,在另一个环境里精确重放每一步,看它到底做了什么、为什么做错了。这对调试 Agent 行为至关重要——你不能让 Agent "解释"它为什么删了那个文件,但你可以回放它的操作序列,自己判断。

对照表:人类工具 vs Agent 工具的设计差异

把上面六个范式放在一起看,一个清晰的模式浮现出来:

雷达图:六角形对比,蓝色线条为人类工具在可编程性 3 分、可观测性 4 分、隔离性 2 分、可恢复性 2 分、并行性 2 分、自动发现 1 分,红色线条为 Agent 工具在六个维度均为 4-5 分,Agent 工具面积显著大于人类工具

维度 人类工具的设计假设 Agent 工具的设计假设
感知方式 视觉(GUI、语法高亮、图标) 文本(stdout、屏幕内容、结构化数据)
操作方式 手动(鼠标点击、键盘快捷键) 程序化(API 调用、send-keys、JSON-RPC)
并行能力 单线程(一次做一件事) 多线程(同时操作多个隔离环境)
错误恢复 撤销/重做(Ctrl+Z) 快照/回滚(文件系统级)
工具发现 读文档、搜索、问同事 运行时自动发现(MCP tools/list)
环境隔离 不需要(只有一个人在操作) 必须(多 Agent 并行操作同一仓库)
状态管理 依赖记忆和笔记 结构化状态文件 + 数据库审计
事件响应 主动检查(拉取模式) 自动触发(推送模式,inotify/Hook)

这不是说人类工具"落后"了。它们为人类的认知方式优化了几十年,非常好用。但 Agent 的认知方式不同——它不需要"看",它需要"读";它不需要"记",它需要"查";它不需要"一步步来",它需要"同时铺开"。

工具为使用者而设计。使用者变了,工具自然要变。

结语:工具链正在分叉

我们正处在一个有趣的分叉点。

过去 40 年,开发工具的演进方向是"让人类更高效"——从命令行到 GUI,从文本编辑器到 IDE,从手动部署到 CI/CD。每一步都在适应人类的认知习惯:视觉化、交互式、单线程。

现在,一条新的演进路径出现了:"让 Agent 更高效"。tmux 的 capture-pane 比 GUI 截图更适合 Agent 感知。Git worktree 比分支切换更适合 Agent 并行。MCP 比 REST API 文档更适合 Agent 发现工具。AgentFS 比真实文件系统更适合 Agent 管理状态。

这两条路径不会合并。人类不会放弃 VS Code 去用 tmux capture-pane 写代码,Agent 也不会去学怎么点击 GUI 按钮。它们会各自演进,偶尔交汇——比如 Kiro 这样的产品,同时为人类提供 IDE 体验,为 Agent 提供 Hook 和 MCP 接口。

值得关注的趋势:

  • tmux 生态爆发:dmux、workmux、NTM、amux、cmuxLayer、Webmux……半年内出现了至少六个 Agent 编排工具,全部基于 tmux。这不是巧合。
  • 沙箱成为标配:E2B、Modal、Daytona 等平台的增长说明,"让 Agent 在隔离环境里跑"正在从可选变成必选。
  • MCP 协议扩散:2300+ Server、200+ 客户端支持,MCP 正在成为 Agent 工具集成的事实标准。
  • 文件系统被重新发明:AgentFS 的 copy-on-write + SQL 审计模式,可能是 Agent 状态管理的未来方向。

下次你看到一个新的开发工具,不妨先问一个问题:这个工具是为人设计的,还是为 Agent 设计的?

答案可能会越来越频繁地指向后者。


参考链接:

  • tmux is the multi-agent AI orchestration layer you already have[1] — Robert Travis Pierce 关于 tmux 作为 Agent 编排层的深度分析
  • tmux as Agent Habitat[2] — iKangAI 对 tmux capture-pane/send-keys 双原语的技术解析
  • Orchestrating a local LLM swarm using tmux and Claude[3] — Rohan Verma 的本地 LLM 集群编排实践
  • dmux: A dev agent multiplexer[4] — 支持 11+ Agent 的开源 worktree + tmux 编排工具
  • Git worktrees for parallel AI coding agents[5] — Upsun 开发者中心的 worktree 并行实践指南
  • The Complete Guide to Sandboxing Autonomous Agents[6] — Agent 沙箱技术的全面综述
  • AgentFS: The Missing Abstraction for AI Agents[7] — Turso 团队对 Agent 文件系统抽象的设计思路
  • Introducing the Model Context Protocol[8] — Anthropic 官方 MCP 协议介绍
  • Webmux: a web dashboard for parallel AI coding agents[9] — Windmill 的多 Agent Web 仪表盘方案
  • NTM Review 2026 – Multi-Agent Tmux Orchestrator[10] — NTM 工具的功能评测

参考链接

[1] https://roberttravispierce.com/articles/tmux-multi-agent-ai-orchestration

[2] https://www.ikangai.com/tmux-as-agent-habitat/

[3] https://rohanverma.net/blog/2025/11/19/orchestrating-local-llm-swarm-tmux-claude/

[4] https://github.com/standardagents/dmux

[5] https://devcenter.upsun.com/posts/git-worktrees-for-parallel-ai-coding-agents/

[6] https://www.ikangai.com/the-complete-guide-to-sandboxing-autonomous-agents-tools-frameworks-and-safety-essentials/

[7] https://turso.tech/blog/agentfs

[8] https://www.anthropic.com/news/model-context-protocol

[9] https://www.windmill.dev/blog/webmux

[10] https://vibecoding.app/blog/ntm-review

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-20 03:22:09 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/548175.html
  2. 运行时间 : 0.222660s [ 吞吐率:4.49req/s ] 内存消耗:4,845.36kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=75c9e6cf39a04203ff1de0e8dba6fd8a
  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.000970s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001638s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000690s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000641s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001305s ]
  6. SELECT * FROM `set` [ RunTime:0.000502s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001517s ]
  8. SELECT * FROM `article` WHERE `id` = 548175 LIMIT 1 [ RunTime:0.001531s ]
  9. UPDATE `article` SET `lasttime` = 1776626529 WHERE `id` = 548175 [ RunTime:0.016924s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000613s ]
  11. SELECT * FROM `article` WHERE `id` < 548175 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001106s ]
  12. SELECT * FROM `article` WHERE `id` > 548175 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001190s ]
  13. SELECT * FROM `article` WHERE `id` < 548175 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003946s ]
  14. SELECT * FROM `article` WHERE `id` < 548175 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.003163s ]
  15. SELECT * FROM `article` WHERE `id` < 548175 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005424s ]
0.226710s