NitroGen:用开放基础模型打造可跨游戏迁移的通用游戏智能体

大概从去年开始,圈子里聊游戏AI,聊着聊着就会绕到同一个问题上:为什么每个游戏都要重新训练一个智能体?从“打砖块”换到“赛车”,哪怕核心逻辑都是“观察-决策-反馈”,模型却往往要从零再来。NitroGen这个项目,就是想尝试回答这个问题——用一个开放基础模型,让同一个策略模型具备在多个游戏之间迁移、适配、甚至直接上手的能力。

这篇文章我会从项目设计动机讲起,拆解它的核心架构、训练数据怎么组织、模型怎么评估,最后把仓库里能直接跑起来的东西、以及我在实测中踩到的一些坑一并整理出来。无论你是做强化学习的算法工程师,还是正在研究具身智能、通用决策模型的学生,这篇都能给你一个可参考的落地框架。

1. 通用游戏智能体的“通用”到底难在哪

先聊聊我看到的困境。传统游戏AI的做法,基本是每个环境一套定制流程:设计状态表征、定义动作空间、调奖励函数、再跑几千轮PPO或者DQN。效果不错,但问题也很明显——换个游戏,之前积累的经验几乎归零。这种“游戏一个、模型一个”的方式,离通用智能差得很远。

1.1 单游戏专精模型的三个死穴

第一,过拟合到环境细节。模型学到的东西里,很大一部分不是“怎么决策”,而是“在当前这个界面布局下怎么点”。第二,数据利用率极低。一套交互数据只能服务一个游戏,重复造轮子。第三,模型不具备延续性。上游学到的东西无法沉淀到一个持续进化的基座里,导致任何一个新游戏都要从化石阶段开始演化。

这三个问题放在一起,你会发现单游戏模型的边界其实是策略空间太小、感知泛化太弱、经验复用为零。而基础模型路线的思路,是用一个大且通用的参数集合,同时吸收多个游戏的交互数据,让这些数据之间互相补充,最终形成一个“什么游戏都能玩一点、再学一下就能玩好”的策略底座。

1.2 “通用”的具体含义:从单一任务到任务分布

NitroGen里说的“通用”,不是指一个模型打遍所有游戏都达到顶尖水平,而是指模型具备跨游戏、跨场景的迁移起点。更准确地说,是去建模一个“任务分布”:游戏有几百种、动作空间完全不同、观测可能是像素也可能是状态向量,但决策的底层逻辑——探索、记忆、反馈响应、目标分层——是共通的。

这个定义很重要,因为它改变了解题思路。你要优化的不是某个环境里的累计回报,而是整个环境分布上的平均表现,以及面对新环境时的适应速度。听起来有点像元学习,但NitroGen走的不是MAML那套,而是更贴近大语言模型的预训练-微调范式。

1.3 为什么选“开放基础模型”这条路线

“开放”这个词,在这个项目里分量很重。圈内其实已经有几个不错的单游戏智能体开源项目,但真正开放训练代码、数据配比、模型权重和评测基线整套流程的通用游戏智能体,一直缺位。没有这个基础层,后面的人做研究就只能在别人的黑盒模型上做微调,或者干脆重新从零训练,太浪费了。

NitroGen把路线定义为:一个大模型 + 一套任务接口 + 一组评测环境,同时开放所有中间产物。你拿到的不是一个只能跑固定游戏的成品,而是一个你可以继续灌数据、继续更新、继续扩展的底座。这才是“开放”和“基础模型”两个词连在一起的核心价值。

2. NitroGen整体架构拆解:感知、记忆与策略输出的协同设计

NitroGen的架构并不是凭空设计出来的,它继承了不少大语言模型和决策模型的经验,但针对“游戏智能体”这个场景做了一套专门的取舍。整个模型可以按职能拆成三个模块:感知编码器、策略骨干网络、输出头。下面逐个说清楚它们各自干什么、以及为什么这么干。

2.1 多模态感知编码器:打通像素级与结构化观测

游戏观测的形态很杂。有的环境丢给你一张渲染图(比如赛车游戏),有的环境给你一堆结构化数据(比如格子坐标、血量、背包),还有的混合了两者。如果模型只支持一种输入,就注定做不成通用。NitroGen的感知编码器因此设计成多模态入口:

  • 像素输入:用轻量级视觉编码器做切片和特征抽取,类似ViT的方法,但做了时序帧的位置编码,让模型能看到连续画面的运动信息;
  • 结构化状态输入:把向量或表格数据先做归一化,再映射成和视觉特征同维度的embedding序列;
  • 指令或目标输入:把任务目标(比如“到达终点”“击败敌人”)用文本编码器转成prompt向量,注入整个决策流程。

这个设计最核心的一点,是让所有模态最终都变成同一维度的token序列,进入后端的transformer骨干。这样模型内部不用区分“我是看见的还是读到的”,统一用注意力机制去融合信息。

2.2 时序决策骨干:带记忆的Transformer策略

策略骨干用的是causal transformer,和GPT的架构相似。区别在于,NitroGen在token序列里注入了时间戳、生命周期标记、以及跨回合的memory token。为什么要这么做?因为游戏决策不只是“看到什么就反应什么”,很多时候需要跨帧、跨回合的记忆。

做法上,每一帧会生成一个全局记忆token,这个token会带进后续帧的上下文窗口,相当于模型内部维护了一个动态更新的工作记忆。这个设计在部分可观测游戏里特别重要,比如你从房间里出来再进去,需要记住里面原本有什么。

2.3 输出头设计:离散、连续与混合动作空间统一

不同游戏的输出千差万别。有的只需要方向键四选一,有的需要连续控制油门和方向盘,还有的需要同时输出技能编号和落点坐标。NitroGen没有为每个游戏单独接不同的头,而是统一成“离散token + 连续参数”的混合输出协议:

  • 离散动作:通过采样head输出动作类别;
  • 连续参数:通过回归head输出连续值,再用tanh限制到[-1, 1]范围;
  • 动作组合:一个决策步可以同时产生多组离散和连续输出,彼此之间用特殊分隔token区分。

这样设计之后,不管是超级玛丽还是OpenAI Gym里的连续控制任务,都能统一表达成一个序列生成问题。整个模型的学习目标也非常简洁:最大化动作序列的似然,等价于一个条件生成任务。

2.4 为什么没走“视频预测”路线

圈子里也有不少人走世界模型路线,比如让模型先学预测下一帧画面,再基于预测结果做规划。NitroGen没有把“视频预测”作为核心训练目标,原因很实际:视频预测的计算开销太大,而且在游戏场景中,对未来的精准像素预测并不总是必要的。

更务实的做法,是让模型直接拟合行为序列,同时把足够的表征能力留给隐空间。模型在transformer内部依然会学习状态的转移规律,但不必显式重建画面。换句话说,NitroGen选择的是“行为克隆 + 强化微调”的路线,而不是“先预测世界再规划”的慢思维路线。

3. 训练数据与两阶段学习策略:先模仿,再进化

基础模型能不能成,七成取决于数据,三成取决于模型结构。NitroGen在数据组织上有大量细节,包括多游戏数据怎么配比、跨游戏tokenizer怎么设计、课程顺序怎么安排。这块是全文里最需要耐心看的部分,也是实操时最容易踩坑的地方。

3.1 多游戏数据来源与加工管线

NitroGen的训练数据,主要来自三块:

  • 游戏内置AI或人类专家的示范轨迹(行为克隆数据);
  • 强化学习策略自行探索生成的交互轨迹(自举数据);
  • 规则逆推生成的“通关”轨迹,用于补充特定任务类型的样本。

数据加工管线也不是简单的存储重放。处理流程分为四步:帧标准化、动作统一编码、片段截断与难度标签生成、任务指令绑定。其中难度标签和任务指令绑定这一步容易被忽视,但作用非常关键。它让模型在预训练阶段就开始形成“当前目标”与“环境状态”的条件依赖,而不是单纯学习一套“刺激-反应”映射。

3.2 两阶段训练:预训练学模式,后训练学对齐

NitroGen的训练流程分为两个明确的阶段,这一点借鉴了大语言模型的训练节奏:

第一阶段是行为预训练。在这个阶段,混合所有游戏的数据,目标是最大化动作序列的似然。模型学会的是“在游戏环境中看起来合理的决策模式”——大概知道往哪走、什么时候收集道具、怎么规避障碍。

第二阶段是策略对齐与强化微调。此阶段引入奖励信号,用PPO或类似算法对策略网络进行细调。但这里有个重要技巧:微调时只更新部分参数,且用较低的KL正则约束,防止模型忘记预训练阶段学到的通用知识。

这种两阶段设计直接解决了“从零跑PPO”导致的数据效率问题,也是模型能跨游戏泛化结构性保证的来源之一。

3.3 跨游戏数据配比:如何防止模型“偏科”

多数据集混合训练,最怕的就是某个游戏数据过多,模型被“带跑偏”。NitroGen在配比上采用了一种动态采样策略:初始阶段均匀分布,之后根据每个游戏当前的评估分数动态调整采样权重——分数低的游戏多采样,分数高的适当降权。

这个做法本质上是自适应的课程学习。另外在任务序列上,NitroGen也没有做固定顺序,而是使用随机难度混合的方式,避免模型过早地集中在某一类任务上。

3.4 指令表达能力:为什么每个轨迹都要绑定文本目标

为了让模型具备“目标任务”的概念,NitroGen在数据管线的最后一步,为每条轨迹生成了对应的指令描述。实现上直接复用文本编码器,把“到达终点”“击败最终Boss”“收集至少三个宝石”这类文本目标编码成条件token。

这一步带来的一个重要好处是:用户在下游微调时,可以直接用自然语言描述目标任务,而不需要手写奖励函数或手工设计目标状态。这使得整个框架更像“LLM式的决策模型”,而不是一个纯强化学习系统。

4. 如何评估“通用”:从零样本泛化到少样本适配测试

通用性不是说出来的,是测出来的。NitroGen设定了一套分级评测体系,把“通用”拆解成几个不同难度的指标,从“完全没见过”到“给少量轨迹后快速适应”,每一层都定义了明确的衡量方式。

4.1 零样本泛化测试

零样本测试,是直接拿预训练好的模型,去跑训练集中从未出现过的游戏环境,只给任务指令,不做任何参数调整。衡量指标包括:单位时间得分、任务完成率、以及和随机策略相比的优势比。

这个测试最能检验模型是否学到了跨游戏的决策常识。比如“深色物体多半是障碍”“光点密集处往往是可收集物”这类通用视觉-行为关联,如果能零样本迁移,说明模型在表征层面已经具备一定的抽象能力。

4.2 少样本快速适配测试

少样本测试则模拟现实情况:“一个新游戏出来了,我能提供几百条甚至几十条示范,模型能否迅速学会?”NitroGen在评估时采取的做法是引入一个轻量级适配器(adapter),在冻结主干参数的前提下,只训练适配器层。

好消息是,由于预训练模型已经完成了绝大部分表征学习,适配器只需要几十条轨迹、几百个梯度步就能达到可用水平。这个结果直接指向了NitroGen最核心的实用价值:新游戏接入成本被压到了一个非常低的水平。

4.3 多种评测环境的构成与参考分数

评测环境方面,NitroGen选择了一个覆盖不同动作空间和观测类型的游戏集合,包括离散键盘动作的像素游戏、连续控制的物理模拟环境、以及需要多步骤规划的寻宝类环境。所有结果都记录在公开的eval log里,并附带详细的视频回放。

需要提醒的是,这些评测分数只能作为参考。基础模型落地到具体项目时,目标不是冲击排行榜,而是在自己的游戏场景里达到“可接受的成功率”。评测的意义更多在于建立一套可重复对比的基线,而不是制造一个“所有游戏都第一”的噱头。

4.4 关于泛化边界的诚实总结

最后必须说清楚泛化的边界在哪。NitroGen在零样本测试中的确表现出了不错的“常识”,但一旦某个游戏需要高度领域特异性的操作(比如特定连招的按键序列),零样本表现会大幅下降。这是这种范式的天然边界,坦白讲,也是整个通用决策模型的未解难题。

少样本适配可以弥补一部分,但适配速度和质量依然依赖环境和目标任务与训练分布的相似程度。诚实地说,NitroGen做的不是“通用AI”,而是“通用AI的基础起点”——它把模型从零开始到可用的成本,从几周压缩到了几小时。

5. 开放仓库结构与复现指南:从权重到数据一步一步跑通

这部分写给想动手试的人。NitroGen的仓库结构、关键配置、训练脚本和推理示例,我都实际跑过一遍,下面按“拿到手之后怎么做”的顺序来写。

5.1 仓库目录结构与核心文件说明

仓库整体分成四个一级目录:模型定义、数据处理、训练与评估、工具链。其中模型定义目录里是核心的网络结构代码;数据处理目录里是轨迹数据从原始格式到训练格式的转换脚本;训练与评估目录包含了从零预训练、后续微调、以及跑评测的全部入口脚本。

需要注意的一点是,官方并没有把模型权重直接放在git仓库里,而是放在了独立的权重下载地址。第一次下载的时候记得看一下下载脚本里的文件校验值,避免下到损坏的半成品。

5.2 环境配置:最容易被忽略的版本问题

跑NitroGen需要PyTorch环境,官方给的requirements文件里锁定的版本不算苛刻,但有几个隐藏坑:核心框架版本必须和预训练权重对应,否则加载权重时会报key名不匹配;评估环境里有一套独立的依赖包,安装时需要确认版本兼容性。

建议直接用仓库自带的conda环境配置命令一步到位,不要自己手动拼版本。我实测在干净容器里装,五分钟能跑起来推理示例;如果在自己已有环境里手工装,反而容易碰到各种奇奇怪怪的冲突。

5.3 快速开始:加载权重并跑通推理示例

最简单的复现步骤,三步:

  1. 克隆仓库并安装依赖;
  2. 下载模型权重和评测数据;
  3. 运行推理示例脚本,传入一个指定游戏的观测序列和目标任务描述。

这个脚本会把模型内部对各动作的评分打印出来,同时生成一段可视化的决策回放。从跑通到理解输出,大概半小时就能完成。如果你只想看效果,这里就够了。

5.4 预训练复现:数据格式与命令详解

如果你打算复现完整的预训练过程,需要先跑数据处理管线,把原始交互数据统一转换成包含像素帧、结构化状态、动作token、指令文本、时间戳的格式。整个管线是流式的,数据都先写成序列化二进制格式,再交给dataloader读取。

预训练的主要命令入口是train_pretrain.py,关键参数包括上下文窗口长度、batch size、学习率、以及多游戏采样权重。官方默认配置下,在单卡大显存环境下能跑,但速度会非常感人。如果你手头有全量计算资源,可以参考官方训练日志里的超参数设置。

5.5 下游适配:在自己的游戏里用起来

把NitroGen用在你自己的游戏环境里,操作路径是:接入环境的观测和动作协议,然后走少样本适配微调。官方提供了一个示例适配脚本,你只需要把环境封装成符合接口的类,就能开始收集轨迹并微调适配器层。

比从零训练缩短了一个代际的周期,这是这个项目给我最强烈的直观感受。

6. 实测中的意外情况与解决办法:负迁移、灾难性遗忘与指令冲突

最后写一部分非常实际的内容——我在跑NitroGen的过程中遇到的几个问题,以及对应的排查思路和解决办法。这部分内容你在官方文档里不一定看得到,希望对你有帮助。

6.1 负迁移问题:多游戏数据不一定都是正向影响

多游戏训练时,我遇到最典型的问题是:在某几个视觉风格接近的游戏上,预训练模型表现有明显提升,但在一部分操作机制完全不同的游戏上,模型反而比单游戏训练时更“呆”。这就是负迁移。

排查下来的原因,基本指向数据配比和tokenizer共用一个动作词表导致语义混淆。解决办法是调整配比权重、为不同游戏设置不同的动作token子空间。这一点在官方配置里没有强制约束,但实操时非常关键。

6.2 灾难性遗忘:强化微调阶段模型能力“回退”

在进入强化微调阶段后,我遇到一个更恼火的问题:模型在目标游戏上分数上升了,但在之前预训练覆盖的另一个游戏上,效果反而明显变差。这就是典型的灾难性遗忘。

解决办法有三层:一是微调时冻结大部分主干层参数;二是把预训练数据按一定比例混入微调批次里;三是加KL惩罚项限制策略更新幅度。我试了前两个之后,遗忘现象就改善得比较明显了。

6.3 指令冲突:文本目标与行动目标不一致的情况

还有一类问题是指令和目标之间语义冲突。比如我设置“快速到达终点”,模型会倾向于跳过正常流程里的必要操作。说白了就是模型过于激进地执行字面指令。

解决思路是把指令拆成“高层次目标 + 约束条件”,比如改成“在到达终点的过程中避免碰撞障碍”。结构化的指令表达能有效缓解语义冲突,这是我在反复尝试后学到的。

6.4 数据质量和tokenizer扩展的额外成本

最后补充一点:如果你的目标游戏有独特的动作类型(比如需要连续控制的开车加漂移),需要扩展动作词表或调整连续参数的维度。这个过程不复杂,但扩展后必须重新跑一遍tokenizer对齐,否则动作编码和模型输出会错位,表现会非常诡异。

说穿了,NitroGen给的是一个可以扩展的底座,而不是一个开箱即用的最终产品。底层数据管线的健壮性,决定了你能在这条路上走多远。

相关新闻

混合精度计算:8位硬件逼近32位效果的原理与实战

混合精度计算:8位硬件逼近32位效果的原理与实战

一年多前,我刷到一个挺夸张的新闻标题:9个月迭代AI芯片,8位硬件跑出32位精度。第一反应是营销号又开始整活了,但仔细把背后的技术方案扒完,发现这类说法虽然标题党,核心思路倒是实打实存在的东西。做模型部…

2026/10/19 16:19:22 阅读更多 →
图像边缘检测算法详解:从Sobel梯度到Canny非极大值抑制与双阈值

图像边缘检测算法详解:从Sobel梯度到Canny非极大值抑制与双阈值

简介:面向图像处理初学者、计算机视觉专业学生与算法入门者,这是一套基于 Visual Studio 2015 开发的图像边缘检测算法演示程序,集图像读取、显示、保存、灰度化、二值化、直方图统计、亮度/对比度与饱和度调整、HSV/YUV 色彩空间转换&#x…

2026/10/19 16:18:18 阅读更多 →
从卷积到Canny:边缘检测算子原理与调参实战

从卷积到Canny:边缘检测算子原理与调参实战

简介:面向图像处理初学者的边缘检测演示程序资源包,基于 Windows 10 Pro x64 环境与 Visual Studio 2015 工程实现。程序除 Sobel、Canny 边缘检测外,还集成图像读取保存、灰度化、二值化、直方图、HSV/YUV 颜色空间转换、亮度对比度与饱和度…

2026/10/19 16:18:18 阅读更多 →

最新新闻

《呆呆虫源代码阅读》前言:一份解释器学习者的源码阅读路线图

《呆呆虫源代码阅读》前言:一份解释器学习者的源码阅读路线图

有些学习项目,代码还没开始读,光是《前言》这一节就够你来回翻三遍。我说的这个项目,就是《呆呆虫源代码阅读》。先说清楚它是什么:呆呆虫是一套用Go实现的教学型脚本语言解释器,语法轻巧、结构清晰,代码库…

2026/10/19 17:02:18 阅读更多 →
Visual Studio四种命令行窗口怎么选?环境变量与编译工具链一次说清

Visual Studio四种命令行窗口怎么选?环境变量与编译工具链一次说清

装好 Visual Studio 后,想编译一个 C 文件,却在开始菜单里看到一堆长得几乎一模一样的命令行入口:“Developer Command Prompt”、“Developer PowerShell”、“PowerShell”、“命令提示符”,有的版本还会在名字后面带 x86、x64、…

2026/10/19 17:02:18 阅读更多 →
从零搭建地图数据管理平台:PostGIS+Tippecanoe+MapLibre完整实战

从零搭建地图数据管理平台:PostGIS+Tippecanoe+MapLibre完整实战

最近我在折腾一个叫atlas的项目——严格来说,它是一套轻量级的“自助地图集”系统。起因很简单:团队里每次做数据分析、业务汇报,总要翻来覆去找地图资源,有的在网盘、有的在数据库、有的干脆是隔壁同事电脑里的一个 GeoJSON 文件…

2026/10/19 17:02:18 阅读更多 →
开放式Code Review流程搭建实践:从规则设计到自动化落地

开放式Code Review流程搭建实践:从规则设计到自动化落地

从零搭建一套开放式的Code Review流程,我踩过的坑和沉淀下来的方案这几年带过不少团队,也见过很多种代码审查的做法。有的团队用GitHub的Pull Request天然流程,有的用Gerrit那套严格的merge前审查,还有的直接靠leader一个人在群里…

2026/10/19 17:02:18 阅读更多 →
open-code-review:轻量级自动化代码审查工具的设计与实践

open-code-review:轻量级自动化代码审查工具的设计与实践

1. 项目背景与核心思路代码审查这件事,几乎所有开发团队都在做,但真正做得好的没几个。不是大家不重视,而是传统的代码审查流程里有几个绕不开的坎:人工检查容易遗漏细节、评审标准不统一、新人不知道从哪里看起、跨团队协作时沟通…

2026/10/19 17:02:18 阅读更多 →
基于STC12C5A60S2的智能油烟机毕业设计:ADC、PWM与状态机实战

基于STC12C5A60S2的智能油烟机毕业设计:ADC、PWM与状态机实战

简介:面向单片机、嵌入式方向的本科毕业设计人员,这份智能油烟机项目以STC12C5A60S2单片机为核心,完整覆盖油烟机控制系统的程序编写、硬件设计与联调环节,适合作为课程设计、毕业设计或入门级嵌入式项目的参考资料。 压缩包共21…

2026/10/19 17:01:18 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →