乐于分享
好东西不私藏

AI Agent终于能收钱了:从Token计量到订阅开票,一套把LangChain变成SaaS的计费流水线

AI Agent终于能收钱了:从Token计量到订阅开票,一套把LangChain变成SaaS的计费流水线

很多团队已经把 AI Agent 做出来了,但真正开始收费时,才会撞上一个更现实的问题:

用户每聊一句、每调用一次模型、每跑一个任务,到底该向谁收费、收多少钱、怎么进账单?

如果只卖一个固定月费,重度用户可能把模型额度打穿,轻度用户又会觉得被多收。AI Agent 的商业化不能只靠套餐页,核心是把每一次模型调用变成可计量、可归属、可开票的用量事件。

这篇文章拆的是一套相对完整的工程流水线:用 LangChain callback 捕获模型 token,用 CloudEvents 标准化事件,再接入 Kong Konnect / OpenMeter 的计量和订阅体系,把 Agent 从“能回答问题”推进到“能按用量收钱”。

AI Agent 应用侧记录输入输出 token

一、别再只卖固定套餐了:Agent 真正烧钱的地方,必须逐次记账

AI Agent 的成本并不只发生在“用户发了一条消息”这一刻。一次看似简单的对话,背后可能包括:

成本项

典型来源

为什么必须计量

输入 token

用户问题、系统提示词、历史上下文、工具 schema

上下文越长,请求成本越高

输出 token

模型回复、工具调用参数、总结内容

多数模型输出单价高于输入

工具调用

搜索、数据库、MCP、外部 API

可能产生第三方调用费用

多轮任务

Agent 计划、执行、反思、重试

一个用户请求可能拆成多次模型调用

客户归属

tenant、workspace、user、plan

不归属到客户,就无法开票和限额

所以,一个可收费的 Agent 至少需要打通下面这条链路:

模型请求  -> 识别客户 subject  -> 统计输入 / 输出 token  -> 生成可去重的用量事件  -> 写入计量系统  -> 按套餐和费率聚合  -> 进入客户账单 / 发票

这不是一个“成本统计脚本”,而是一条产品化计费链路。

二、架构一眼看懂:LangChain 负责抓数,Kong 负责算账

这套方案的核心分工很清晰:

层级

组件

负责什么

Agent 编排层

LangChain

统一接入不同模型和调用生命周期

采集层

Callback Handler

在 LLM 开始和结束时读取 metadata 与 tokenUsage

事件层

CloudEvents

把每次输入 / 输出 token 标准化为事件

计量层

Kong Konnect / OpenMeter

按 customer subject 聚合 token 用量

商业层

Feature、Plan、Rate Card、Subscription

定义输入输出 token 价格并生成账单

收款层

Stripe 等支付提供商

处理真实扣款、失败重试和支付方式

Token 用量进入 Kong 计量和账单系统

原文示例使用 OpenAI 的 gpt-4o-mini,但关键点不在模型本身,而在 LangChain 的抽象层。只要模型调用能返回 token usage 或 estimated token usage,同一套 callback 就能继续使用。

Agent 计费事件架构

三、第一刀砍在 LangChain:把每次模型调用变成两条账单事件

实现上,重点不是写一个复杂服务,而是接入 LangChain 的生命周期回调。

1. 在模型开始时保存客户归属

生产环境里,subject 不应该写死在环境变量中,而应该来自登录态、workspace、tenant 或 API key。示例里为了演示,先用 acme 作为客户标识。

async handleLLMStart(  _llmSerialized,  _promptsstring[],  runIdstring,  parentRunId?: string,  _extraParams?: Record<stringunknown>,  _tags?: string[],  metadataRecord<stringunknown> = {},) {  if (parentRunId) {    const parentMetadata = this.runMetadata.get(parentRunId);    if (parentMetadata) {      Object.assign(metadata, parentMetadata);    }  }  this.runMetadata.set(runId, metadata);}

这里有一个容易被忽略的点:LangChain 的 LLM 调用通常挂在 chain、agent 或 tool flow 的子运行下面。如果不把 parent metadata 合并进 child run,handleLLMEnd 里可能拿不到客户标识,最后就会出现“模型确实调用了,但不知道该向谁收费”的事故。

2. 在模型结束时读取 tokenUsage

模型返回后,callback 读取 promptTokens 和 completionTokens,分别生成输入和输出两条 CloudEvents。

async handleLLMEnd(outputLLMResultrunIdstring) {  const { promptTokens = 0, completionTokens = 0 } =    output.llmOutput?.['tokenUsage'] ??    output.llmOutput?.['estimatedTokenUsage'] ??    {};  if (!(promptTokens > 0 || completionTokens > 0)) return;  const metadata = this.runMetadata.get(runId) ?? {};  const { subject, ls_model_name, ls_provider, ls_model_type, ...data } = metadata;  const inputEvent = {    specversion'1.0',    id`${runId}-input`,    source'langchain',    type'kong.llm_request',    subject,    data: {      ...data,      type'input',      tokens: promptTokens,      model: ls_model_name,      provider: ls_provider,    },  };  const outputEvent = {    specversion'1.0',    id`${runId}-output`,    source'langchain',    type'kong.llm_request',    subject,    data: {      ...data,      type'output',      tokens: completionTokens,      model: ls_model_name,      provider: ls_provider,    },  };  await this.ingest(inputEvent);  await this.ingest(outputEvent);}

这段代码里有三个生产级细节值得保留:

设计点

作用

id = runId + input/output

让重试具备幂等性,避免重复计费

data.type = input/output

支持输入 token 和输出 token 分开定价

metadata 透传

可以把 region、tenant tier、模型、功能开关写入计量维度

3. 接入 Agent 只需要一行 callback

真正接入时,Agent 侧不需要把业务代码改成计费专用写法。

const handler = new MeteringCallbackHandler(apiUrl, apiKey);const llm = new ChatOpenAI({  model,  apiKey: openaiApiKey,  callbacks: [handler],});const chain = PromptTemplate.fromTemplate('{input}')  .pipe(llm)  .pipe(new StringOutputParser());const result = await chain.invoke(  { input: userInput },  {    metadata: {      subject,      tenantTier: 'pro',    },  },);

这才是好计费系统该有的形态:业务只负责把客户身份放进 metadata,计量逻辑在统一入口里自动完成。

四、第二刀砍进 Kong:Meter、Feature、Plan、Rate Card 一个都不能少

CloudEvents 只是原始用量,不能直接等同于账单。要从“事件”变成“钱”,还需要在计量系统中配置几类对象。

1. Meter:先定义什么事件算用量

在 Kong Konnect 的 Metering & Billing 里,可以创建一个 LLM Tokens meter。

创建 LLM Tokens meter

关键配置是:

配置

含义

Event type filter

kong.llm_request

只统计 Agent 发来的 LLM 请求事件

Aggregation

Sum

把 token 数累加

Value property

tokens

从事件的 data.tokens 读取数值

也可以用 API 创建:

curl -X POST https://us.api.konghq.tech/v3/openmeter/meters \  -H "Authorization: Bearer $API_KEY" \  -H "Content-Type: application/json" \  -d '{    "name""LLM Tokens",    "key""llm-tokens",    "description""LLM token usage",    "event_type""kong.llm_request",    "aggregation""SUM",    "value_property""$.tokens",    "dimensions": {      "type""$.type",      "provider""$.provider",      "model""$.model"    }  }'

2. Feature:把输入和输出拆成两个商品

同一个 meter 可以喂给多个 Feature。这里最重要的是把输入 token 和输出 token 拆开。

创建输入输出 token feature

Feature

过滤条件

用途

Input Token

type = input

统计提示词和上下文成本

Output Token

type = output

统计模型生成成本

为什么要拆?因为大多数模型的输入和输出单价不同,输出 token 通常更贵。如果只做一个总 token meter,后面就很难按真实成本定价。

3. Plan 和 Rate Card:把 token 变成价格

下一步是在 Product Catalog 里创建套餐,比如 Pro,再分别给输入和输出 token 添加 usage-based rate card。

给输入 token 配置 usage-based rate card

演示环境可以故意把价格设得很大,例如:

计费项

示例价格

说明

Input Token

$1 / token

便于在测试账单中肉眼核对

Output Token

$2 / token

模拟输出更贵的模型定价结构

生产环境当然不会这样定价,真实值更可能是 0.0000015、0.000006 这类小数。这里要注意:price per unit 是单个 token 的价格,不是每千 token,也不是每百万 token。

4. Customer 和 Subscription:没有订阅,用量不会进发票

客户记录里的 key 必须和 CloudEvent 的 subject 对上。示例中是 acme。

创建客户并匹配 subject

之后再给客户创建订阅,把它绑定到刚才的 Pro 计划。

给客户创建订阅

只有订阅窗口开始之后进入的用量,才会进入账单。很多人第一次测试时会遇到“meter 里有数据,invoice 里没有”的情况,本质就是事件发生在订阅生效之前。

客户账单中出现 token 用量

五、最容易翻车的 5 个坑:不是代码难,是账单边界难

表现

处理方式

输入输出 token 看起来一样

短 prompt 下两个数字可能碰巧相同

用更长 prompt 测试,理解 chat message overhead

Meter 有事件,Invoice 没金额

事件早于订阅窗口

创建订阅后重新触发 Agent 调用

subject 丢失

日志提示找不到客户标识

检查 metadata 是否从 chain 传到 LLM run

US/EU endpoint 用错

事件写入失败或查不到

按 Kong 组织区域选择 API URL

重试导致重复计费

网络重试多写几次事件

用 runId + source 做幂等去重

这里最关键的不是“能不能把 token 记下来”,而是账单语义要清楚:哪个客户、哪个套餐、哪个周期、哪个价格、哪些事件可重放、哪些事件可去重。

六、上线前别省这张清单:否则你的 Agent 会越火越亏

如果要把这套方案带进生产环境,至少补齐下面几件事。

项目

必做要求

客户身份

subject 来自认证系统,而不是 .env

分模型定价

将 model 写入维度,不同模型走不同 rate card

租户分层

把 tenant tier、region、plan 写入 metadata

用量告警

接近额度时通知、限流、暂停订阅或升级套餐

失败重试

ingest() 增加指数退避和最大重试次数

流式输出

对 streaming response 单独处理 token 汇总

审计链路

保存 runId、eventId、customer、invoice 的映射

也就是说,AI Agent 的商业化不是在网页上加一个“Pro 版”按钮,而是要让每一次模型调用都能被解释、被追踪、被结算。

七、真正的信号:Agent SaaS 的门槛正在从“会调用模型”变成“会运营用量”

今天很多 Agent 产品看起来功能很强,但商业模型仍然很脆弱:不知道每个客户的真实成本,不知道哪些请求亏钱,不知道哪个模型拖垮毛利,也不知道怎么把额度、限流、套餐和账单连起来。

这套 LangChain + CloudEvents + Kong 的方案给出的启发是:

Agent 的工程终点不是回复一次问题,而是把一次智能劳动变成可计量的商业事件。

当 token、模型、客户、订阅、发票全部连在一起,Agent 才真正从 demo 进入 SaaS。

原文链接:https://dev.to/konghq/how-to-monetize-your-ai-agents-with-langchain-and-kong-1fn0

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