当前位置:首页>Linux>Kali Linux 安装 Claude Code使用 DeepSeek API 极速教程

Kali Linux 安装 Claude Code使用 DeepSeek API 极速教程

  • 2026-08-21 18:02:19
Kali Linux 安装 Claude Code使用 DeepSeek API 极速教程

第一部分:一键换源(提速关键,或者自行找安装快的源安装)

安装的软件包

软件
方式
说明
Node.js v22
apt install nodejs
运行时,内含 npm
Claude Code
npm install -g @anthropic-ai/claude-code
主程序

没有安装任何 Python 第三方包(代理只用标准库)。

手动创建的文件(共 3 个)

文件
路径
作用
代理脚本~/deepseek-proxy.py
协议转换核心,约 170 行 Python
Claude Code 配置~/.claude/settings.json
告诉 Claude Code 走本地代理(3 行 JSON)
一键启动脚本~/claude-deepseek.sh
每次一键启动(6 行 bash)

修改的配置文件(共 3 个)

文件
改动
目的
/etc/apt/sources.list
换清华源
apt 下载加速
~/.bashrc
追加 PATH
让 npm 全局包可执行
npm registry
npm config set registry
npm 下载加速

Kali 默认使用国外软件源,下载速度可能只有几十 KB/s。安装前先切换到国内镜像源,这是整个过程中最关键的提速步骤。

步骤 1:APT 切换清华大学镜像源[🕐 约 1 分钟]

备份原有源,替换为清华镜像:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑源文件:

sudo nano /etc/apt/sources.list

清空原有内容,替换为以下内容:

deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware          deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware

更新软件包索引,验证速度:

sudo apt update

# 正常速度:10~30 MB/s(清华教育网内可达 100 MB/s)

# 如果还是慢,换其他镜像:

# 中科大:mirrors.ustc.edu.cn

# 阿里云:mirrors.aliyun.com

# 网易:mirrors.163.com

步骤 2:npm 切换淘宝镜像源[🕐 约 10 秒]

npm 默认从 npmjs.org 拉包,国内极慢。配置为淘宝镜像一劳永逸:

npm config set registry https://registry.npmmirror.com

npm config get registry

https://registry.npmmirror.com

⚡ 配置后 npm install 速度从几十 KB/s → 10+ MB/s

步骤 3:pip 配置清华镜像源(备用)[🕐 约 10 秒]

虽然本方案不需要安装 Python 第三方包,但建议顺手配一下,日后用得上:

mkdir -p ~/.pip

cat > ~/.pip/pip.conf << EOF

[global]

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]

trusted-host = pypi.tuna.tsinghua.edu.cn

EOF

第二部分:安装 Node.js 与 Claude Code

步骤 4:安装 Node.js(npm 包管理器)[🕐 约 1~2 分钟]

Kali 通常已预配 NodeSource 源。如果未配置,用下面命令添加(走官方源速度尚可)。安装时只装 nodejs,不要同时装 npm(会冲突)。

⚠ 不要执行 sudo apt install nodejs npm —— 会报依赖冲突!只装 nodejs 一个包即可。

sudo apt install -y nodejs

验证:

node --version

v22.23.2

npm --version

10.9.8

如果 apt 里没有 NodeSource 源,手动添加:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

sudo apt install -y nodejs

步骤 5:配置 npm 全局安装到用户目录[🕐 约 20 秒]

让 npm install -g 安装到自有目录,以后不需要 sudo:

mkdir -p ~/.npm-global

npm config set prefix ~/.npm-global

echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

npm config get prefix

/home/daiyq/.npm-global

步骤 6:安装 Claude Code[🕐 约 1~3 分钟(淘宝源)]

淘宝镜像加速,通常 1~2 分钟完成:

npm install -g @anthropic-ai/claude-code

# 预期:added XXX packages in 1~2m

claude --version

2.1.220 (Claude Code)

⚡ 如果之前没配淘宝源,这一步可能耗时 10~30 分钟!步骤 2 的镜像配置至关重要。

第三部分:部署协议转换代理

这是整个方案的核心——一个约 170 行的 Python 脚本,零依赖,负责在 Anthropic 和 OpenAI 两种 API 格式之间做双向翻译。

步骤 7:获取 DeepSeek API Key[🕐 约 2 分钟]

访问 https://platform.deepseek.com/api_keys,注册并创建 API Key。格式为 sk-xxxxxxxx。新用户通常赠送免费额度。

⚠ API Key 是敏感凭据,不要分享给任何人,也不要提交到公开仓库。

步骤 8:创建代理脚本[🕐 约 3 分钟]

nano ~/deepseek-proxy.py

粘贴以下完整代码(注意修改第 12 行 API Key):

#!/usr/bin/env python3          # -*- coding: utf-8 -*-          """          DeepSeek 代理 — Anthropic Messages API ↔ OpenAI Chat Completions          纯 Python 标准库 · 零依赖 · 不破坏 Kali 现有工具          监听 4000 端口,Claude Code 所有 API 请求通过此代理转发到 DeepSeek          """          import json          from http.server import HTTPServer, BaseHTTPRequestHandler          from urllib.request import Request, urlopen          from urllib.error import HTTPError          # ==========================================          DEEPSEEK_KEY = "sk-你的api-key"# ← 改这里!          DEEPSEEK_URL = "https://api.deepseek.com/v1/chat/completions"          PORT = 4000          # ==========================================          class Proxy(BaseHTTPRequestHandler):          # ── HEAD: Claude Code 启动时先发 HEAD 探测连通性 ──          def do_HEAD(self):          ok = self.path in ("/", "/api/hello", "/v1/messages")          self._send(ok and 200 or 404, None)          # ── GET: 健康检查 / 模型列表 ──          def do_GET(self):          if self.path in ("/", "/api/hello"):          self._send(200, {"status": "ok", "target": "DeepSeek"})          elif self.path.startswith("/v1/models"):          self._send(200, {"data": [          {"id": "claude-sonnet-4-20250514", "object": "model"},          {"id": "claude-3-5-sonnet-20241022", "object": "model"},          ]})          else:          self._send(404, {"error": "not found"})          # ── POST: 核心翻译逻辑 ──          def do_POST(self):          # 1. 读取 Anthropic 请求          n = int(self.headers.get("Content-Length", 0))          body = json.loads(self.rfile.read(n)) if n else {}          messages = []          for m in body.get("messages", []):          role = m.get("role", "user")          content = m.get("content", "")          # system 直接透传          if role == "system":          text = self._text(content)          if text: messages.append({"role": "system", "content": text})          continue          # assistant: text + tool_use → tool_calls          if role == "assistant":          texts, tcs = [], []          if isinstance(content, str):          texts.append(content)          elif isinstance(content, list):          for c in content:          if c.get("type") == "text":          texts.append(c.get("text", ""))          elif c.get("type") == "tool_use":          tcs.append({          "id": c.get("id", ""),          "type": "function",          "function": {          "name": c.get("name", ""),          "arguments": json.dumps(          c.get("input", {}),          ensure_ascii=False)          }          })          msg = {"role": "assistant",          "content": "\n".join(texts) or None}          if tcs: msg["tool_calls"] = tcs          messages.append(msg)          continue          # user: text + tool_result → tool 消息          if role == "user":          if isinstance(content, str):          messages.append({"role": "user", "content": content})          elif isinstance(content, list):          for c in content:          if c.get("type") == "text":          messages.append({          "role": "user",          "content": c.get("text", "")          })          elif c.get("type") == "tool_result":          rc = c.get("content", "")          if isinstance(rc, list):          rc = "\n".join(          x.get("text", "") for x in rc          if x.get("type") == "text"          )          messages.append({          "role": "tool",          "tool_call_id": c.get("tool_use_id", ""),          "content": str(rc),          })          continue          # 2. 构建 OpenAI 请求          req_body = {          "model": "deepseek-chat",          "messages": messages,          "max_tokens": body.get("max_tokens", 4096),          "stream": False,          }          # 工具定义翻译          if "tools" in body:          req_body["tools"] = [{          "type": "function",          "function": {          "name": t.get("name", ""),          "description": t.get("description", ""),          "parameters": t.get("input_schema", {}),          }          } for t in body["tools"]]          # 3. 发到 DeepSeek          try:          req = Request(          DEEPSEEK_URL,          data=json.dumps(req_body, ensure_ascii=False).encode(),          headers={          "Authorization": f"Bearer {DEEPSEEK_KEY}",          "Content-Type": "application/json",          })          resp = urlopen(req, timeout=180)          data = json.loads(resp.read())          choice = data["choices"][0]["message"]          # 4. OpenAI 响应 → Anthropic 格式          content_list = []          if choice.get("content"):          content_list.append({          "type": "text", "text": choice["content"]          })          if "tool_calls" in choice:          for tc in choice["tool_calls"]:          args = tc["function"]["arguments"]          if isinstance(args, str):          try: args = json.loads(args)          except: pass          content_list.append({          "type": "tool_use",          "id": tc.get("id", ""),          "name": tc["function"]["name"],          "input": args,          })          stop_map = {"stop": "end_turn", "length": "max_tokens",          "tool_calls": "tool_use"}          self._send(200, {          "id": data.get("id", "msg_001"),          "model": body.get("model", "claude-sonnet-4-20250514"),          "type": "message", "role": "assistant",          "stop_reason": stop_map.get(          choice.get("finish_reason", "stop"), "end_turn"),          "content": content_list,          "usage": {          "input_tokens":          data.get("usage", {}).get("prompt_tokens", 0),          "output_tokens":          data.get("usage", {}).get("completion_tokens", 0),          }          })          except HTTPError as e:          self._send(e.code, {"error": e.read().decode()})          except Exception as e:          self._send(500, {"error": str(e)})          # ── 辅助 ──          def _text(self, content):          if isinstance(content, str): return content          if isinstance(content, list):          return "\n".join(          c.get("text", "") for c in content          if c.get("type") == "text")          return str(content)          def _send(self, code, data):          self.send_response(code)          self.send_header("Content-Type", "application/json")          self.end_headers()          if data is not None:          self.wfile.write(          json.dumps(data, ensure_ascii=False).encode())          def log_message(self, fmt, *args):          print(f"[{self.log_date_time_string()}] {args[0]}")          if __name__ == "__main__":          print(f"[*] 代理已启动 → http://localhost:{PORT}")          print(f"转发目标: {DEEPSEEK_URL}")          HTTPServer(("0.0.0.0", PORT), Proxy).serve_forever()          

chmod 600 ~/deepseek-proxy.py

步骤 9:启动代理并验证[🕐 约 30 秒]

在第一个终端窗口启动代理(保持运行,不要关闭):

python3 ~/deepseek-proxy.py

[*] 代理已启动 → http://localhost:4000

转发目标:https://api.deepseek.com/v1/chat/completions

另开第二个终端,测试代理连通性:

curl -s http://localhost:4000/api/hello

{"status": "ok", "target": "DeepSeek"}

⚡ 至此,代理层跑通。如果 curl 无响应,检查代理终端是否有报错。

第四部分:配置 Claude Code 连接代理

步骤 10:写入 Claude Code 配置[🕐 约 1 分钟]

告诉 Claude Code 把请求发给本地代理而非 api.anthropic.com:

mkdir -p ~/.claude

cat > ~/.claude/settings.json << 'EOF'

{

"env":{

"ANTHROPIC_BASE_URL":"http://localhost:4000",

"ANTHROPIC_API_KEY":"any-key"

}

}

EOF

验证 JSON 格式正确:

python3 -c "import json; json.load(open('$HOME/.claude/settings.json')); print('OK')"

OK

第五部分:启动与验证

步骤 11:启动 Claude Code[🕐 约 30 秒]

确保代理在另一个终端运行中,然后在当前终端执行:

export ANTHROPIC_BASE_URL="http://localhost:4000"

export ANTHROPIC_API_KEY="any-key"

claude

首次启动会依次出现三屏确认界面:

第 1 屏 — 主题选择

用方向键选 "2. Dark mode",回车。

❯ 2. Dark mode ✔

第 2 屏 — API Key 安全提示

选 "2. No (recommended)",不直连 Anthropic 官方,而是走代理。

❯ 2. No (recommended)

第 3 屏 — 工作区信任

选 "1. Yes, I trust this folder",回车。

❯ 1. Yes, I trust this folder

三屏确认后进入对话界面,出现空提示符 ❯ 即成功。

步骤 12:纯文本对话验证[🕐 约 10 秒]

在 ❯ 后输入:

你好,请用中文回复,帮我确认当前连接是否正常。

正常回复 + 代理终端有 POST 日志 → 基础链路跑通。

步骤 13:工具调用验证(关键)[🕐 约 20~30 秒]

测试 Claude Code 的核心能力——自动执行 Bash、读取文件、发出 curl 请求等:

检查一下当前的 API 配置,确认实际使用的是哪个模型。

Claude Code 会自动执行环境变量查询 → 读取 settings.json → curl 验证代理 → 搜索日志等操作,并在 15~30 秒后回复确认实际模型是 DeepSeek。所有工具调用成功即表明代理的工具翻译也完美工作。

第六部分:一键启动 & 退出

步骤 14:创建一键启动脚本[🕐 约 1 分钟]

cat > ~/claude-deepseek.sh << 'EOF'

#!/bin/bash

sudo fuser -k 4000/tcp 2>/dev/null# 停旧代理

python3 ~/deepseek-proxy.py &# 启新代理

sleep 2# 等代理就绪

export ANTHROPIC_BASE_URL="http://localhost:4000"

export ANTHROPIC_API_KEY="any-key"

claude

EOF

chmod +x ~/claude-deepseek.sh

以后每次使用只需要:

~/claude-deepseek.sh

⚡ 一口气完成:停旧代理 → 启动新代理 → 启动 Claude Code

步骤 15:退出方式[🕐 约 5 秒]

结束使用后两步退出:

# 在 Claude Code 内按 Ctrl+D(或输入 /exit 回车)

退出 Claude Code 后,关掉代理:

sudo fuser -k 4000/tcp

附录 :技术架构

B.1 数据流

B.2 协议转换核心

代理需要处理三种 Anhtropic ↔ OpenAI 的消息格式差异:

① 消息结构差异

Anthropic 使用 content[] 数组封装所有内容(文本、工具调用、工具结果都在里面),OpenAI 则用独立的 tool_calls 字段和 tool role。

Anthropic:OpenAI:          {{          "role": "assistant","role": "assistant",          "content": ["content": "结果是...",          {"type": "text", "text": "..."},"tool_calls": [{          {"type": "tool_use","id": "tool_001",          "name": "Bash","function": {          "input": {"cmd": "ls"}}"name": "Bash",          ]"arguments": "{\"cmd\":\"ls\"}"          }}]          }

② 工具结果差异

Anthropic 把工具执行结果放在 user 消息的 content[] 里(type=tool_result),OpenAI 要求用独立的 role=tool 消息,且 tool_call_id 必须和上一条 tool_calls 的 id 严格对应。

Anthropic:OpenAI:          {{          "role": "user","role": "tool",          "content": [{"tool_call_id": "tool_001",          "type": "tool_result","content": "file1.txt\nfile2.txt"          "tool_use_id": "tool_001",}          "content": "file1.txt..."          }]          }

③ 停止原因差异

Anthropic stop_reason←→OpenAI finish_reason          ─────────────────────────────────────────────          "end_turn"←→"stop"          "max_tokens"←→"length"          "tool_use"←→"tool_calls"

附录 C:常见问题排查

Q1: npm install 报 EACCES

权限不足,npm 尝试写 /usr/lib/node_modules/。回到步骤 5 配置 npm 全局路径到 ~/.npm-global/。

Q2: 启动 Claude Code 提示 Unable to connect

代理未运行或环境变量未生效。检查:① ps aux|grep deepseek-proxy;② ss -tlnp|grep 4000;③ cat ~/.claude/settings.json;④ curl localhost:4000/api/hello。

Q3: API Error 400 — tool_calls must be followed by tool messages

代理版本过旧(v1),工具调用翻译不完整。回到步骤 8 用 v2 完整代码替换 ~/deepseek-proxy.py。

Q4: 代理启动报 Address already in use

端口被旧进程占用。sudo fuser -k 4000/tcp 杀掉后重试。

Q5: 下载速度仍然很慢

检查:npm config get registry 是否显示淘宝源;cat /etc/apt/sources.list 是否用的国内镜像。ping mirrors.tuna.tsinghua.edu.cn 确认延迟 <100ms。如不行换阿里云源。

Q6: 怎么确认跑的真是 DeepSeek 不是 Anthropic?

输入 "检查 API 配置,确认实际模型",Claude Code 会自动查代理返回的 target 字段确认。

Q7: DeepSeek API 余额/Key 怎么查?

访问 https://platform.deepseek.com/usage 查看用量和余额。

—— 全文完 ——

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 02:32:46 HTTP/2.0 GET : https://f.mffb.com.cn/a/508459.html
  2. 运行时间 : 0.102870s [ 吞吐率:9.72req/s ] 内存消耗:4,488.71kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b59231f6704dd740ba57bbd78e725369
  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.000616s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000836s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000295s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000235s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000542s ]
  6. SELECT * FROM `set` [ RunTime:0.000180s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000555s ]
  8. SELECT * FROM `article` WHERE `id` = 508459 LIMIT 1 [ RunTime:0.000454s ]
  9. UPDATE `article` SET `lasttime` = 1787337166 WHERE `id` = 508459 [ RunTime:0.030573s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000307s ]
  11. SELECT * FROM `article` WHERE `id` < 508459 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000459s ]
  12. SELECT * FROM `article` WHERE `id` > 508459 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000522s ]
  13. SELECT * FROM `article` WHERE `id` < 508459 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000633s ]
  14. SELECT * FROM `article` WHERE `id` < 508459 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000708s ]
  15. SELECT * FROM `article` WHERE `id` < 508459 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000704s ]
0.104394s