Windows到Linux:Unreal Engine与AirSim项目跨平台打包部署实战指南
1. 项目概述跨平台部署的挑战与机遇在仿真与游戏开发领域Unreal Engine虚幻引擎因其强大的渲染能力和物理模拟已成为构建高保真数字孪生、自动驾驶仿真等复杂场景的首选平台。AirSim作为微软开源的无人机与自动驾驶仿真器深度集成于Unreal Engine为研究者提供了近乎真实的传感器数据与物理环境。然而一个常见的现实困境是开发团队的主力工作站往往是Windows系统而最终部署的目标服务器或车载计算单元却大量运行着Linux。这就引出了一个核心需求——如何在Windows环境下将基于Unreal Engine和AirSim开发的项目打包成能在Linux平台上原生运行的可执行文件或项目包。这个过程远非简单的“导出”或“编译”按钮。它涉及引擎源码的交叉编译、项目资产的跨平台兼容性处理、运行时依赖的动态链接库配置以及AirSim插件在目标平台的适配。对于许多初次尝试的开发者而言这就像是在一个迷宫中摸索常常会遇到编译错误、链接失败、运行时崩溃等一系列问题。本文旨在为你提供一份从Windows到Linux的完整打包实战指南不仅告诉你每一步该怎么做更重要的是解释清楚背后的原理和可能遇到的“坑”。无论你是自动驾驶算法的工程师还是机器人仿真的研究员这份指南都将帮助你打通从开发到部署的关键一环。2. 环境准备与核心工具链解析在开始打包之前我们必须搭建一个稳定、可靠的工具链环境。这不仅仅是安装几个软件而是理解每个组件的作用及其相互关系。2.1 Unreal Engine源码编译环境这是整个流程的基石。AirSim要求使用从源码编译的Unreal Engine而非Epic Games Launcher安装的二进制版本。原因在于AirSim插件需要修改引擎的构建脚本和部分模块这些修改必须在编译引擎时集成进去。Windows端准备安装Visual Studio 2022选择“使用C的桌面开发”工作负载并确保勾选“Windows 10/11 SDK”和“C CMake tools for Windows”。这是编译UE源码的官方指定工具。获取UE源码从GitHub的Epic Games仓库克隆特定版本的源码例如AirSim通常兼容UE 4.27或UE 5.0。使用Git命令时务必加上--depth 1参数以节省时间和磁盘空间。运行生成项目文件脚本在源码根目录下运行Setup.bat下载二进制依赖项然后运行GenerateProjectFiles.bat生成Visual Studio解决方案文件。注意磁盘空间是关键。一个完整的UE源码编译包含所有平台和功能可能占用超过100GB的空间。建议预留至少200GB的SSD空间以确保编译过程顺畅。Linux端准备交叉编译目标我们的目标是在Windows上为Linux编译因此需要在Windows上安装Linux交叉编译工具链。最标准的方式是使用Unreal Engine自带的工具链设置。启用Linux交叉编译支持在Windows上编译UE源码时需要在Engine\Build\BatchFiles\RunUAT.bat相关的构建命令中显式指定Linux为目标平台。但更常见的做法是先确保引擎源码中包含了Linux平台的构建支持。这通常在克隆源码时已包含。验证工具链编译过程中UE的构建系统会自动调用所需的交叉编译器如clang、链接器和标准库。你无需手动安装复杂的交叉编译环境UE的构建脚本已经封装好了这一切。这是UE作为成熟商业引擎带来的巨大便利。2.2 AirSim插件集成AirSim以插件形式存在于Unreal项目中。其集成方式直接影响打包结果。获取AirSim插件从AirSim的GitHub仓库克隆或下载稳定版本。务必注意其文档中声明的与Unreal Engine版本的对应关系。集成到引擎推荐方法将AirSim插件文件夹通常包含AirSim目录复制到已下载的Unreal Engine源码目录下的Engine\Plugins\Marketplace文件夹中如果没有Marketplace可放在Engine\Plugins下。这种方式是将插件编译进引擎本身使得任何基于该引擎编译的项目都能直接使用AirSim无需在每个项目中重复配置。编译带有AirSim的引擎使用Visual Studio打开生成的UE5.sln或UE4.sln在解决方案配置中选择Development Editor解决方案平台选择Win64然后编译整个解决方案。这个过程非常耗时可能需要数小时。编译成功后你将在Engine\Binaries\Win64目录下得到UnrealEditor.exe。2.3 项目设置与初步检查创建一个新的或打开一个已有的Unreal项目用于测试打包。创建测试关卡在项目中创建一个简单关卡从内容浏览器拖入AirSim提供的“Car”或“Multirotor”蓝图并放置一些基本几何体作为环境。这用于验证AirSim功能是否正常。启用AirSim插件在Unreal Editor中点击“编辑” - “插件”在“已安装”或“项目”标签页下找到“AirSim”确保其已启用。如果按照2.2节的方法将插件集成到引擎这里应该默认就是启用的。项目设置检查地图和模式在“项目设置” - “项目” - “地图和模式”中将“编辑器启动地图”和“游戏默认地图”设置为你的测试关卡。打包设置在“项目设置” - “项目” - “打包”中确保“使用Pak文件”被勾选这对于分发是好的实践。同时可以在这里添加额外的非资产文件如配置文件到打包列表中。3. 核心打包流程详解从Editor到Linux二进制完成环境准备后我们进入核心的打包阶段。这个过程分为几个关键步骤每一步都有其特定的目的和潜在陷阱。3.1 使用命令行进行项目编译虽然Unreal Editor提供了图形化的打包按钮但对于自动化、可复现的跨平台打包命令行是更强大和可靠的工具。我们将使用Unreal Automation Tool (UAT) 和 Unreal Build Tool (UBT)。生成项目文件针对Linux首先我们需要为Linux平台生成项目构建文件。打开命令提示符CMD或PowerShell导航到Unreal Engine源码的Engine\Build\BatchFiles目录。# 假设你的项目文件 MyProject.uproject 在 D:\MyProject 目录 # 引擎目录在 C:\UE5 cd C:\UE5\Engine\Build\BatchFiles .\RunUAT.bat BuildCookRun -projectD:\MyProject\MyProject.uproject -platformLinux -clientconfigDevelopment -serverconfigDevelopment -build -cook -stage -pak -archive -archivedirectoryD:\MyProject\Builds让我们拆解这个命令的关键参数-platformLinux指定目标平台为Linux。-clientconfigDevelopment构建开发版本便于调试。也可用Shipping发布版本更小更快但难以调试。-build编译项目代码。-cook将项目内容资产转换为目标平台Linux的格式。-stage将构建和烹饪好的文件复制到一个临时目录“Staged”目录。-pak将已烹饪的内容打包成.pak文件便于分发和管理。-archive和-archivedirectory将最终成果物压缩归档到指定目录。理解构建过程执行上述命令后UBT会首先调用交叉编译器编译项目在Linux平台下的所有模块。然后UAT会启动“烹饪”过程将纹理、模型、音频等资产转换为Linux兼容的格式例如纹理格式可能从DDS转换为ASTC或ETC2。这个过程可能会遇到资产引用错误或材质兼容性问题需要根据错误日志逐一排查。3.2 处理平台特定的依赖与配置Linux和Windows的系统库和运行时环境截然不同。打包出的Linux可执行文件无法在Windows上直接运行测试因此我们必须确保所有依赖都被正确包含。AirSim插件的Linux依赖AirSim本身依赖于一些第三方库如rpclib用于RPC通信、MavLinkCom用于PX4通信等。在Windows上编译AirSim插件时这些库的Windows版本会被链接。当为Linux打包时构建系统需要知道如何获取或编译这些库的Linux版本。幸运的是如果AirSim插件已正确集成到引擎源码并参与引擎编译UAT在交叉编译时通常会处理好这些依赖。但你需要确保在最初编译引擎2.2节时这些第三方库的源码已正确放置通常AirSim的setup.sh或setup.bat脚本会处理。Unreal Engine的Linux运行时打包出的Linux可执行文件例如MyProject.sh或MyProject-Linux-Shipping实际上是一个启动脚本或二进制它依赖于一系列Unreal Engine的共享库.so文件。UAT的-stage步骤会自动将这些必要的引擎运行时库位于Engine/Binaries/Linux下复制到暂存目录。项目配置文件确保你的项目配置文件如DefaultEngine.ini,DefaultGame.ini中的路径和设置是平台无关的。避免使用Windows风格的绝对路径如D:\Textures应使用项目相对路径或引擎配置文件。3.3 打包输出物分析与验证打包命令执行成功后在指定的归档目录如D:\MyProject\Builds\Linux下你会看到类似如下的结构MyProject/ ├── MyProject.sh # Linux启动脚本 ├── MyProject/Binaries/Linux/ │ └── MyProject-Linux-Shipping # 主可执行文件 ├── MyProject/Content/ # 已烹饪并打包的 .pak 文件 ├── MyProject/Plugins/ # 项目插件的Linux版本 └── Engine/ # 精简版的引擎运行时文件验证打包完整性由于无法在Windows上直接运行我们可以通过以下方式初步验证文件完整性检查确认Binaries/Linux目录下的可执行文件存在且非空。检查Content目录下是否有.pak文件。依赖库检查使用Linux环境下的ldd命令需将打包文件传输到Linux机器后执行来检查可执行文件的动态链接库依赖是否都能找到。在Windows上可以粗略检查Engine/Binaries/Linux目录下是否包含了大量的.so文件。传输到Linux测试这是最终也是唯一的验证方式。将整个打包目录通过SCP、SFTP或共享磁盘的方式复制到一台运行Ubuntu 20.04/22.04 LTSAirSim推荐的Linux机器上。4. Linux端部署与运行实战将打包好的文件传输到Linux服务器或PC后真正的考验才开始。4.1 环境准备与权限设置系统要求推荐使用Ubuntu 20.04或22.04 LTS。确保系统已安装基本的图形驱动如NVIDIA驱动和OpenGL/Vulkan库。对于无头服务器没有显示器需要配置虚拟显示如使用xvfb(X Virtual Framebuffer)。# 安装xvfb sudo apt update sudo apt install xvfb赋予执行权限导航到打包目录给启动脚本和可执行文件添加执行权限。cd /path/to/MyProject chmod x MyProject.sh chmod x MyProject/Binaries/Linux/MyProject-Linux-Shipping安装可能的缺失库即使UAT打包了引擎库你的程序仍可能依赖一些系统级别的库。常见的如libc1,libcabi1,libSDL2-2.0-0等。如果运行时报告缺少.so文件使用apt安装即可。# 示例安装SDL2常用于输入和窗口管理 sudo apt install libsdl2-2.0-04.2 运行与调试技巧使用启动脚本运行最简单的方式是运行自带的.sh脚本。./MyProject.sh这个脚本会设置一些环境变量如LD_LIBRARY_PATH告诉系统在哪里找.so文件然后调用真正的可执行文件。无头服务器运行用于自动化测试在没有显示器的服务器上需要结合xvfb运行。xvfb-run --auto-servernum --server-args-screen 0 1280x720x24 ./MyProject.sh -RenderOffscreen -ResX1280 -ResY720xvfb-run创建一个虚拟的X11显示服务器。-RenderOffscreen是Unreal Engine的命令行参数告诉引擎以离屏模式渲染不尝试打开窗口。-ResX和-ResY设置渲染分辨率。启用日志输出为了排查问题启用详细的日志输出至关重要。./MyProject.sh -log -StdOut -VeryVerbose 21 | tee game.log-log启用日志。-StdOut将日志输出到标准输出。-VeryVerbose输出最详细的日志级别。21 | tee game.log将标准输出和标准错误都重定向到终端的同时保存到game.log文件中便于事后分析。连接AirSim API项目运行后你需要通过AirSim的API通常是gRPC或TCP与之通信。确保Linux防火墙开放了相应的端口默认是41451。你可以使用AirSim提供的Python客户端库在另一台机器或本机另一个终端进行测试。# Python示例 import airsim client airsim.CarClient() # 或 MultirotorClient client.confirmConnection() print(client.getGpsData())4.3 性能优化与容器化考量在Linux生产环境中我们可能还需要考虑性能分析使用Linux工具如perf或nvprof针对NVIDIA GPU分析仿真循环的性能瓶颈是在渲染、物理还是AirSim的传感器模拟上。容器化部署Docker为了环境一致性和便捷部署可以将整个运行环境打包进Docker镜像。Dockerfile的基础镜像需要包含图形和驱动依赖。FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04 # 安装系统依赖 RUN apt-get update apt-get install -y xvfb libsdl2-2.0-0 ... # 复制打包好的项目文件 COPY MyProject /app/MyProject WORKDIR /app/MyProject # 设置启动命令 CMD [xvfb-run, --auto-servernum, --server-args-screen 0 1280x720x24, ./MyProject.sh, -RenderOffscreen]构建镜像后可以使用docker run并加上--gpus all参数来启用GPU支持。5. 常见问题排查与深度解决方案即使按照步骤操作也难免会遇到问题。以下是几个最常见的问题及其根因和解决方案。5.1 编译阶段错误问题1交叉编译时找不到Linux工具链。现象UAT报错提示找不到clang或ld等Linux工具。原因Unreal Engine的Linux交叉编译工具链未正确安装或配置。它通常位于Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux下。解决运行引擎目录下的Engine/Build/BatchFiles/Linux/SetupToolchain.sh这个脚本可能需要你在有网络连接的情况下运行它会下载必要的工具链。确保在Windows上运行这个脚本的路径正确或者检查是否在最初运行Setup.bat时已下载。问题2编译AirSim插件时链接错误。现象错误信息提及rpclib、MavLinkCom等库未定义引用。原因这些第三方库的Linux版本未正确编译或链接。解决确保在Windows上编译引擎前已经按照AirSim的setup.sh脚本在Linux环境下或交叉编译指南为Linux目标编译了这些依赖库。有时需要手动修改AirSim插件目录下的CMakeLists.txt或.build.cs文件指定正确的库搜索路径。5.2 打包与烹饪阶段错误问题3烹饪资产时材质或纹理错误。现象UAT烹饪过程警告或报错提示某些材质节点不支持或纹理格式转换失败。原因Unreal Engine在Windows和Linux上支持的某些着色器模型或纹理压缩格式有细微差别。项目中可能使用了某个仅在Windows编辑器下有效的第三方插件材质。解决检查错误日志中具体的资产名称。在Unreal Editor中打开这些资产尝试简化材质或替换为引擎自带的材质节点。对于纹理在纹理资产的属性中检查“压缩设置”尝试更改为跨平台兼容的格式如取消勾选“sRGB”或选择不同的压缩算法。问题4打包出的文件巨大。现象Content目录下的.pak文件有好几十GB。原因烹饪时包含了所有纹理的mipmap层级、未压缩的音频、开发用资源等。解决在项目设置的“打包”选项中可以设置纹理的烹饪质量如“最大纹理尺寸”。使用“烹饪中的压缩”选项。检查内容浏览器将仅用于编辑器的开发资源如高模移出项目或使用“引用排除”功能。5.3 运行阶段错误问题5在Linux上运行时报“找不到libxxx.so”。现象./MyProject.sh: error while loading shared libraries: libXXX.so.1: cannot open shared object file: No such file or directory原因动态链接库依赖缺失。可能是系统库也可能是引擎自带的某个库未正确打包或路径不对。解决使用ldd MyProject/Binaries/Linux/MyProject-Linux-Shipping查看缺失的库。如果是系统库如libSDL2用apt安装。如果是引擎库路径通常包含UnrealEngine检查打包目录下的Engine/Binaries/Linux是否存在该文件。如果不存在可能是打包流程不完整需要检查UAT日志。如果存在可能是启动脚本的LD_LIBRARY_PATH设置有问题可以手动在运行前导出export LD_LIBRARY_PATH/path/to/MyProject/Engine/Binaries/Linux:$LD_LIBRARY_PATH ./MyProject.sh问题6程序启动后黑屏或立即崩溃。原因可能性较多如图形驱动不兼容、渲染API选择错误、或项目逻辑在初始化时崩溃。排查查看日志这是最重要的步骤。按照4.2节的方法运行并保存日志仔细查看崩溃前的最后几条错误信息。检查渲染器尝试强制使用不同的渲染器。在启动命令后添加-OpenGL或-Vulkan如果目标Linux支持。有时默认的渲染器可能有问题。简化测试创建一个全新的、只包含基本几何体和AirSim车辆的空项目然后打包测试。如果这个简单项目可以运行那么问题出在原项目的特定内容或蓝图上。使用调试符号在打包时使用-clientconfigDebug或DebugGame配置。虽然生成的文件更大但崩溃时能提供更详细的调用堆栈信息。将Linux上的核心转储文件core dump复制回Windows用Visual Studio或WinDbg配合调试符号.pdb文件在Windows编译目录下进行分析这是定位复杂崩溃问题的终极手段。问题7AirSim API无法连接。现象Python客户端连接超时。排查确认仿真程序是否真的在运行并监听端口使用netstat -tulnp | grep 41451。检查Linux防火墙设置是否阻止了外部对41451端口的访问sudo ufw allow 41451。在项目设置或AirSim的配置文件settings.json中确认API服务器已启用并绑定到了正确的网络接口0.0.0.0而非127.0.0.1。跨平台打包是一个系统工程涉及开发、构建、部署多个环节。最大的心得是保持耐心并善用日志。每一次失败的错误信息都是通往成功的路标。建议建立一个简单的测试项目专门用于验证打包流水线确保基础通路顺畅后再将复杂的主项目接入。这样能有效隔离问题提高排查效率。

相关新闻

SpringBoot+SSM图书管理系统开发实战与优化

SpringBoot+SSM图书管理系统开发实战与优化

1. 项目背景与核心功能解析这个基于SpringBoot和SSM框架的图书管理系统,是我在高校图书馆信息化建设项目中的实战成果。系统采用B/S架构设计,主要解决传统纸质登记方式效率低下、数据统计困难等问题。核心功能模块包括:图书借阅管理&#xff…

2026/10/17 12:32:11 阅读更多 →
答辩高分秘诀[特殊字符]原来导师打分看的是PPT质感!

答辩高分秘诀[特殊字符]原来导师打分看的是PPT质感!

很多同学答辩低分不是论文差! 是PPT太拉胯,第一印象直接扣分😭 内容堆满满屏文字、排版杂乱无章、风格花里胡哨 导师一眼就判定:敷衍赶工、逻辑不清、态度不认真 终于挖到OKBIYE AI答辩PPT的正确用法! 专为高校学…

2026/10/17 12:38:08 阅读更多 →
计算机毕业设计之基于Spring Boot校园跳蚤市场的设计与实现

计算机毕业设计之基于Spring Boot校园跳蚤市场的设计与实现

随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建校园跳蚤市场的设计与实现。本文通过课题背景、课题目的及意义相关技术,提出了一种商品信息、公告信息等于一体的系统…

2026/10/17 12:38:08 阅读更多 →

最新新闻

快速排序原理与经典优化:从分区写法到三向切分、非递归实现

快速排序原理与经典优化:从分区写法到三向切分、非递归实现

快速排序是数据结构课程里“性价比”很高的一个算法:代码量不大,思想深刻,实际表现又强,面试和项目里都常碰。但很多新手学到“快速排序”往往只学到外壳,一旦要自己写,或者要把它用到工程里,各…

2026/10/17 13:35:39 阅读更多 →
AI时代Java开发工作流重构:VS Code+Maven+Arthas替代IDEA实践

AI时代Java开发工作流重构:VS Code+Maven+Arthas替代IDEA实践

1. 这不是卸载IDEA,而是重构开发工作流“AI写代码之后,我决定去掉IDEA工具”——这句话刚在技术群刷屏时,我第一反应是:又一个标题党?可翻完作者贴出的完整操作录屏、本地日志和三个月迭代数据后,我默默关掉…

2026/10/17 13:35:39 阅读更多 →
OpenResearch:Claude Code、Codex、OpenCode、Cursor 多工具协同实战

OpenResearch:Claude Code、Codex、OpenCode、Cursor 多工具协同实战

1. 从"OpenResearch"这个名字说起:它到底想解决什么问题第一次看到"OpenResearch"这个标题,加上旁边一串 Claude Code、Codex、OpenCode、Cursor 的热搜词,我大概能猜到它想干的事:把当下最火的几个 AI 编程工…

2026/10/17 13:35:39 阅读更多 →
Qt Quick实战源码包:C++模型与QML界面协作及避坑指南

Qt Quick实战源码包:C++模型与QML界面协作及避坑指南

简介:一套源自霍亚飞老师实战整理的Qt学习源码资料,面向Qt初学者与进阶开发者,围绕Qt与Qt Quick两条主线,系统覆盖C图形界面基础、QML声明式界面、动画状态机、跨平台适配以及网络数据库等知识点,适合希望通过真实项目…

2026/10/17 13:35:39 阅读更多 →
AI编程智能体大龙虾实测:从Copilot到Agent,程序员如何驾驭AI打工仔

AI编程智能体大龙虾实测:从Copilot到Agent,程序员如何驾驭AI打工仔

2026年开年,朋友圈和各大技术群直接被“大龙虾”三个字刷屏。作为一个天天埋头写业务代码、改别人烂代码的程序员,我第一反应是哪个营销号又在整活。结果点进去一看,发现这次真不是噱头——所谓“大龙虾”,是圈里对一款AI编程智能…

2026/10/17 13:35:39 阅读更多 →
CSDN+AI:程序员新生产力的技术演进路径

CSDN+AI:程序员新生产力的技术演进路径

我需要先读取「7. 总结与展望」这一节的精确 HTML,以便在正确的位置补充完整内容。已在文章末尾完整补充「7. 总结与展望」章节,包含全文核心观点回顾、三个实战案例的关键收获、脚本质量与安全审查要点、未来 AI 辅助运维的发展趋势,以及给读…

2026/10/17 13:34:38 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →