未成年人请在家长的监督下使用和购买。今天给大家测这个发射器啊,定位在十四架以上,属于一个青少年款的发射器,而且据说后面会出金齿金波版本。好话不多说,看看吧, 我一共花了一点二张不到,一个文具盒,一个电饼铛,一个又能发光又能喷烟雾的短消,还有一个长的发光消, 一个充放一体模块化电池,还有一个时尚小垃圾,这么一堆东西一点二长不到,我只能说太值了。 机甲上都做了细节刻字,机片处模拟了焊疤,后罩门可以旋转,全尼龙材质,螺丝孔做了隐藏化处理,和膜线也不是很明显。 拉动拉栓机片有联动,拉动垃圾桶可触发鱼棍,空挂状态下会停止鱼供,电饼撑也能转哦。快慢机是印刷的,段落感明显,后托可以拉长这个长度,成年人也是 ok 的。 整体比例协调,就算使用电饼撑也比较协调,有联动回弹功能,单发跑分在五十左右,原厂秒速十五,非常稳定。
粉丝8448获赞6.0万

分享一下 game loop 模拟器的下载使用教程。 game loop 模拟器是为那些玩家在电脑上玩国际服手机游戏而设计开发的,当中有一些比如 pubgm 和使命召唤手游等,下面开始我们的教程。 我们在浏览器直接搜索 game loop 模拟器,官网可以搜到,进入之后会发现什么游戏都没有,是因为你 ip 在 国内你是用不了 game loop 的。 我们可以先在其油加速器里面找到 game loop 平台专属优化线路来帮助我们正常使用 game loop。 先到右上角口令专属活动代码布丁六六六至高添加三十天加速器操作,然后我们加速优化一下,等它完成之后刷新一下网页, 然后能够正常显示游戏就说明成功了。我们在右上角 down, 这里先下载一下 game loop 模拟器,下好之后安装一下自定义,这里调整一下安装位置,默认是安装在 c 盘的,装好之后我们启动就能用了。 注意, game loop 的 下载登录游玩都需要保持其游的后台优化,不然会显示地区不支持。最后进入之后我们直接去下载我们想玩的游戏就行了。那本期就到这里,有问题留言交流,我们下期再见。

吃鸡即使命召唤等手游的海外版模拟器 game loop 下载安装教程来了,有了这个模拟器,我们就可以轻松游玩当下热门手游的海外版了。首先如果我们直接搜索 game loop 官网是可以搜到的,但是进去的话会显示这样的界面,这是因为我们没开加速导致的, 因为这个服务器是在国外的,所以想要正常登录,我们必须准备一个急油加速器,打开后搜索 game loop 进行加速。没有加速时长的兄弟们可以在右上角输入口令二零二六 即可抽取七百二十小时加速时长用于后续操作。接着点击右下角的游戏官网,进入后就可以看到这个界面,就说明成功了。接着我们在右上角 down load 里先下载一下 game loop 模拟器, 下载好之后安装一下,我们可以调整一下安装位置,之后我们启动就能用了。需要注意的是,这全程是需要保持加速的,不然会出现报错。最后我们就可以下载游玩这些手游的海外版了。好了,以上就是本期视频内容了,还有问题欢迎评论区留言咨询哦!

本期视频给大家讲解一下 game loop 模拟器的下载与使用指南,轻松在电脑上畅玩 powerm, 使命召唤手游等国际服游戏。首先, game loop 是 专门针对电脑键鼠操作进行的优化,是体验 powerm, 使命召唤手游等国际服游戏的利器。 由于网络限制,直接访问通常会显示空白,无法获取游戏列表,这时我们就需要去借助加速器,比如我这里使用的棋游平台专属优化线路来帮助我们正常使用。没有时长的朋友,点击右上角口令 图图所示输入在零二三即可免费领取时长来进操作,然后去搜索 demo 并加速,再去刷新 demo, 官网页面就能正常显示各种游戏图标,然后点击页面右上角的 download 去下载,根据提示完成安装,你就可以正常使用了。不过 game 从打开 登录到下载游戏的整个过程都必须保持其油,加速器在后台持续优化。以上就是本期视频内容,希望对你有所帮助,我们下期再见。

这是一款风靡月影修改器整合工具,无需打开网页,直接在工具内搜索,即可找到所需的辅助程序,并支持保存到本地。他提供模糊查找和扩展搜索功能,接入了多个搜索引擎,搜索覆盖面较广。找到中意的条目后, 双击即可添加到本地列表,之后在左下角选择启动,即可正常运行。此外,该工具还支持数据同步更新,当辅助程序版本升级时,它会自动适配,无需手动处理。同时,工具也支持本地文件管理,可以随时查看已保存的辅助程序列表,整体操作比较直观方便。

这款工具集成两千加款单机游戏辅助,不用通过网页就可直接搜索并下载,接入多个搜索引擎,支持模糊查找和扩展搜索资源,非常全面。看到心仪的内容,双击即可加入本地列表,在左侧一键启动就能正常运行。 工具更新版本升级后会自动是呸,完全不需要手动折腾。同时下载的辅助都集成在这里,查看和操作都十分顺手,拒绝杂乱的文件夹就很方便。


你有没有这个困惑,换了个模型,换了个量化,换了个推理框架,到底有没有变快?大家好,我是 ai 学习的老张, 今天聊一个专门解决这个问题的工具,班尺六,它是一个本地优先的命令行加外包工具,专门评测跑在你自己硬件上的大模型。 关键点是,他测的不是别人服务器上的速度,是你这台机器这个量化包,这个推理框架的真实表现。他覆盖七套测试速度工具,调用代码数据,偷取指令,跟随数学推理,还有多轮 a, 整体 我最看重 a 阵的这一项。很多模型聊天挺聪明,一到真实工具调用就开始瞎来。班车路谱会测调用是否正确,效率高不高,有没有幻觉?工具总分公式是百分之五十五质量加百分之二十速度加百分之二十五可能性, 这个权重很合理。本地模型不能只看快,还得看稳。安装疫情命令 p i p x n stop 班车 l i 拉个 q w e n 三,冒号八 b, 一 条命令,跑完本地出报告, 还能提交公开榜单。我的建议是,换模型,换量化之前先跑一遍班车路,有数据,心里才有底。

大家好,这里是最佳拍档,我是大飞。最近呢, ai 领域最火的概念无疑非 openclaw 莫属,男女老少纷纷投入到养龙虾的热潮中。但是你是否知道, 当我们给 openclaw 发了一句最简单的你好,从按下发送键的那一刻起,到我们在屏幕上看到了它的回复,这背后究竟发生了什么呢?今天呢,我们就来梳理一下 openclaw 的 源代码,看看它到底是如何实现的。 整个流程的起点其实和大模型没有任何关系,而是从网关的启动开始的。很多人以为 opencloud 的 核心是那个聊天框,但是本质上,它首先是一个本地优先的网关平台, 只有先把网关跑起来,建立起统一的绘画管理、渠道管理、工具管理和事件分发能力,来自不同渠道的消息才能够被汇总到这里,进入后续的处理流程。 整个网关启动的核心逻辑在 auto reply monitor 点 ts 源码文件里,核心执行的是 monitor web channel 这个函数。 整个启动过程首先要检查网络连接,然后加载 opencloud 点 json。 这个总配置文件里边呢,包含了智能体、渠道环境变量健全、信息模型配置等所有的核心子段。 接下来呢,会解析当前要使用的账号,比如说 whatsapp 账号。然后呢,进入一个持续的循环,创建消息处理器、启动渠道监听器设置心跳机制和看门狗定时器, 处理连接的断开和重连,同时持续更新系统的运行状态。只有当这整套流程全部完成,网关成功启动, openclock 才算是正式进入的状态,随时准备接收用户发来的消息, 应该说没有这一层网关的支撑,后面所有的智能能力都无从谈起。当网关成功启动之后,一条来自 whatsapp 或者是其他平台的消息,在进入 opencloud 的 时候, 它的第一站并不是直接被转发给大模型,而是先进入了一套专门的消息监听与接入层对应的源码在 inbound 杠 onenter 点 ts 文件里。 具体来看,系统会先和即时通讯平台建立实时连接,通过 sock 点 e v, 点 on messages, 点 absurd 这个事件,监听器持续监听新的消息事件一旦有新消息到达,就会立刻启动一整套流程。 首先要做的是消息去重和高频的消息合并。因为在真实的即时通信环境里,平台经常会出现重复推送消息的情况,用户呢,也可能在短时间内连续发送多条消息, 如果系统直接处理这些原始消息,很容易导致机器人重复回复。所以呢,这一步的去重和合并就是为了过滤掉这些噪声,保证后续的流程达到的是干净完整的用户需求。 接下来呢,是权限和合法性检查,系统呢,会判断这条消息是不是来自允许的用户或者是群组是否满足预设的触发规则,如果不符合规则,这条消息就会被直接的过滤掉,根本不会进入后面的智能体处理流程。 如果用户的消息里边包含了图片文件这些媒体附件,系统还会自动把这些媒体文件下载下来,保存到本地的工作目录里。这样后续的智能体在推理的时候,就能够直接访问这些文件,完成图片分析、文档读取这类操作 之后呢,系统会把这条消息标记为已读,避免客户端重复推送同一条消息。当所有这些基础处理完成之后, oracle 会做一件非常关键的事, 把来自不同即时通讯平台的格式千差万别的原始消息统一封装成一个标准化的 web 影棒的 message 对 象,也就是标准化的内部消息结构。 最后呢,这条标准化之后的消息会被放入系统的防抖队列里,防止用户短时间内连续发送大量消息,导致系统重复处理 之后呢,就会触发回调函数,把整理好的消息交给网关,进入下一个处理环节。这一步的本质呢,就是把来自于外部世界的混乱的非标准化的一条用户消息, 转化成了系统内部可以识别、可以调度、可以处理的标准化事件。当消息完成了前台的标准化处理,系统已经拿到了完整的 webinbound message 对 象之后,就进入了路由模块儿队呢,源码在 auto reply 杠 monitor 杠 onmessage 点儿 ts 文件里, 很多人呢,会误以为所有的用户消息都会被送到同一个 ai 模型里,然后由这个模型自己决定怎么处理。 但是 opencloud 的 设计是不同类型的任务会被分配给不同的智能体来处理。具体来看呢,消息进入这层之后,首先会通过 create web on message handler 函数创建一个消息处理入口,接收刚刚生成的标准化消息对象。 同时呢,它会重新读取当前最新的系统配置。这里有一个很关键的工程细节, mccloud 的 配置是支持动态调整的,比如说智能体的绑定关系、权限规则,这些都可以在系统运行的时候修改, 所以每一次处理消息的时候,系统都会重新读取配置,确保用的是最新的规则,不会出现配置更新不生效的问题。接下来呢,系统会解析消息的发送方向,判断这条消息是来自于用户的一对一私聊,还是来自于群组聊天,同时确定发送者的唯一 id。 这一步呢,非常重要,因为在群组聊天的场景里,机器人通常不会对所有的消息都做出响应,他需要判断自己有没有被用户艾特,有没有满足预设的触发规则。而在一对一私聊的场景里边,机器人通常默认就可以直接处理用户的消息了。 在确认了消息的来源之后,系统呢就进入了真正的智能体路由决策阶段,它会读取 opencloud 点 json 配置文件里的绑定词设置,也就是绑定规则。然后呢,通过 resolve isn't router 函数判断应该由哪个智能体来处理当前这条消息。 这样一来,不同渠道、不同用户、不同类型的消息都可以提前绑定到不同的智能体上,实现精准的任务分流。当智能体的路由确定之后,系统会通过 build group history key 函数为当前的绘画生成一个唯一的历史记录键值。 这个键值的核心作用就是把当前的聊天和对应的历史对话记录关联起来,我们平时用 ai 助手的时候,会觉得他记得我们之前说过的话, 背后的原理就是系统在每次推理之前都会把对应的历史对话记录加载到上下文里,而这个历史记录鉴值就是实现上下文关联的核心。之后呢,系统还会做一系列额外的安全检查,比如说,在某些配置模式下,会判断消息是不是来自于同一台设备,也就是 same form 模式, 避免机器人自己发送的消息又触发了自己的处理逻辑,形成循环回复。同时呢,还会通过 echo tracker 回声追踪机制,过滤掉刚刚自己发送的消息, 避免系统重复处理这些同步过来的事件。当这些基础判断全部完成之后,系统呢,会进一步区分当前的消息是群聊消息还是私聊消息。 如果是群聊消息,系统会先构建完整的群聊上下文,更新对应的路由记录。同时呢,做权限叫验,比如说机器人有没有被允许在这个群组里回复,有没有被用户 at, 有 没有满足触发条件等等。如果是私聊消息,系统会对用户的手机号进行标准化的处理,用统一的格式来识别用户的身份。接下来呢,系统还会判断这条消息是否需要进行广播处理, 也就是要不要让多个智能体同时参与处理这条消息。如果满足广播的条件,系统就会让所有需要参与的智能体分别执行一次 process for router 路由处理函数。如果不需要广播,系统就只会调用一次对应的路由处理逻辑。 最终呢,当所有的路由判断全部完成之后,这条消息才会进入真正的核心处理函数 process message 传递给下一个处理环节。这一步的核心逻辑都在 get reply 点儿 ts 文件里。很多人以为到了这一步,系统已经开始调用大模型了, 但事实是,它只是完成了所有的幕后准备工作,为接下来的推理搭建好了一个完整干净、信息完备的运行环境。具体来看,进入这一步之后,系统做的第一件事就是通过 resolve session agent id 函数最终确定当前绘画对应的智能体, 同时确定这次推理要使用的 ai 模型。虽然在第三步的路由环节已经确定了负责处理的智能体,但是这一步系统会再次确认当前绘画的上下文状态,最终敲定要使用的模型。 接下来呢,系统会执行 ensure agent workspace 函数,为当前的智能体准备一个独立的工作目录。 ncloud 的 智能体在运行的时候,经常需要读写文件,下载用户发送的附件,生成临时的运行结果,甚至执行一些工具命令。 所以呢,系统会为每一个智能体都维护了一个专属的工作区,用来存放这些运行时的文件。如果用户发送的不是纯文本的消息,而是图片链接或者是其他类型的媒体内容,系统呢还会分别通过 apply media understanding 和 apply link understanding 这两个函数, 对这些媒体内容和链接内容进行深度的解析,把图片里的信息、链接里的网页内容都转化成文本信息,让智能体在正式推理之前就对用户发送的所有内容有一个全面完整的理解。 媒体内容解析完成之后,系统呢会通过 init session state 函数初识化当前的绘画状态,最核心的工作就是把对应的历史对话记录完整地加载进来。就像我们之前说的, ai 之所以能够记得你之前说的话, 不是因为它真的有记忆,而是每次推理之前,系统都会把对应的历史对话重新加载到上下文里,为接下来的推理准备好了完整的绘画环境。 紧接着呢,系统会执行 resolve reply directives 函数,解析用户消息里包含的特殊控制指令,比如说 reset 重置绘画 model 指定使用的模型、 verbos 开启详细输出模式等等。 这些特殊指令会直接调整当前绘画的运行方式,有些指令呢,甚至会直接跳过后续的 ai 推理流程,直接执行内置的系统管理指令。之后呢,系统会通过 handle inline actions 函数处理那些不需要 ai 推理就能够直接完成的操作, 比如说一些简单的系统状态查询、内置的管理命令,都可以在这一步直接完成。只有当所有的这些准备工作全部完成之后,系统呢才会进入到 run prepared reply 函数, 把所有准备好的参数,包括绘画的上下文、模型的选择、工具环境、用户消息、运行配置等等,全部打包整理好交给后面的流程。 直到这里,整个系统依然没有发起任何一次大模型调用,所有的工作都是在为接下来的 ai 推理做最充分的准备。 这一步的核心逻辑在 get reply run 点儿 ts 文件里,关键呢就是 run prepared 这个函数, 它的作用就是把用户的消息和所有的配置参数转化为完整的大模型可以直接执行的运行配置。具体来看,系统首先会通过 run prepare 的 reply 函数做出最终的判断当前这条消息是否真的需要进入 ai 推理流程。 比如说一些系统指令状态查询,或者已经被前面的流程处理完的消息,可能会在这里直接结束流程,不会再进入到后续的模型调用环节。 接下来,系统会把当前绘画的所有信息整理成大模型可以理解的提示词结构。同时呢,会根据用户消息里的特殊指令,对模型的运行配置进行调整。比如说,用户可能在消息里加入了杠 sink high 这样的标记,希望模型使用更高的推理强度, 或者加入了杠 new 这样的标记,希望开启一个全新的绘画环境。不加载之前的历史上下文系统呢,会在这一步把这些用户的显示指令全部解析出来,转化成明确的模型运行参数。除了这些用户显示指定的指令之外,系统呢,还会较验当前推理的思考等级和运行策略。 因为不同的任务需要的推理深度是完全不一样的。比如说简单的问答和复杂的多步骤任务规划,在模型的配置上会有很大的区别,这些判断和配置调整都是在这个阶段完成的。与此同时,系统还会处理当前绘画里的消息队列,确保所有的消息都按照正确的顺序进入后续的推理流程, 不会出现顺序错乱导致上下文混乱的问题。当所有这些工作全部完成之后, run prepare 的 reply 函数会把所有的消息整理成一个完整的参数包传递给 agent reno 点 t s 文件,排队执行下一步的流程。 这个文件主要负责管理智能体运行的完整生命周期,也是 openclock 保证系统稳定运行的核心调度中书。 具体来看,当整理好的参数包进入这层之后,系统呢,会调用 run reply agent 的 函数,把消息放进对应的处理队列。同时呢,把这条消息标记为正在处理,避免其他流程重复处理同一条消息。 与此同时,系统会执行一个叫 run memory flash if needed 的 操作,也就是在必要的时候自动保存当前绘画的记忆状态。这呢,有一个非常关键的功能细节。 在长时间的对话过程中,系统需要不断叠加历史的绘画信息,如果不及时控制上下文的长度,很快就会撑爆大模型的上下文窗口,导致推理失败。所以, openclaw 会在绘画信息达到上下文窗口上线的时候,自动对历史内容进行压缩。然后呢,持久化到记忆文件里, 这就是 opencloud 的 长绘画记忆机制的核心实现逻辑。当这些准备工作完成之后,系统才会进入到真正的 ai 调用流程,也就是 run agent ter 为 fallback 函数, 从这个函数的名字就能够看出来。这一层呢,不仅负责调用模型,还内置了一套完整的失败重试和降级机制。如果模型调用失败,比如说出现了网络问题、符异常、接口限流这些情况,系统不会立刻终止任务,而是会按照预设的策略尝试重新执行或者切换备用的模型后端。 这点呢,在生产环境里直观重要,当模型成功生成了回复之后,系统会通过 build reply payload 函数把模型生成的结果整理成适合当前消息渠道发送的格式。 随后呢,系统会记录本次运行的资源使用情况,通过 persist run session usage 函数保存本次调用消耗的 token 数量、使用的函数类型等核心数据。 紧接着,还会通过 estimate usage cost 函数计算出本次推理的大致美元成本。在这些运行数据记录完成之后,系统呢还会触发 emit diagnostic event 函数 上报本次运行的诊断信息。这些信息呢,会被发送到监控系统里,用来实时观察当前智能体的运行状态,比如说有没有出现异常、运行耗时是多少,投滚消耗是否在正常范围内等等, 方便系统的运维人员掌握 ai 系统的健康状况,出现问题呢,可以及时排查。接下来呢,系统会通过 typing 点 make run complete 函数,关闭聊天界面里的正在输入的提示,让用户知道回复已经准备完成。 之后呢,会执行 finalize with follow up 函数,把当前生成的回复返回给用户,同时检查队列里还有没有后续的消息需要处理。 如果队列里还有新的任务,系统会继续调用 run follow up turn 函数开始处理队列里的下一条消息,这样整个系统就形成了一个稳定持续的循环运行机制。需要再次强调的是,到了这一步,系统依然没有真正开始调用大模型进行推理,而是在做最终的执行准备和容错机制的布置。 这一步的源码主要在 auto reply agent runner execute 点 ts 文件里核心入口就是上一步调用的 run agent turn with fallback 函数。 具体来看,进入到这一层之后,系统首先会通过 crypto 点儿 random u u i d 函数给本次 ai 调用生成一个全局唯一的标识,然后通过 register agent run context 函数注册这次 ai 调用的完整上下文。这样做的好处就是,一旦后续出现了任何问题, 系统可以精准的追溯到对应的这次运行。接下来呢,系统会进入一个循环执行框架,这个框架的核心目的就是在模型调用失败的时候,系统不会直接放弃,而是会按照预设的策略判断要不要重试,要不要降级使用备用模型,要不要切换后端服务,最大限度的保证任务可以顺利完成。 在真正选定执行路径之前,系统呢,还会执行一次 normalize streaming text 的 操作,也就是对输入和输出的环境做一次全面的清理,把一些无意义的心跳标识静默回复空文本或者不适合继续往后传递的内容全部提前处理掉, 从而让整个操作环境是干净可控的。随后呢,系统会进入路由 model fourback 函数。首先呢,会做出一个判断,本次任务是不是要走 c l i 命令行界面模式。 如果是走 c l i 模式,系统呢,就会进入到 run c l i agent 的 函数,把已经准备好的完整提示词交给外部的 c l i 后端去执行,比如说 cloud code codex c l i jimmy c l i 这类已经有自己完整的绘画管理和工具体系的外部执行器。 如果不是 c l i 模式,系统呢,就会走 run embedded pie agent 的 函数,进入嵌入式智能体模式,这也是 opencloud 默认的主执行路径。 在这个路径里,系统会把前面几步准备好的绘画信息、模型配置、运行参数全部继续往下传递。 再次强调,就算到了这一步,系统依然只是把所有的执行条件全部确认完毕,还没有真正发起大模型的调用。 在这个过程中,系统还会持续检查返回结果里的异常信号,比如说绘画是不是已经损坏,上下文是不是已经溢出,消息的顺序有没有出现错误。如果发现了问题,系统会在这里提前判断要不要重置绘画,要不要提示异常,要不要提前终止任务, 确保不会在基础条件不符合的情况下,强行执行模型调用,导致出现不可控的结果。最后呢,这层还会统一补货执行过程中出现的各种异常,并且进行分类处理。 只有当所有这些准备和容错机制全部部署完成之后,系统才会封装出一个标准化的结果对象,然后传递给下一个环节 这一步的源码。在 agents 杠 pi embedded runner 杠 run 点 ts 文件里,核心函数就是 run embedded pi agent。 到了这一步,前面所有的准备工作已经全部完成了,执行路径已经确认,模型已经选定,容错机制已经部署, 所有的上下文和参数都已经打包完毕。具体来看, run embedded 函数执行的第一件事就是 resolve session 类, 也就是确认本次 ai 调用应该遵守哪条排队规则,是绘画级的顺序执行还是全局级的统一调度?因为不同类型的任务排队规则和资源占用的优先级是完全不一样的。接下来呢,系统会执行 resolve to result for math 函数, 也就是根据当前消息来自的渠道确定最终输出内容的格式。因为不同的即时通讯平台,消息的能力是完全不一样的,所以在真正调用模型之前,系统就已经确定了最终的输出内容要适配什么样的格式。 随后呢,系统会进入 resolve model 函数,把当前要使用的模型的所有细节全部补齐,包括模型的完整名称、上下文窗口的地址、调用方式、默认的运行参数等等,将所有的细节全部落实到位。 再往下,系统会处理本次调用的身份认证,也就是 api 密钥的管理源码里的处理方式,并不是只使用一个固定的 api 密钥, 而是会便利一组认证配置的后选项,优先尝试第一个可用的 api 密钥。如果当前的密钥认证失败,系统会记录对应的错误,然后自动切换到下一个认证配置。继续尝试,直到找到可用的密钥, 或者便利完所有的后选项,抛出认证失败的错误。这种多米奥伦循的机制在生产环境里非常实用,可以最大限制的避免因为单米奥限流失效导致的服务不可用的问题。 当认证通过之后,系统会进入一个内部的循环,这个循环会通过让 embedded adapt 函数进行单次的 ai 调用,尝试把前面所有步骤准备好的提示词、绘画历史工具、环境模型参数、认证信息、工作目录全部交给底层的智能体运行时,正式向大模型发起请求。 当然,这个单次调用并不是发出请求就结束了,调用完成之后,系统会立即解析返回的结果,统计本次调用消耗的脱困数量,有没有出现异常,工具调用有没有什么报错,系统都会在这里进行识别和分类处理。 等所有的结果都处理完成之后,系统会开始构建最终的回复内容,包括要发送给用户的内容载原数据信息、工具调用的结果以及当前使用的 a p m 要是否已经被验证为可用的状态信息,确保上一层拿到的是一个已经整理完毕,可以继续流转的标准化结果对象。 最后,系统会执行 process 点 c h d l pre c w d 函数,把工作目录恢复到之前的状态,避免本次运行的目录修改影响到后续的其他调用。到了这一步, n k l 终于不再只是做环境准备和流程调度, 而是正式进入了智能体的执行循环。这一步的原码在 agents 杠 pi embedded runner run attempts 点 ts 文件里, 核心函数就是 run embedded attempt, 真正向大模型发起了请求,完成核心的推理工作。接下来呢,我们就来看这一步里到底发生了什么。进入 run embedded attempt 函数之后, 系统首先会准备完整的运行环境函数一开始就会通过 resolve user pass 和 resolve sandbox context 函数确定当前智能体的工作目录以及沙箱环境的边界, 确保后续的文件读取、命令执行、临时文件生成等。所有的操作都在一个受控的工作区里进行,不会对用户的系统造成非预期的修改, 这也是整个系统安全边界的核心保障。接下来呢,系统会加载当前智能体可用的所有技能和上下文文件。随后系统会执行 create open crawl coding tools, 创建当前智能体可以使用的所有工具,比如说读取文件、写入文件、搜索代码、执行终端命令等等。 在这些工具里,有一部分是 openclaw 自己实现的,比如说 execute 执行命令, process 管理后台进程、 apply patch 应用代码补丁等等这些核心的系统操作工具。 但是还有很大一部分来自于 pad, pad coding agent 包,比如说 read 读取文件, write 写入文件, edit 编辑文件, grab 内容搜索这些基础的代码操作工具。 当工具环境全部准备完成之后,系统会进入 build embedded system prompt 函数以及后续的 build agent system prompt 函数,生成最终的系统提示词。 在这一步里,系统会读取大量的运行时环境,把所有这些信息全部拼接成一个非常长的结构化的系统提示词。 所有和当前运行环境相关的信息全部都会写进系统的提示词里,然后一起发给大模型。但是这一点同时也是一把双刃剑,因为在很多场景下,这个系统提示词会变得非常长。 系统不仅会注入所有的技能文档,还可能把项目里的双明文档、架构文档、灵魂设定文档,甚至是每日生成的记忆文件全部都加载进来,一起放进上下文里。 当这些内容全部进入上下文窗口的时候,虽然大模型获得了更加完整的环境信息,但同时也会消耗巨量的 token。 而且如果上下文过长,反而会稀释大模型的注意力,导致它抓不住核心需求,甚至触发上下文窗口溢出的问题。 这是很多用户反馈 umcloud token 消耗过快,偶尔会出现幻觉的核心原因之一。当系统提示词构建完成之后,系统会直接导入派 sdk 的 create agent session 函数,创建一个智能体绘画, 把刚刚准备好的所有工具,上下文规则全部绑定到这个绘画里。随后会通过 apply system prompt override to session 函数把刚刚生成的系统提示词固定到本次绘画里。到这里为止,整个智能体的运行环境才算真正完全的准备完成。 接下来呢,就是整个流程里最核心的一步。系统会通过 active session 点 agent 点 stream fn 建立一个流式请求函数,然后调用 active session 点 prompt effective prompt, 真正向大模型发送请求。 在这个过程中,派 sdk 会负责管理整个 agent 的 执行循环,也就是我们常说的 agent loop, 包括让模型生成文本内容触发工具,调用接收工具返回的结果,把工具结果再写回绘画历史,继续下一轮的推理生成, 直到整个任务完成。因为是流逝生成,模型不会一次性返回完整的答案,而是会逐段输出内容。所以呢,系统在绘画创建完成之后,会通过 subscribe embedded python 函数订阅绘画里的所有事件。 然后呢,在流逝输出的过程中,触发 impartial reply on block reply 这类回调函数,把模型刚刚生成的一段内容立刻推送给前端的消息渠道。 我们平时在聊天窗口里看到的文字,一点点蹦出来的打字机效果就是靠这套事件订阅和块级流式分发机制实现的。如果模型在生成的过程中触发了工具调用,系统呢,会执行对应的工具函数,然后把工具返回的结果再写回绘画历史里,继续为给大模型进行下一轮的推理。 模型的输出是流逝的,会逐段返回文本片段或者工具调用的结果。系统需要把这些碎片化的内容整理成完整的符合平台要求的回复,才能够发送给用户。这一步的源码呢,在 auto reply 杠 monitor 杠 process message 点儿 t s 文件里, 核心逻辑是 dispatch reply with buffer 的 block dispatcher 函数,它的作用就是接收 ai 已经生成好的回复内容,然后把这些内容按照合适的方式发送回对应的聊天平台。整个过程通常是从 reply resource 开始, 它会接收来自于智能体运行层的所有结果,包括文本内容、工具调用信息内容、块 id 等所有的数据,然后把这些内容转换成最终可以发送的回复结构。 随后呢,系统会调用 deliver web reply 函数,根据当前使用的渠道,比如说 whatsapp, telegram 或者是其他的即时通讯平台,调用对应的平台接口,把整理好的回复内容推送给用户。 对用户来说,这一步就是聊天窗口里最终出现的那段回复内容。在流逝回复的场景下,这个过程呢,也可能是分批完成的,系统在接收到模型生成的每一段完整内容之后,都可以立刻通过消息通道发送出去。 所以我们在聊天窗口里看到的回复往往是一段一段逐渐出现的,而不是等了很久之后才一次性显示完整的答案。当所有的内容全部发送完成之后,这一轮的消息处理流程就正式结束了, 整个系统呢,会回到最初的监听状态,等待下一条用户消息的到来。至此,一条用户消息从进入欧盟的网关,经过消息接入、路由决策、绘画、出纸化任务排队执行准备、 环境搭建、智能体推理、流势生成,再到最终的回复分发发送给用户,就完成了一个完整的运行闭环。 到这里,整个 open core 的 原码全链路拆解就全部完成了。我们大概总结一下,首先呢, open core 最核心的价值其实在于构建了一套完整的运行时装配体系,能够把用户的一条消息精准切入到一个全维度的运行环境里。 其次,欧盟克洛本身其实并不生产智能,他把核心的智能生成任务完整交给了外部的派 sdk, 自己却完成了健全校验、文件读写、工具管理、上下文装配、绘画调度、渠道装配、异常处理这些所有的脏活累活。最后呢,把整理好的数据喂给大模型的 sdk。 第三呢,欧盟克洛可以说是把提示词工程做到了极致, 它把所有的运行时讯息全部都显示的结构化的翻译进了系统提示词里。第四, openclaw 本质上是一套本地优先的消息系统, 从架构上来看,它的前端对接了大量的消息渠道,中间呢,是统一的控制平面,底层挂载了智能体、运行时工具及命令行、交互界面、记忆系统等等。 openclaw 的 项目 readme 文件里其实写得非常明白, 网关才是整个系统的控制平面,所以本质上它还是一个网关系统。希望今天对 opencloud 源码的解读,能够帮助大家更好地理解它的应用场景和运行原理。感谢收看本期视频,我们下期再见!

![Galgame 游戏管理工具 GitHub链接:https://github.com/anyayuqiu/GalSpace
GalSpace
🎮 Galgame 游戏管理工具 — 基于 Spring Boot + Vue 3 的本地游戏库管理应用,集成 VNDB 信息抓取、AI 翻译、分类管理等强大功能。
✨ 功能特点
🎮 游戏库管理
本地扫描导入 — 自动扫描目录中的 exe 文件,模糊匹配导入
手动添加 — 填写游戏名称、启动程序、目录即可添加
拖拽排序 — 卡片自由拖拽调整展示顺序,自动持久化
批量操作 — 多选后批量删除、添加到分类、VNDB 抓取
编辑与删除 — 修改名称、路径、封面模糊等设置
🔍 VNDB 集成
信息抓取 — 自动从 VNDB 获取游戏标题、描述、评分、截图、平台、语言等
封面与截图 — VNDB CDN 直接加载,无需本地下载
批量导入 — 多选游戏一键批量 VNDB 搜索 + 导入,6 线程并行加速
导入结果 — 完成后自动弹窗显示成功/失败统计、
🌐 AI 翻译
DeepSeek 集成 — 自动翻译游戏简介和标签为简体中文
API Key 配置 — 在设置中配置自己的 DeepSeek API Key
智能过滤 — 翻译前自动清理 [xxx] 标记内容
🏷️ 标签与分类
TAG 系统 — 侧边栏 TAG 菜单展示翻译后的中文标签,点击筛选
自定义分类 — 创建自定义分类(可选颜色),游戏关联/取消关联
收藏夹 — 点击封面星标收藏,底部菜单快速筛选
删除分类 — hover 显示删除图标,确认后联级清理关联
🖥️ 详情展示
85vw 宽屏详情弹窗 — 大封面 + 横向信息布局
丰富元信息 — 厂商、发售日、时长、投票数、平台、语言、原语
分类 Chip — 点击 chip 标签直接切换游戏分类
⚙️ 网络与部署
局域网访问 — server.address=0.0.0.0 后局域网设备均可访问
端口自定义 — 支持 1024-65535 范围任意端口
保存并重启 — 修改网络配置后一键重启生效
自带 JRE — 可携带精简 JRE 免安装 Java 双击即用
🖼️ 图片管理
封面模糊 — 全局或单游戏封面模糊开关
游戏截图 — 详情页横向滚动展示 VNDB 截图
默认封面 — 未获取封面时显示默认占位图](https://p3-pc-sign.douyinpic.com/tos-cn-p-0015/ocAeaBaBTCT3rTliiO30dAIYBBm7fesAQ7IznZ~tplv-dy-resize-origshort-autoq-75:330.jpeg?lk3s=138a59ce&x-expires=2095452000&x-signature=GWiMQJzv%2Bdhh13lKWkXV57CgPZs%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=pcweb_cover&l=20260530062741D980F856346F81355613)
哦,这是一个 gamem 的 个性化管理工具,那么它支持这个手动添加和自动扫描两种添加游戏的方式。那我们先看一下来自动扫描一下, 在这里选择你呃,游戏的文件夹就可以了。 嗯,游戏声这个扫描声呢,一般填二填三都是可以的啊。如果你的游戏名跟你的这个文件夹的名是匹配的呢,我们就不需要开这个模糊匹配了。然后因为我这里是测试嘛,我并没有对应的游戏,所以就不需要开启, 然后扫描之后,它就会自动将游戏添加进来。那但此时游戏是并没有它的简介信息,这些是没有的,只是说有一个启动路径。那我们通过这个批量选择进行把要。嗯,把需要抓取的游戏呢都选一下, 选完之后呢,我们就可以从这个微软 d b 上抓取这个信息了。嗯,像这种有。呃,它这个游戏有很多 d b 的 这种,那我们选择对应的一个就可以了, 然后确认导入,因为我之前导入过了,所以这里导入是非常快的。然后它这个会员 db 呢,它是国外的一个数据库,如果你没有课业上网的话,可能是稍微有一点了, 那么导入之后的游戏就有对应的一些厂商,还有各种信息,然后有简介啊,也有它的游戏截图了。 嗯,如果你想要这个简介是中文的,那我们需要在设置里配置这个 dsp 的 一个 api。 那 此外呢,游戏还是支持这个转区的,你需要把转区软件的路径填到我们的这个管理器里面,然后再在游戏的信息里面去打开这个转区启动。 此外呢,游戏还支持我们的管理器,还支持呃这个封面模模糊, 然后这还有一个全狙的一个, 嗯,左边呢就是会根据发出来的信息进行一个 tag 和制作组的一个分类,然后依次呢就是收藏夹和分类, 嗯,此外呢,我们还支持鲨鱼网的一个共享,在这里设置好端口之后,我们通过 呃机呃 g 网里面设备访问这个电脑的 ip, 就 可以访问到我们的这个呃管理器了。

好,今天的话我们聊一下我们在 windows 下面的一个显卡驱动的一个安装,为什么要做这么个 windows 下面的一个驱动的安装呢?这主要是我们在本地做那个模型训练的时候啊,它有一个环境 在这个地方,我现在已经更新到十三点二了,那么这个东西呢,它是向下兼容,也就是说我们这个的话高一点会比较好。然后不仅仅是说为了把这个呃版本调高, 同时也是因为我们拍 pos 里面他必须就是用到了一个十三点,就是那个视觉模型,他必须用到了那个十三点零以上的,不然最新版的视觉模型运行不了。所以基于这么一个背景的话, 我们就要做一个显卡驱动的一个安装,就是 linux 上面安装了,那这些本地也要进行一个安装,那么我们先看一下如何进行一个显卡的一个更新。首先我们在一个官方的这个显卡这边, 首先我的电脑是呃四零六零的,那么这里的话我以四零六零为准,那么这里的话选择 这个 g e f o r c e 的, 然后在这里的话有一个看看我们自己电脑,我这里的话选的是 那个四零 service, 然后再选一个,如果是四零九零就选四零九零,如果是四零六零的话就选四零六零, 然后选了之后呢?操作系统,这里我们根据自己的一个操作系统来选择,选了之后这里有个查找, 然后查找之后他应该会进入一个图形的界面, 然后这里上面有两个,这一个的话是指的是呃游戏跟那个呃模型训练都合适的,就用这一个, 然后这里有几个版本,然后我们点击查看,然后来到这个界面呢,就可以下载,接着就等它下载完成, 我们先往下看这里下载完成了之后呢,然后就进行一个启动的安装,用管理员身份运行,然后如果说我们之前已经有那个,就是我们之前这里如果已经有那个, 呃运行的,就是之前有装过驱动,然后这次的话要重新装,那么我们一定要选择个自定义安装,不然的话它会发生一个冲突,会导致我们那些拍照时会引发一些冲突, 然后因为我已经安装过了这里,我就不安装了,然后安装的时候它弹出其中有一个界面, 它那里会显示一个英伟达 app, 这个东西的话是一定要取消勾选的,它这个是英伟达的一个新的一个游戏的一个中心,它体积非常大,而且装了之后后台占用会非常高,然后而且它还有一个它会自动更新,就比如说我们的驱动 那个东西,它会自动更新下载,那这就很不稳定了。比如说我点击这个, 然后这里是指他解压的路径, 这里他只是把那个显卡驱动进行一个解压,即便我安装过了,也可以继续看一下这一步,这个不太影响,只是说多一个解压后的一个文件, 现在的话就进入一个图形的安装的一个界面,然后他会检查兼容性,就在安装这一步,最后有这个选项就是不能勾选,嗯,今天的分享到这。