乐于分享
好东西不私藏

AI底层操作系统实战:Hermes与自建方案的全盘拆解

AI底层操作系统实战:Hermes与自建方案的全盘拆解

想象一个非常让人抓狂的工作场景。你招了一个绝顶聪明的员工,他什么代码都能写,什么方案都能想。你花了一整个下午跟他过项目细节,从底层逻辑聊到代码风格,再到以前踩过的各种坑。到了下班时间,你觉得大功告成。结果第二天早上他来上班,你一问昨天定的规范,他两眼一抹黑,全忘了。你不得不把昨天的话再原封不动地说一遍。

这还不是最惨的。最惨的是,这个员工不仅失忆,还特别没有定力。你让他去重构一个模块,写着写着他觉得应该去发个宣传推文,写推文的时候又觉得配置文件得调一下。一天下来,他在十个任务之间反复横跳,上下文全被塞满了乱七八糟的东西,最后什么正经事都没干完。干完之后你问他对不对,他自己也不知道,因为没人给他检查。

这其实就是现在很多人在用AI Agent时面临的窘境。很多人觉得这是模型不够聪明,但说到底,这是没有给Agent搭好一套底层的操作系统。业内管这个叫Harness Engineering,也就是套件工程。这套系统主要靠三根柱子撑起来:管记忆的、管职责边界的、管质量检查的。

道理听着都挺顺耳,但真要动手搭的时候,往往会卡在第一步。今天我们不扯那些虚头巴脑的理论,直接看两套已经落地的实操方案是怎么干的。一套是现成的框架叫Hermes-Agent,另一套是基于OpenClaw从零硬攒出来的MemOS系统。这两套东西都在解决同样的问题,但手法的粗暴程度完全不一样。看完它们具体是怎么一行行敲代码、一个个配文件的,你就知道自己该走哪条路了。

两条截然不同的设计路线

在动手拆代码之前,得先搞清楚这两套系统在骨子里的想法有什么不同。这决定了后面所有的操作逻辑。

模拟人脑的有界记忆:Hermes-Agent

Hermes-Agent这套框架的想法特别直白:既然AI要模仿人,那就让它真真切切地学一学人的脑子是怎么记东西的。人的工作记忆容量是很小的,你不可能同时脑子里想着十件事,所以人必须会挑重点记,把不重要的扔掉。

顺着这个思路,Hermes把记忆分成了三层。第一层叫热记忆,容量被死死卡在2200个字符以内,这就相当于人的工作台,只放当下最要紧的东西。第二层是外部记忆,可以接八个以上的外部插件,比如Honcho语义搜索,相当于人的书房,需要的时候去查。第三层是冷检索,用SQLite FTS5把所有的历史对话存下来做全文搜索,相当于档案馆,想找老底子总能找出来。

在这套系统里,AI自己有很大的主动权。它觉得什么重要,就调用工具记下来;觉得什么经验值得变成技能,就自己去提炼。系统还会在后台跑定时任务,偷偷帮它复习和优化技能,但绝对不会耽误它正常跟你聊天。整个框架非常轻量,主要就在终端里跑,或者挂载到Telegram、Discord这些聊天软件上。为了省点API调用费,它还搞了个冻结快照的技术来保护缓存。说白了,它就是想给你做一个能快速启动、能记住你喜好的私人秘书。

系统强制的无界记忆:自建MemOS系统

另一套自建的MemOS系统,想法完全反过来。它觉得,凭什么要让AI去学人脑那套容量受限的破机制?记忆就该像电脑外接的硬盘,容量没有上限,而且所有的管理工作不该依赖AI的“自觉”,必须由系统强制执行。

这套系统的记忆存在PostgreSQL 17数据库里,加了pgvector插件。实际跑起来以后,里面存了三万多条记忆和六万多条关系边。它完全不信任AI会主动去存东西,而是用了OpenClaw原生的Hook机制,也就是系统级的拦截器。AI每次启动前,系统强行往它脑子里塞相关记忆;AI每次说完话,系统强行把对话抓走去处理。它还专门搞了个网页端,让你能像看监控一样,盯着这些记忆是怎么演变的,技能是怎么长出来的。这套东西不是给一个人用的,它是为了让好几个AI组成一个团队,长期干活,互相之间还能保密。

怎么治好AI的健忘症

聊完了大方向,咱们来看看具体怎么解决那个最让人头疼的失忆问题。上下文窗口就是内存,关机就没了,这是所有Agent的原罪。

Hermes的实操:精炼与冷检索

如果你选了Hermes-Agent,你的实操动作主要就是跟几个本地的文本文件打交道。在它的目录下,有一个叫MEMORY.md的文件,这就是那块2200字符的热记忆板。还有一个USER.md文件,1375字符大小,专门记你的个人偏好。旁边还有个放外部插件的文件夹和存历史对话的文件夹。

在实际操作中,你不能指望它自动记住所有东西,你得教它怎么用memory工具。比如你得告诉它,遇到关键信息要用memory add加进去,信息变了要用memory replace替换掉,没用的东西要用memory remove删掉。

这里最关键的操作在于“满了怎么办”。因为只有2200字符的空间,一旦写满,AI就不能继续往里塞了。它必须做出选择,要么把相对不重要的旧记忆删掉,要么把几条说同一件事的记忆合并成一句精炼的摘要。这就逼着AI去思考什么才是最核心的信息。当然,它也不是真的只有这2200字符。如果热记忆里找不到,它会去外部插件里做语义搜索;如果还找不到,它会去历史对话里用FTS5做全文检索,这个检索速度极快,不到50毫秒就能出结果。这套操作的好处是文件都在本地,你能直接打开看,甚至能手动改,非常透明。坏处就是,它真的很依赖AI的自觉性,如果AI忘了调用工具,或者懒得合并,这机制就废了。

自建方案的实操:写拦截代码与去重逻辑

但如果你选了自建的MemOS,操作画风就完全变了,你从一个教导员变成了一个装监控的包工头。自建方案的核心实操是写Hook代码。你得写两段非常关键的拦截逻辑。

第一段叫before_agent_start,也就是AI刚收到任务还没开口说话的时候。这段代码会去数据库里搜一遍,看看以前有没有干过类似的事,然后把搜到的记忆强行拼接到AI的系统提示词里。在这个机制下,AI想不看过去的经验都不行,因为系统在底层就把话塞进去了。

第二段叫agent_end,也就是AI说完一句话或者完成一个任务的时候。这段代码会自动把完整的对话抓走。但抓走不能直接存,否则数据库几天就被撑爆了。你得给它配上一个三道筛子的去重流程。

第一道筛子最简单,算内容的哈希值。如果发现这次对话跟上次一模一样,直接扔掉,连后续的计算都省了。第二道筛子稍微复杂点,把对话转成向量,去数据库里找最相似的五条记录,相似度阈值设为0.75。如果超过了这个数,说明内容高度重复。第三道筛子就得花点API钱了,把这两段高度相似的话交给大语言模型,让它当裁判。模型会给出三个判决:如果是DUPLICATE,就是完全重复,直接跳过;如果是UPDATE,说明是旧经验的升级,比如用户的偏好变了,就把新的合并到旧的里面去;如果是NEW,说明是全新的经验,这才允许作为新条目写进数据库。

你可以看一个真实的操作案例。以前有个AI犯了个低级错误,用户说“发给我PDF文件”,它只回了一句“已生成”,根本没把文件传过来。这个教训被抓走存了下来。几天后用户又提了同样的要求,AI刚准备启动,第一段拦截代码就搜到了这条教训,直接塞进了它的提示词里。AI被迫看着这条前车之鉴,它就不可能再犯同样的错。这就是系统强制的威力,捕获率能硬生生拉到百分之百。

混合搜索与多Agent权限实操

在搜索这块,自建方案也比Hermes复杂得多。Hermes用的FTS5只能匹配关键词,你搜“Python错误处理”,如果文章里写的是“异常捕获”,它就认不出来。自建方案得自己搭一套混合搜索。你得用BM25算法去匹配精确的关键词,同时用向量算法去理解语义,最后用RRF算法把两者的结果融合起来排个序。这样哪怕字面完全不一样,只要意思对得上,也能被搜出来。

当你的AI从一个变成好几个的时候,记忆怎么共享又是个实操大坑。如果只用一个共享库,负责高层决策的智库想的私密策略,底下的干活的工蜂全看见了,这叫隐私泄露。如果各建各的库,智库踩过的坑,工蜂还得再踩一遍,这叫知识孤岛。

MemOS的做法是在同一个数据库里做逻辑隔离。每存一条记忆,必须打上owner这个标签标明是谁的,还得打上scope这个标签标明权限范围。scope等于private的,只有自己能搜到;等于shared的,团队里所有人能搜到;等于public的,可以推送到远程的服务器上。搜索的时候加个过滤条件就行了。如果跨服务器协作,它不是搞什么自动同步,而是搞主动推送。只有你手动改成shared的数据才会被推出去,而且推出去的也只是个摘要,别人想看详情还得再问你要一次。这套操作虽然前期写代码麻烦,但跑起来以后,既保证了团队经验互通,又死死守住了隐私底线。

别让AI变成什么都干的万金油

失忆问题解决了,接下来就是职责混乱的问题。一个AI什么都想干,最后什么都没干好,这怎么治?

Hermes的实操:主从并行与渐进式披露

Hermes-Agent给出的实操方案叫“主从并行”。你需要配置一个常驻的主Agent,它只做一件事,就是接收你的指令。当它觉得任务太重,就会同时生成好几个子Agent。比如子Agent A去写代码,子Agent B去查资料,它们同时跑,互不干扰。每个子Agent在启动的时候,会拿到主Agent那一刻的记忆快照,但跑起来之后就是独立的。

怎么约束这些子Agent不乱跑?靠的是写配置文件。你得写一个Personality文件,用大白话规定它的角色,比如“你是一个写Python的,只写简洁的代码,不许加废话注释”。还得建一个专门的文件夹,放project.md写项目背景,放style.md写代码风格,放conventions.md写命名规范。AI一启动,这些文件就会被读进去,把它框死在这个圈子里。

在技能管理上,Hermes有个很聪明的操作叫渐进式披露。如果你把几百个技能的详细说明全塞进提示词,Token费用能让你破产。它的做法是,启动的时候只给AI看一个技能目录,就像书的目录一样。AI觉得需要用哪个技能了,再去把那个技能的详细内容加载出来。这种操作极度省Token。而且它有个技能市场,你可以直接去下别人写好的技能包装上。缺点就是,所有子Agent看到的记忆都是一样的,没法做更细的权限划分,而且技能全靠AI自己去生成,很容易造出一堆重复的废技能。

自建方案的实操:DNA注入与临终反哺

如果你选了自建方案,这操作就完全是重工业的风格了。它不用临时工,而是设了四个常驻的岗位:一个叫智库,专门负责协调和审核质量;一个叫黄家1号,负责对外输出;一个叫技术顾问,专职写代码;一个叫创意伙伴,专职写文章。遇到突发的大活儿,再临时生成一批“工蜂”去干。

这套系统最硬核的实操在于“DNA注入”。你得写一个叫AGENTS.md的文件,放在共享目录下。这个文件里写得清清楚楚:工具参数怎么填、输出必须用中文、写作风格是啥、哪些词绝对不许用、干完活怎么交经验。所有工蜂一被生出来,这段代码就会强制把这个文件塞进它的系统提示词里。这就好比工蜂刚出生就完成了所有的新员工培训,不用你费一句口舌。

比DNA注入更狠的是“临终反哺”操作。工蜂干完活就被销毁了,它积累的经验怎么留下来?以前是靠它自己写,但经常偷懒,捕获率只有百分之六十。现在MemOS把这个活抢过来了,变成了系统的自动流程。

当工蜂结束任务的那一刻,拦截代码就会触发一个四步走的自动生成流程。第一步,先过滤掉废话。系统会检查对话够不够长,如果就聊了两句闲天,直接扔掉,免得浪费后续的API调用费。第二步,去数据库里混合搜索,看看以前有没有类似的技能。第三步,把旧的技能和这次的任务轨迹一起丢给大模型,让它做一道严格的选择题。模型会给一个相关度分数,如果大于等于0.7,就把新经验合并到旧技能里去升级;如果小于0.3,就承认这是新事物,生成一个全新的技能;如果在中间,就啥也不干,等数据再多积累点再说。据说这个0.7和0.3的阈值,是硬生生跑了两周的数据才调出来的。第四步,质量把关。模型生成的技能不能直接用,还得过一道打分关,满分10分,不到6分的直接当垃圾扔掉,只有及格的才会存进数据库,并且打上标签,记录这个技能是从哪个任务里提炼出来的。

技能生成了,怎么保证下一只工蜂能用上?这就靠前面提到的启动拦截代码了。新任务一来,系统不去问工蜂要不要查历史经验,而是直接搜出最相关的技能,硬塞进工蜂的脑子里。

有个实际的例子特别能说明问题。之前有只负责写推文的工蜂,满篇都是技术术语,读者根本看不懂。这个教训被抓走后,生成了一条6分的技能:“推文写作不能堆砌术语,每个技术概念必须配一句大白话解释”。过了三天,又有一只写推文的工蜂被生出来了。它刚准备下笔,启动拦截代码就把这条技能塞给了它。结果这只工蜂从第一句话开始,就在用大白话解释概念。前一只工蜂的失败,就这样变成了后一只工蜂的本能反应。你根本不需要去口头教育它,系统底层的代码已经帮你把规矩立好了。

可视化操作台的必要性

不过这套重工业方案有个前提,你必须得有个网页端来盯着这些东西。因为后台有三万多条记忆、几百个技能在跑,如果全靠文本文件,你根本不知道系统是在正常进化,还是在疯狂制造垃圾。

你得做个界面,能按人员筛选记忆,能顺着时间轴看一个偏好的变化,能点开一个技能看看它是从哪个失败的任务里长出来的。如果没有这个可视化的操作台,这套系统对你来说就是个彻底的黑盒,出了问题你都不知道去哪改。

怎么给AI的质量兜底

记忆有了,职责清了,最后的问题是怎么检查它干得好不好。如果不做这一步,Agent的质量会在不知不觉中慢慢下滑。

Hermes的极简风:定时任务报警

Hermes-Agent走的是极简风。它直接用系统自带的Cron定时任务,写几行脚本。让脚本每小时去敲一下系统的门,看看还活不活;每天汇总一下干了什么;每周出个统计报告。一旦发现挂了,就通过接口给Telegram或者Discord发个消息。这套操作对于个人用户来说完全够用了,简单直接,手机上就能收到报警。但它只能管系统有没有死机,管不了AI写的代码到底对不对,也没有从错误里学习的机制。

自建方案的四层检查机制

自建方案为了管质量,可以说是下了血本,搞了四层检查机制。

第一层叫心跳检查。原则很明确,没病别哼哼,有病再喊人。平时在后台静默运行,只有关键组件真的出问题了,才发通知,避免一天到晚被无用的报警信息轰炸。

第二层叫TODO一致性检查。这是一个极其务实的操作。系统会定时去扫任务列表,找那些标着“进行中”的任务。然后去记忆库里搜,看看有没有哪条记录显示这个活其实已经干完了。如果发现记忆里写着“已完成”,但任务列表还没划掉,系统会直接把任务状态改掉,顺便发个通知。这背后有一条铁律:做完事不改任务状态,就是在系统里制造虚假信息,绝对不能忍。

第三层是智库审核。工蜂干完活,产出绝对不允许直接发出去。它必须被送到智库那个Agent面前过堂。智库会拿着一张清单对照:有没有附上截图或者代码差异对比作为证据?格式符不符合任务配方的要求?质量分够不够?不合格的直接打回,重新生成一只工蜂重做。只有过了智库这一关,这次任务的经验才被允许沉淀下来。这就是最朴素的逻辑,干活的不能自己给自己打分。

延迟分析的实操步骤

第四层是反思系统,也是整个质量环节里最烧脑的操作。它没有让AI在每次犯错的时候当场停下来反思,因为那样不仅会卡住主流程,还会极其昂贵地消耗API额度。它搞的是“延迟分析”。

具体的操作步骤是这样的。当系统检测到工具调用失败时,第一时间的拦截代码不会去叫大模型,而是把失败信息脱敏后,默默写进一个按日期归档的日志文件里。

到了每天凌晨,Cron任务启动,把前一天所有的失败记录全捞出来,做个聚合统计,看看哪个工具挂得最多,哪种错误反复出现。然后,只调用一次大模型,让它去分析这些批量数据的根本原因。分析完生成报告,系统能自动改配置的就改了,改不了的标记出来等人处理。最后,把修复的经验写进共享知识库。

为什么非要批量搞?因为实时反思每次都要花钱,批量分析一天只花一次钱,成本能降到十分之一。更重要的是,有些错误单看是偶然,但把三天的数据放在一起看,可能就会发现某个工具每天固定在某个时间段崩溃,这就是系统级的规律,只有攒够了数据才能看得出来。

算清成本这笔账,按需入座

技术方案再好,最终都要回到成本上来算一笔账。

两种方案的真实花费

如果你选Hermes-Agent,从零开始,下载安装大概花十分钟,配一配参数半小时,熟悉一下工具一小时,就能跑起来了。几乎不需要写什么额外的代码,除非你想自己做个奇葩插件。日常维护也就是升升级,偶尔清理一下那2200字符的记忆板。API费用方面,个人正常使用,一个月大概就是十到五十美元。这绝对是最轻量、最省事的起步方式。

如果你选自建OpenClaw方案,这账就完全不同了。搭基础设施,写那些拦截代码、混合搜索代码、前端网页,大概得一两周。调优各种阈值参数,又得花一两周。想让团队熟练用起来,得准备一个月的时间。开发成本不低,维护成本也不低,日常得盯着数据库别崩,得盯着检索准不准,得定期看看技能评分的阈值要不要调。API费用方面,因为要养四个常驻Agent,加上大量的技能生成、质量打分和凌晨的反思分析,一个月大概要烧掉两百到三百美元。

四种场景的选择建议

怎么选?别看别人用什么你就用什么,得看你的具体场景。

如果你只是个人用,需要一个能记住你偏好的助手,帮你查查资料、写写代码,Hermes-Agent绝对是唯一解。开箱即用,还有别人的技能包可以直接白嫖。

如果你是要搞多Agent长期协作,比如好几个AI要长期配合干活,不仅要共享经验还要防着对方看自己的私密决策,而且你希望这个系统越用越聪明,那你就只能硬着头皮去自建。无上限的记忆库、系统强制的轨迹捕获、网页端的监控分析,这三个能力是Hermes给不了的。

还有两种特殊情况。如果你是要搞每天几百篇文章的标准化流水线生产,其实这两个方案都不太合适,那种场景更适合把所有的提示词和权限提前写死,靠路由分发去硬跑,不需要什么灵活进化。如果你只是偶尔解决一个一次性的问题,连Harness都不需要搭,直接开几个对话框让它们互相辩论一下就行了,因为没有长期积累经验的需求。

自建方案的分阶段实施路径

对于那些下定决心要走自建这条路的人,这里有一条极其诚恳的实操建议:千万别一上来就想把所有的功能全做完。

先把记忆系统跑通。别管什么PostgreSQL,先用个SQLite加上FTS5全文检索凑合。写好启动拦截和结束拦截两段代码,配上最简单的哈希去重。只要能做到AI今天跟你聊的,明天它还能找出来,第一阶段就赢了。

然后把角色分工定好。别急着写代码,先写文档。把那几个常驻Agent的职责用大白话写清楚,把工蜂出生时要遵守的规矩写进AGENTS.md里,把常见的任务写成标准配方。让AI清楚自己是谁、该干什么。

第三步再加评估。写个定时脚本看看进程在不在,写个逻辑让智库去审核工蜂的产出,加上TODO一致性检查。只要系统能初步自己检查自己了,这阶段就完成了。

就这样先跑一个月。当你看到记忆库里的数据在慢慢变多,当你发现AI开始主动避开以前踩过的坑,当你觉得重复犯错的情况明显变少了,这个时候,你再去动手开发那个四步走的技能自动生成流程,再去写那个网页端看进化树。先让系统活下来,再让系统变聪明,这是所有工程实践里最朴素的真理。

结语

不管你最后选了哪条路,哪怕是用最简单的文本文件记了一句话,只要你的Agent开始把成功和失败的经验留存下来,开始在下一次任务中复用这些经验,你就已经走在正确的轨道上了。因为在未来的竞争中,谁能让AI的底层系统更长久地运转,谁捕获的实战轨迹更多,谁的AI就会变得越强。这不是靠换个更贵的模型就能追得上的壁垒。

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