当前位置:首页>java>Ruler:多 AI 编程助手统一配置管理方案

Ruler:多 AI 编程助手统一配置管理方案

  • 2026-01-31 19:13:18
Ruler:多 AI 编程助手统一配置管理方案

TL;DR

当你需要频繁在 Kilocode、OpenCode、Claude、Codex、GitHub Copilot 等多个 AI 编程助手之间切换时,Ruler[1] 是你的最佳选择:

  • 单一数据源:集中管理所有 AI 编程助手的 instructions
  • 自动分发:一键将配置分发到各个编程助手的专属文件
  • MCP 配置管理:统一管理 Model Context Protocol 服务器配置
  • Skills 支持:集中管理并分发 Agent Skills 到各个工具
  • 嵌套规则加载:支持复杂项目结构的分层配置管理
  • 自动维护 .gitignore:保持项目目录整洁

背景:从混乱到标准化的演进

曾经的痛点

在我写《AGENTS.md:统一编码助手指令文件的新标准[2] 这个项目。当时实际上我并没有频繁使用这个工具,因为我主要使用的是单一的编程助手。

但现在情况不同了。

随着 AI 编程助手的爆发式增长,我需要频繁在多个工具之间切换:

  • Kilocode - 日常编码和快速原型
  • Claude - 深度思考和算法优化
  • Codex - API 开发和文档生成
  • OpenCode - 开源项目贡献

每个工具都有自己的:

  • Instructions 文件位置和格式
  • MCP 服务器配置方式
  • Agent Skills 目录结构
  • 特定的功能和配置项

AGENTS.md 解决了什么?没解决什么?

AGENTS.md[3] 标准的出现(Google、OpenAI、Factory、Sourcegraph 和 Cursor 联合推出),统一了 instructions 文件的名称和位置。这是一个重大进步,项目根目录不再混乱。

AGENTS.md 解决的问题

  • 统一了 instructions 文件名(都叫 AGENTS.md)
  • 统一了文件位置(项目根目录)
  • 提供了标准的内容格式建议

AGENTS.md 没有解决的问题

  • MCP 服务器配置仍然各自为政
    • Cursor 使用 .cursor/mcp.json
    • Claude 使用 .mcp.json
    • Windsurf 使用 .windsurf/mcp_config.json
    • Codex 使用 .codex/config.toml
  • Agent Skills 目录结构不统一
    • Claude/Copilot/Kilocode 使用 .claude/skills/
    • Codex 使用 .codex/skills/
    • OpenCode 使用 .opencode/skill/
    • Goose/Amp 使用 .agents/skills/
  • 特定工具的额外配置文件
    • Aider 的 .aider.conf.yml
    • Cline 的 .clinerules
    • Crush 的 CRUSH.md
  • 没有便捷的管理和同步机制

这就是 Ruler 依然不可或缺的原因。

Ruler 是什么?

Ruler 是一个命令行工具,提供 单一数据源(Single Source of Truth) 来管理所有 AI 编程助手的配置。

核心理念

统一由 Ruler 管理内容:

.ruler/                    # 单一数据源├── AGENTS.md             # 主指令文件├── coding_style.md       # 代码风格指南├── api_guidelines.md     # API 设计规范├── ruler.toml            # Ruler 配置└── skills/               # 集中管理的 Skills    ├── my-skill/    │   └── SKILL.md    └── another-skill/        └── SKILL.md

执行 ruler apply 命令生成并分发到各工具的专属文件:

AGENTS.md                 # 分发给所有支持的工具.cursor/mcp.json          # Cursor 的 MCP 配置.mcp.json                 # Claude 的 MCP 配置.codex/config.toml        # Codex 的 MCP 配置.claude/skills/           # Claude/Copilot/Kilocode 的 Skills.codex/skills/            # Codex 的 Skills.opencode/skill/          # OpenCode 的 Skills.gitignore               # 自动更新,忽略生成的文件

关键特性

  1. 集中式规则管理

    • 所有 instructions 都放在 .ruler/ 目录
    • 支持多个 Markdown 文件,自动合并
    • 文件发现和加载顺序可预测
  2. 嵌套规则加载(Nested Rule Loading)

    • 支持复杂项目的分层配置
    • 适用于 Monorepo 和多组件项目
    • 不同目录可以有特定的上下文规则
  3. 自动分发配置

    • 一键生成各个工具的配置文件
    • 支持 30+ 种 AI 编程助手
    • 可按需选择要配置的工具
  4. MCP 服务器管理

    • 在 ruler.toml 中统一定义 MCP 服务器
    • 自动分发到各工具的配置文件
    • 支持 merge 和 overwrite 两种策略
  5. Agent Skills 分发

    • 集中管理 Skills 在 .ruler/skills/
    • 自动复制到各工具的 skills 目录
    • 支持嵌套的 Skills 结构
  6. 自动 .gitignore 管理

    • 自动添加生成文件到 .gitignore
    • 使用标记块管理,不影响其他内容
    • 保持项目仓库整洁

核心概念详解

1. .ruler/ 目录结构

.ruler/├── AGENTS.md              # 主指令文件(新标准)├── instructions.md        # 旧版支持(向后兼容)├── ruler.toml             # Ruler 配置文件├── coding_style.md        # 额外的规则文件├── api_conventions.md     # API 设计规范└── skills/                # Skills 目录    ├── skill-1/    │   └── SKILL.md      # 必需    └── skill-2/        └── SKILL.md

文件加载顺序和优先级

  1. 项目根目录的 AGENTS.md(如果存在,最高优先级)
  2. .ruler/AGENTS.md(新标准,推荐)
  3. .ruler/instructions.md(旧版,向后兼容)
  4. .ruler/ 下的其他 .md 文件(按字母顺序)

所有文件内容会被合并,每个文件前会自动添加来源标记。

2. 嵌套规则加载(Nested Rules)

这是 Ruler 的杀手级特性,特别适合复杂项目。

使用场景

my-monorepo/├── .ruler/                    # 全局规则│   ├── AGENTS.md│   └── global_standards.md├── frontend/│   └── .ruler/                # 前端特定规则│       └── react_guidelines.md├── backend/│   └── .ruler/                # 后端特定规则│       └── api_standards.md└── docs/    └── .ruler/                # 文档写作规则        └── writing_style.md

启用方式

# .ruler/ruler.tomlnested = true

或使用 CLI 参数:

ruler apply --nested

适用场景

  • Monorepo 项目(多个服务/包)
  • 前后端分离项目
  • 多团队协作(不同区域有不同标准)
  • 大型复杂代码库

3. MCP 服务器配置

为什么重要?

Model Context Protocol (MCP) 为 AI 模型提供额外的上下文和能力:文件系统访问、Git 操作、远程 API 调用、数据库查询等。但每个工具的 MCP 配置格式都不同,Ruler 统一管理。

配置示例

# .ruler/ruler.toml[mcp]enabled = truemerge_strategy = "merge"  # 或 "overwrite"# 本地 stdio 服务器[mcp_servers.filesystem]command = "npx"args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]# Git 服务器[mcp_servers.git]command = "npx"args = ["-y", "@modelcontextprotocol/server-git", "--repository", "."]# 远程服务器[mcp_servers.api]url = "https://mcp.example.com"[mcp_servers.api.headers]Authorization = "Bearer your-token"

Ruler 会自动将 MCP 配置转换为各工具的格式并分发。

4. Agent Skills 管理

什么是 Agent Skills?

Agent Skills 是 AI 代理的可复用能力包,类似于软件的插件系统。详见我的另一篇文章《Agent Skills 深度解析:为 AI 代理构建可复用的技能生态系统》。

Ruler 的 Skills 管理

.ruler/skills/├── obsidian-workflow/│   ├── SKILL.md          # 必需:技能说明│   ├── templates/        # 可选:模板文件│   └── scripts/          # 可选:辅助脚本└── api-design/    ├── SKILL.md    └── examples/

Ruler 会将 Skills 自动复制到各工具的 skills 目录(.claude/skills/.codex/skills/.opencode/skill/ 等)。

支持的 AI 编程助手

Ruler 支持 30+ 种 AI 编程助手,包括:

常用工具

  • GitHub Copilot
  • Claude Code
  • Cursor
  • Kilo Code
  • OpenCode
  • Codex

完整列表详见Ruler GitHub[4]

安装和快速入门

安装

# 全局安装(推荐)npm install -g @intellectronica/ruler# 或使用 npx(一次性)npx @intellectronica/ruler apply

要求:Node.js ^20.19.0 || ^22.12.0 || >=23

项目初始化

# 进入项目目录cd your-project# 初始化 Rulerruler init

这会创建 .ruler/ 目录、AGENTS.md 和 ruler.toml 配置文件。

实战指南

场景 1:基础使用

  1. 创建配置
ruler init
  1. 编辑规则
# .ruler/AGENTS.md## 项目概述这是一个 TypeScript + React 项目,使用 Vite 构建。## 代码规范使用 TypeScript strict 模式组件使用函数式写法,优先使用 hooks使用 ESLint 和 Prettier所有导出函数必须有 JSDoc 注释## 测试要求每个功能必须有单元测试使用 Vitest 作为测试框架测试覆盖率不低于 80%
  1. 应用到所有工具
ruler apply

场景 2:只配置特定工具

# 只配置 Cursor 和 Clauderuler apply --agents cursor,claude# 查看详细输出ruler apply --agents cursor,claude --verbose

场景 3:配置 MCP 服务器

编辑 .ruler/ruler.toml

[mcp]enabled = true[mcp_servers.filesystem]command = "npx"args = ["-y", "@modelcontextprotocol/server-filesystem", "${PROJECT_ROOT}"][mcp_servers.git]command = "npx"args = ["-y", "@modelcontextprotocol/server-git", "--repository", "."]

然后应用配置:

ruler apply --mcp

场景 4:管理 Agent Skills

创建 Skills:

mkdir -p .ruler/skills/api-designcat > .ruler/skills/api-design/SKILL.md << 'EOF'# API Design Guidelines## REST API 设计原则1. **资源命名**   - 使用名词复数形式:`/users`, `/products`   - 避免动词2. **HTTP 方法**   - GET:获取资源   - POST:创建资源   - PUT:完整更新资源   - PATCH:部分更新资源   - DELETE:删除资源EOF

应用 Skills:

ruler apply --skills

场景 5:Monorepo 嵌套规则

在 .ruler/ruler.toml 中启用:

nested = true

然后从项目根目录运行:

ruler apply --nested

Ruler 会自动发现所有嵌套的 .ruler/ 目录并合并规则。

与其他方案对比

Ruler vs. AGENTS.md 标准

维度
AGENTS.md
Ruler
Instructions 统一
文件名和位置统一
单一数据源
MCP 配置
各工具自行配置
统一管理和分发
Skills 管理
各工具独立
集中管理
嵌套规则
不支持
原生支持
自动化
手动维护
一键应用
学习成本
低(只是文件)
中(需要学习工具)

推荐使用场景

使用 AGENTS.md 即可

  • 只使用 1-2 个 AI 编程助手
  • 不需要 MCP 服务器配置
  • 不使用 Agent Skills
  • 项目结构简单

Ruler 更适合

  • 频繁切换多个 AI 工具
  • 需要统一管理 MCP 配置
  • 使用 Agent Skills
  • Monorepo 或复杂项目结构
  • 团队协作,需要标准化配置

最佳实践:结合使用

  1. 使用 AGENTS.md 标准(统一文件名和位置)
  2. 使用 Ruler 管理配置(MCP、Skills、嵌套规则)
  3. 将 .ruler/ 目录提交到版本控制
  4. 团队成员只需运行 ruler apply

团队协作建议

1. 提交 .ruler/ 到版本控制

# .gitignore# 生成的文件由 Ruler 自动管理,不提交AGENTS.md.cursor/mcp.json.mcp.json.claude/skills/# .ruler/ 目录提交到版本控制!.ruler/

2. NPM Scripts 集成

{"scripts": {"ruler:apply""ruler apply","ruler:check""ruler apply --dry-run","postinstall""npm run ruler:apply"  }}

3. 团队标准化

创建团队配置模板:

team-configs/├── ruler-templates/│   ├── frontend.toml│   ├── backend.toml│   └── fullstack.toml└── skills/    ├── company-api-design/    └── security-guidelines/

项目初始化时复制团队配置:

cp team-configs/ruler-templates/frontend.toml .ruler/ruler.tomlcp -r team-configs/skills/* .ruler/skills/ruler apply

总结

AGENTS.md 标准统一了 instructions 文件的名称和位置,但 MCP 配置、Agent Skills 管理和嵌套规则等问题依然需要手动处理。Ruler 以 " 单一数据源 " 的理念填补了这个空白,支持 30+ 种 AI 编程助手的自动化配置管理,特别适合频繁切换多个工具、使用复杂项目结构或需要团队标准化的场景。通过一键 ruler apply 命令,你可以将集中管理的配置自动分发到各个工具,大幅降低维护成本,让配置管理回归简单。

参考资料
[1] 

Ruler: https://github.com/intellectronica/ruler

[2] 

AGENTS.md:统一编码助手指令文件的新标准: https://mp.weixin.qq.com/s/6ZEGcGzt-Nsb1h354ySscg

[3] 

AGENTS.md: https://agents.md/

[4] 

Ruler GitHub: https://github.com/intellectronica/ruler

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 19:59:21 HTTP/2.0 GET : https://f.mffb.com.cn/a/469854.html
  2. 运行时间 : 0.238092s [ 吞吐率:4.20req/s ] 内存消耗:4,638.80kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2f98ec6a63bd0a342cceb5d20ddcd224
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000572s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000605s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.008643s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003155s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000532s ]
  6. SELECT * FROM `set` [ RunTime:0.000761s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000677s ]
  8. SELECT * FROM `article` WHERE `id` = 469854 LIMIT 1 [ RunTime:0.003074s ]
  9. UPDATE `article` SET `lasttime` = 1770465561 WHERE `id` = 469854 [ RunTime:0.007046s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000290s ]
  11. SELECT * FROM `article` WHERE `id` < 469854 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002228s ]
  12. SELECT * FROM `article` WHERE `id` > 469854 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.024295s ]
  13. SELECT * FROM `article` WHERE `id` < 469854 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.061082s ]
  14. SELECT * FROM `article` WHERE `id` < 469854 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.023177s ]
  15. SELECT * FROM `article` WHERE `id` < 469854 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.016318s ]
0.239773s