乐于分享
好东西不私藏

cc-switch:把七个 AI 编程工具的配置、代理和技能管理收进一个桌面控制台

cc-switch:把七个 AI 编程工具的配置、代理和技能管理收进一个桌面控制台

如果你同时用 Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw、Hermes,最烦的往往不是模型本身,而是配置文件越来越像“抽屉迷宫”。

一个 provider 在 Claude 里是 JSON,在 Codex 里可能是 TOML,在 Gemini 里又变成 env;MCP、Skills、Prompt、会话历史各有一套目录;临时换一个 API 网关,还要担心把官方登录态覆盖掉。

CC Switch 做的事情很直接:用一个跨平台桌面应用,把这些 AI 编程工具的配置、切换、本地代理、扩展和会话入口统一收起来。它不是又一个聊天客户端,而更像 AI 编程工具链的“控制面板”。

CC Switch 主界面

项目基础信息

Repo:farion1231/cc-switch

地址:https://github.com/farion1231/cc-switch

Stars:102,662(GitHub API,2026-06-17T13:44:02.470522+00:00)

Forks:6,794

Open issues:1,487

主要语言:Rust

License:MIT

最近 push:2026-06-16T14:01:57Z

Topics:ai-tools, claude-code, desktop-app, open-source, rust, tauri, typescript, codex, mcp, provider-management, wsl-support, minimax, opencode, skills, skills-management, omo, openclaw, openclaw-ui, hermes, hermes-agent

仓库描述:A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io

它解决的具体工程摩擦

CC Switch 最核心的价值,是把“模型供应商切换”从手改配置文件,变成一个可视化、可回滚、可审计的动作。

README 里明确支持七类应用:Claude Code、Claude Desktop、Codex、Gemini CLI、OpenCode、OpenClaw、Hermes。源码里的 src/config/appConfig.tsx 也把这七类写进了 APP_IDS

这背后有几个真实痛点:

1. provider 配置格式不统一。Claude、Codex、Gemini、OpenClaw、Hermes 的配置文件格式和字段都不一样。

2. 切换第三方网关时,容易误伤官方登录态。Codex 尤其典型,auth.jsonconfig.toml 的职责必须分开。

3. MCP、Skills、Prompts 分散在不同应用目录里,迁移和同步很容易乱。

4. 想做本地代理、格式转换、failover、用量记录时,单纯写一个前端 UI 不够,必须有后端状态管理和恢复机制。

所以这类项目的难点,不在“能不能把 API Key 存起来”,而在“改了 live config 以后,出错时能不能恢复”。

怎么跑起来 / 最小使用路径

对普通用户,README 给的是桌面应用路径。

macOS 可以直接用 Homebrew:

```bash

brew install --cask cc-switch

```

也可以从 GitHub Releases 下载对应安装包:Windows 用 .msi 或 portable zip,macOS 用 .dmg.zip,Linux 用 AppImage 等 release 资产。

第一次使用的最小路径是:

1. 打开 CC Switch。

2. 点击 Add Provider,选择预设或创建自定义配置。

3. 在主界面选中 provider 后点击 Enable。

4. 或者通过系统托盘直接点 provider 名称快速切换。

5. 大多数 CLI 需要重启终端或重启对应 CLI 后生效;README 特别说明 Claude Code 支持热切换。

如果要从源码开发,package.json 里的入口很清楚:

```bash

pnpm install --frozen-lockfile

pnpm tauri dev

pnpm tauri build

```

前端单独调试可以跑:

```bash

pnpm run dev:renderer

pnpm run build:renderer

```

质量检查脚本包括:

```bash

pnpm typecheck

pnpm format:check

pnpm test:unit

```

如果打开本地代理接管,文档里的默认监听地址是:

```text

127.0.0.1:15721

```

Codex 接管时,文档示例会把本地配置指向:

```text

http://127.0.0.1:15721/v1

```

这里要特别注意:代理接管不是“只开一个本地端口”。它会修改 Claude、Codex、Gemini 的 live config,并依赖备份在停止代理时恢复。上线或日常使用前,必须确认备份和恢复链路正常。

核心能力拆解

1. 七类 AI 工具的 Provider 管理

src/config/appConfig.tsx 把应用分成:

Claude

Claude Desktop

Codex

Gemini

OpenCode

OpenClaw

Hermes

Provider 命令层在 src-tauri/src/commands/provider.rs,能看到 get_providersget_current_provideradd_providerupdate_providerdelete_providerswitch_providerimport_default_config 等 Tauri command。

这说明它不是把所有工具都当成一个通用 JSON 存储,而是有明确的 app 类型解析和服务层。ProviderService 负责导入默认配置、切换 live 配置、处理 common config snippet 等行为。

2. Codex 登录态与路由配置分离

src-tauri/src/codex_config.rs 是我觉得最值得看的文件之一。

它把 Codex 的几个关键路径拆开:

~/.codex/auth.json

~/.codex/config.toml

~/.codex/cc-switch-model-catalog.json

更重要的是,源码里有两个不同写入路径:

write_codex_live_atomic:同时处理 auth 和 config;如果第二步写 config 失败,会回滚第一步写入的 auth。

write_codex_live_config_atomic:只写 config.toml,用于 provider 切换时不覆盖官方登录态。

这类细节很实用。很多 AI CLI 管理工具最容易翻车的点,就是把“认证状态”和“路由配置”混在一起写,最后用户一切 provider,官方登录没了。

3. OpenClaw 配置是单独适配,不是简单套 Claude 固定范式

src-tauri/src/openclaw_config.rs 显示 CC Switch 对 OpenClaw 的配置路径是:

```text

~/.openclaw/openclaw.json

```

它支持 JSON5,默认结构里有:

```json

{

"models": {

"mode": "merge",

"providers": {}

}

}

```

代码里还出现了 OpenClaw 的 agents.defaultsmodels.providersenvtools.profile/allow/deny 等结构,并且有 openclaw_write_lockatomic_write

这说明它对 OpenClaw 的处理不是“把 endpoint 填进去就完事”,而是理解了 OpenClaw 这类 agent runtime 的模型、工具权限和默认 agent 配置。

4. MCP 和 Skills 做了能力边界

同样在 src/config/appConfig.tsx 里,SKILLS_APP_IDSMCP_APP_IDS 都包含:

Claude

Codex

Gemini

OpenCode

Hermes

但它们明确排除了 OpenClaw。

这个细节值得肯定。一个统一管理器最容易犯的错,是为了“全都支持”而把不适合的开关也塞进 UI。CC Switch 至少在源码层面把 MCP/Skills 的适用范围分开了。

Skills 命令层在 src-tauri/src/commands/skill.rs,能看到统一安装、卸载、备份、恢复、扫描未管理 Skills、从应用目录导入、检查更新等接口。README 里也写了默认 SSOT 目录:

```text

~/.cc-switch/skills/

```

卸载备份在:

```text

~/.cc-switch/skill-backups/

```

5. 本地代理不是玩具功能

README 和 docs 都把 Local proxy 放在很显眼的位置。它包含格式转换、auto-failover、circuit breaker、provider health monitoring、request rectifier。

src-tauri/src/services/proxy.rssrc-tauri/src/proxy/ 目录也能印证这件事:里面有 circuit_breakerfailover_switchforwarderprovider_routermodel_mapperthinking_rectifier、不同 provider adapter、usage parser/logger 等模块。

这意味着它尝试解决的是一个更硬的问题:让不同 CLI 仍然以自己熟悉的协议发请求,但由 CC Switch 在本地完成路由、格式转换、失败切换和计费记录。

关键实现 / 目录 / 配置精读

这个 repo 的一级目录很有信息量:

src/:React 前端、配置预设、hooks、组件、i18n、usage/session UI。

src-tauri/:Rust 后端,负责 Tauri command、配置读写、本地代理、数据库、系统集成。

docs/:用户手册、代理指南、Codex 路由指南、release notes。

tests/:前端组件、hooks、config、integration 测试。

.github/workflows/ci.yml:前后端 CI。

assets/screenshots/:README 里的主界面和添加 provider 截图。

添加 Provider 界面

几个文件可以重点读:

src/config/appConfig.tsx

这里定义应用列表,也定义哪些 app 支持 MCP/Skills。它是前端能力边界的入口。

src-tauri/src/commands/provider.rs

这里是 provider 管理的 Tauri command 层。前端不是直接改文件,而是通过后端服务层去 list、add、update、delete、switch provider。

src-tauri/src/codex_config.rs

这里最能体现配置安全意识。Codex 的 auth、config、model catalog 被拆成不同职责,写入有 rollback 和 config-only 路径。

src-tauri/src/openclaw_config.rs

这里体现 OpenClaw 的适配深度:JSON5、models.providers、agents.defaults、tools profile、健康检查、写锁、原子写。

src-tauri/capabilities/default.json

默认 Tauri capability 只开放 core、opener、updater、process restart、dialog 和窗口控制等权限。默认能力集没有直接给前端任意 shell 或文件系统权限,这对桌面配置工具很关键。

.github/workflows/ci.yml

CI 分两条线:前端跑 pnpm typecheckpnpm format:checkpnpm test:unit;Rust 侧在 Ubuntu 安装 GTK/WebKit 依赖后跑 cargo fmt --checkcargo clippy -- -D warningscargo test

适合什么场景 / 不适合什么场景

适合:

同时使用多个 AI 编程 CLI 的开发者。

经常在官方 API、第三方 API 网关、本地代理之间切换的人。

需要统一管理 MCP、Prompts、Skills、会话历史、用量统计的人。

团队内部需要把 provider 配置、模型目录、代理 failover 做成可维护流程的人。

已经遇到过 Codex/Claude/Gemini 配置文件互相覆盖、登录态丢失、代理残留的人。

不适合:

只用一个官方客户端、也不切换模型供应商的人。

不愿让桌面应用改写 CLI 配置文件的人。

对本地代理接管、配置备份和恢复机制没有验证条件的生产环境。

只想要一个网页聊天界面的人。CC Switch 的重点不是聊天,而是工具链配置和路由管理。

还有一个边界:OpenClaw 虽然在 provider 管理里受支持,但源码里 MCP/Skills 面板默认不把 OpenClaw 放进去。采用前不要假设“所有能力对所有 app 都等价”。

上线前验证 checklist

如果要在自己的工作流里认真用 CC Switch,我会按下面这张清单验收。

安装与版本

从 release 安装后确认 About 面板版本与 GitHub release 对应。

macOS Homebrew 安装路径跑通:brew install --cask cc-switch

源码开发路径跑通:pnpm install --frozen-lockfilepnpm tauri dev

配置安全

切换 Claude / Codex / Gemini provider 前,记录原始配置文件位置。

对 Codex,重点检查 auth.json 是否没有被第三方 provider 切换误覆盖。

对 OpenClaw,检查 ~/.openclaw/openclaw.json 是否仍是可解析 JSON5。

确认 ~/.cc-switch/backups/~/.cc-switch/skill-backups/ 的备份策略符合你的恢复预期。

本地代理

启动代理后确认监听地址是预期的 127.0.0.1:15721

开启 takeover 后检查 Claude/Codex/Gemini live config 是否指向本地代理。

停止代理后确认 live config 已恢复,而不是残留本地代理地址。

至少模拟一次 provider 失败,观察 failover 和 circuit breaker 的记录。

质量门槛

前端:pnpm typecheckpnpm format:checkpnpm test:unit

后端:cargo fmt --checkcargo clippy -- -D warningscargo test

Linux 打包前确认 GTK/WebKit 系统依赖齐全。

权限与合规

阅读 src-tauri/capabilities/default.json,确认默认能力符合组织要求。

阅读 SECURITY.md,确认安全漏洞报告和响应承诺。

MIT license 对二次开发和内部使用通常比较友好,但仍要检查团队合规流程。

二次开发最值得拆的实现细节

第一,拆它的 live config 写入策略。

Codex 的 auth/config 分离、失败回滚、config-only 写入,是非常值得复用的设计。AI CLI 生态里,很多工具都把“登录态”“provider 路由”“模型目录”“本地缓存”混在一个目录下,管理器必须按职责拆开写。

第二,拆它的 Tauri command 边界。

前端只表达用户操作,真正的配置读写、导入、切换、备份、恢复都在 Rust 服务层。这比前端直接拼路径写文件更容易审计,也更适合加锁、回滚和跨平台兼容。

第三,拆它的 proxy takeover ownership。

代理接管最怕两件事:一是停止代理后 live config 没恢复,二是下次接管时把“代理残留配置”当成原始配置备份。CC Switch 的 proxy service 里有 live backup、placeholder 检测、恢复和 provider 热切换逻辑,这个方向是对的。

第四,拆它的能力矩阵,而不是只看 UI。

APP_IDSMCP_APP_IDSSKILLS_APP_IDS 这些看似普通的数组,其实是产品边界。统一管理器不应该让所有 app 都假装支持同一组能力。

FAQ

Q:它会替代 Claude Code、Codex 或 Gemini CLI 吗?

不会。它更像这些工具的配置、代理和扩展控制台。真正的编码会话仍然发生在原 CLI 或桌面工具里。

Q:切换 provider 后要不要重启?

README 的说法是,多数工具需要重启终端或对应 CLI 才会生效;Claude Code 支持热切换。

Q:它能管理 OpenClaw 吗?

能管理 OpenClaw 的 provider 配置。源码里有独立的 openclaw_config.rs,默认路径是 ~/.openclaw/openclaw.json。但 MCP/Skills 面板的应用列表没有包含 OpenClaw,这一点要分清。

Q:本地代理是不是一定要开?

不一定。普通 provider 切换可以不依赖代理。代理主要用于本地路由接管、格式转换、failover、用量记录等更复杂场景。

Q:这个项目最大的风险是什么?

最大的风险不是 UI,而是配置写入。它会修改多个 CLI 的 live config,所以一定要验证备份、恢复、停止代理后的清理,以及 Codex 官方登录态是否保留。

最终判断

CC Switch 的价值,不在于“又多一个 provider 管理界面”,而在于它把 AI 编程工具链里最容易失控的几件事放到了一起:provider 切换、Codex 登录态保护、本地代理接管、MCP/Skills/Prompts 管理、会话和用量可视化、备份恢复。

如果你只用一个官方客户端,它可能显得重。但如果你每天在多个 CLI、多个 API 网关、多个 agent 工具之间切换,它解决的是非常真实的工程摩擦。

可以把它看成 AI 编程工具链的“控制平面”。采用前最该验证的不是 star 数,而是三件事:配置写入是否可回滚,代理接管是否能干净恢复,团队内部的密钥和权限边界是否能被接受。

如果这三件事过关,CC Switch 值得进入重度 AI 编程用户的工具箱。

如果你不想错过这类 AI 工程工具和前沿论文精读,建议把「Alten观AI」设为星标(⭐️)。微信每天通常只推送一次通知,星标后更不容易漏掉新文章。

上线前自查清单

先确认输入边界

哪些字段来自原始来源,哪些是后处理结果。

哪些失败会直接影响最终回答或执行动作。

再确认回滚路径

配置、索引、缓存和权限最好能单独回滚。

关键日志要能定位到一次具体调用。

后续我会继续精读 RAG、搜索、Agent 与大模型工程化相关论文/框架。如果你关心“论文里的方法到底怎么落到工程系统里”,欢迎关注 Alten观AI,也欢迎在评论区聊聊你遇到过的 RAG 难题。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-08 13:53:01 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/767031.html
  2. 运行时间 : 0.098904s [ 吞吐率:10.11req/s ] 内存消耗:4,625.20kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8fd2803b0ab48dab3b9f65f1eb39b15e
  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 ( 4.22 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.11 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.000622s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000912s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000297s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000250s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000488s ]
  6. SELECT * FROM `set` [ RunTime:0.000187s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000550s ]
  8. SELECT * FROM `article` WHERE `id` = 767031 LIMIT 1 [ RunTime:0.000460s ]
  9. UPDATE `article` SET `lasttime` = 1786168381 WHERE `id` = 767031 [ RunTime:0.000720s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000233s ]
  11. SELECT * FROM `article` WHERE `id` < 767031 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000490s ]
  12. SELECT * FROM `article` WHERE `id` > 767031 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001406s ]
  13. SELECT * FROM `article` WHERE `id` < 767031 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002813s ]
  14. SELECT * FROM `article` WHERE `id` < 767031 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006767s ]
  15. SELECT * FROM `article` WHERE `id` < 767031 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003039s ]
0.100610s