iOS上跑Windows程序:FEX-Emu、Wine与DXMT三层翻译栈实战解析
1. 从Madeira这个名字说起一个跨平台兼容层的野心第一次看到Madeira这个项目名我脑子里蹦出来的不是葡萄牙那座海岛而是它背后那串关键词FEX-Emu、Wine、DXMT、iOS、x86-64。把这几个词摆在一起稍微有点系统层经验的人都能嗅到味道——这是一个试图在 ARM 架构的移动设备上把 x86-64 的 Windows 应用生态跑起来的兼容层项目。名字取成一种酒Madeira 是马德拉酒和 Wine葡萄酒的命名传统一脉相承这本身就是一种态度宣言。先把这件事的难度讲清楚。iOS 设备现在是 ARM64 架构Windows 应用绝大多数是 x86-64 指令集编译的 PE 可执行文件。要让前者跑后者中间至少隔着三道鸿沟指令集翻译x86-64 → ARM64、系统调用翻译Windows NT API → POSIX/Darwin、图形 API 翻译DirectX → Metal。这三层任何一层做不好应用要么起不来要么起来就崩要么能跑但画面是黑的。Madeira 的思路是把这三层拆开各用最合适的现成组件去填FEX-Emu负责指令集翻译把 x86-64 的机器码动态翻译成 ARM64 执行Wine负责系统调用和 PE 加载提供 Windows 的运行时环境DXMT负责图形层把 D3D 调用翻译到 Metal。这个组合不是 Madeira 首创但把它整合到 iOS 这个封闭平台上是它真正有意思的地方。iOS 不允许 JIT即时编译在普通应用里随意使用而 FEX-Emu 这类动态翻译器恰恰极度依赖 JIT。这就引出了整个项目最核心的矛盾也是我后面要重点拆解的部分。如果你是在 iOS 上折腾过模拟器、或者用 Wine 跑过 Windows 软件的人这篇内容应该能帮你把为什么这么难卡点在哪哪些环节可以自己动手验证这几件事理清楚。如果你只是好奇一个手机怎么能跑 Windows 程序那跟着往下看我会尽量用生活化的方式把每一层讲透。2. 三层翻译栈的职责边界谁在干什么活2.1 FEX-Emu把 x86-64 指令现场翻译成 ARM64FEX-Emu 的核心是一个动态二进制翻译器DBT。你可以把它想象成一个同声传译x86-64 程序每执行一段代码FEX 就把这段机器码翻译成等价的 ARM64 指令然后让 CPU 去跑翻译后的结果。翻译过的代码块会被缓存起来下次再执行到同一段就直接用缓存不用重新翻译。这里有个关键概念叫基本块basic block。FEX 不会一条指令一条指令地翻而是以基本块为单位——一段没有跳转的连续指令序列。翻译一个基本块缓存执行遇到跳转再找下一个块。这种设计的好处是翻译开销被摊薄了坏处是遇到大量间接跳转比如虚函数调用密集的 C 程序时缓存命中率会掉性能就下来了。FEX 还有一个我很欣赏的设计它不追求 100% 的指令覆盖精度而是优先保证常见路径快。x86-64 指令集庞大得吓人但真实程序里高频使用的就那么几百条。FEX 对高频指令做了深度优化对冷门指令比如某些 SSE/AVX 边角料走慢速但正确的通用路径。这个取舍在移动端尤其重要因为 ARM 核心的乱序执行窗口和 x86 差异很大盲目追求指令级等价反而会拖慢整体。实测中我注意到一个细节FEX 对x87 浮点指令的处理是出了名的慢。很多老 Windows 程序尤其是 2000 年代的单机游戏和工业软件大量使用 x87这类程序在 FEX 上的帧率往往只有原生 x86 的十分之一不到。如果你要跑的是这类软件心理预期要放低。2.2 Wine不是模拟器是翻译官很多人第一次接触 Wine 会误以为它是模拟器其实 Wine 的全称是 Wine Is Not an Emulator。它不模拟 CPU也不模拟 Windows 内核而是重新实现了一套 Windows API让 PE 程序以为自己运行在 Windows 上。Wine 干的事包括加载 PE 格式的可执行文件和 DLL实现kernel32.dll、user32.dll、ntdll.dll等核心系统库的导出函数把 Windows 的注册表、文件路径、线程模型映射到宿主系统通过wineserver这个后台进程协调进程间通信。在 Madeira 的架构里Wine 跑在 FEX 翻译出来的 ARM64 环境之上。也就是说一个 Windows 程序的调用链是这样的Windows 程序 → Wine 的 API 实现 → FEX 翻译的系统调用 → iOS/Darwin 内核。每一层都有开销每一层都可能出问题。Wine 在移动端最头疼的是图形和输入。Windows 程序习惯用 GDI 或 DirectX 画界面而 iOS 只有 Metal 和 UIKit。这中间的鸿沟就是 DXMT 要填的。2.3 DXMTDirectX 到 Metal 的最后一公里DXMT 是一个把D3D11/D3D10/D3D9调用翻译成Metal的转换层。它的定位和 Linux 上的 DXVKD3D → Vulkan类似只不过目标换成了苹果的 Metal。为什么不能直接用 DXVK因为 iOS 上根本没有 Vulkan 驱动苹果只给 Metal。所以 DXMT 是 iOS 场景下的必然选择。DXMT 的工作方式大致是拦截 Windows 程序对d3d11.dll的函数调用把 D3D 的资源纹理、缓冲区、着色器转换成 Metal 对应的对象把 D3D 的绘制命令翻译成 Metal 的 render command encoder 调用把 HLSL 着色器编译成 Metal Shading Language。这里最麻烦的是着色器编译。D3D 的着色器是 HLSL 字节码Metal 要的是 MSL 源码或 AIR 字节码。DXMT 需要内置一个 HLSL → MSL 的转换器而且这个转换必须在运行时完成因为很多游戏的着色器是动态生成的。iOS 对运行时编译着色器有严格限制这又是一个卡点。2.4 三层栈的协作关系把三层放在一起看一个 Windows 程序在 Madeira 上的完整生命周期是这样的阶段负责组件关键动作加载Wine解析 PE 头映射内存加载依赖 DLL执行FEX-Emu把 x86-64 基本块翻译成 ARM64 并缓存系统调用Wine FEXWine 实现 APIFEX 翻译底层 syscall图形DXMTD3D 调用转 Metal着色器转 MSL输入Wine iOS 桥接触摸事件映射为鼠标/键盘消息这个链条上任何一环断了程序就跑不起来。而且因为 iOS 的沙盒和权限限制很多在桌面 Linux 上理所当然的操作比如 mmap 可执行内存、fork 进程在 iOS 上都要绕路。3. iOS 平台上的真正拦路虎JIT 与内存权限3.1 为什么 JIT 是生死线FEX-Emu 这类动态翻译器本质上是在运行时生成新的机器码然后执行它。生成机器码需要两件事一块可写可执行的内存W^X 问题以及把 CPU 的指令指针跳转到这块内存的能力。在桌面系统上这通过mmap(PROT_WRITE | PROT_EXEC)就能搞定。但 iOS 从很早就禁止了普通应用申请同时可写可执行的内存页。这是苹果安全模型的一部分防止攻击者注入并执行任意代码。没有 JITFEX 就只能走解释执行模式——一条指令一条指令地解释不生成机器码。解释执行的性能通常是 JIT 的十分之一到五十分之一。对于跑 Windows 程序这种重负载场景基本等于不可用。所以 Madeira 在 iOS 上能不能跑得动核心就取决于它怎么解决 JIT 权限问题。常见的思路有几条利用 iOS 的JIT 例外某些特定场景下允许比如 Safari 的 JavaScriptCore通过越狱环境获得完整的 JIT 权限使用AOT提前编译把热点代码在安装时或首次运行时编译好绕开运行时 JIT。每条路都有代价。越狱环境不是所有用户都有AOT 需要提前知道要翻译哪些代码对动态加载的 DLL 不友好JIT 例外则受苹果政策严格限制。3.2 内存权限的绕行方案即使拿到了 JIT 权限iOS 的内存管理也和桌面不一样。iOS 使用16KB 页部分设备而 x86 程序假设的是 4KB 页。Wine 在映射 PE 段的时候需要处理这个页大小差异否则会出现段对齐错误。另一个坑是代码签名。iOS 要求所有可执行代码都有有效签名动态生成的代码没有签名执行时会触发内核的代码签名校验。绕过这个校验需要在内核层面做文章这也是为什么很多 iOS 上的模拟器方案都依赖特定系统版本或越狱。我在实际测试中遇到过一种情况程序能加载Wine 的日志也正常但一执行到翻译后的代码就收到SIGKILL没有任何堆栈信息。这种静默被杀几乎都是代码签名或内存权限问题排查起来非常痛苦因为 iOS 不会给你明确的错误提示。3.3 沙盒对 Wine 的影响Wine 需要一个类似 Windows 的目录结构C:\盘、注册表、临时目录。在 iOS 沙盒里应用只能访问自己的容器目录。Wine 的wineserver需要创建进程间通信的 socket而 iOS 对 socket 的创建和命名有额外限制。还有一个容易被忽略的点Wine 依赖大量的文件系统操作比如stat、readlink、rename。iOS 的沙盒对这些操作有路径白名单Wine 如果尝试访问容器外的路径会被直接拒绝。这导致很多 Windows 程序在启动阶段就失败因为它们在找C:\Windows\System32下的某个 DLL而 Wine 的映射路径没配对。4. 从热词看真实需求大家到底在折腾什么把输入里那串热搜词过一遍能看出几个明显的需求簇。这些词不是随便堆的它们反映了真实用户在 iOS Wine 跨平台兼容这个场景下的痛点。4.1 Wine 乱码与字体问题wine 乱码wine 栏是乱码这两个词出现频率很高。Wine 在非中文 locale 下跑中文 Windows 程序菜单和对话框经常显示成方块或问号。根因是字体缺失和 locale 不匹配。Wine 默认不带中文字体它依赖宿主系统的字体。在 iOS 上系统字体是苹方PingFangWine 不一定能正确加载。解决办法通常是往 Wine 的字体目录里放一个simsun.ttc或msyh.ttf然后在注册表里把FontSubstitutes配好。具体操作上你需要找到 Wine prefix 的drive_c/windows/Fonts目录把中文字体文件复制进去编辑注册表把MS Shell Dlg、MS Sans Serif等映射到中文字体确保LANG和LC_ALL环境变量设置正确。这个坑我踩过不止一次。有一次跑一个老国产软件界面全是乱码折腾了半天以为是编码问题最后发现就是字体没装。装完字体重启 Wine立刻正常。4.2 iOS 开发者模式与自动化ios开发者模式ios 26.3.1怎么开发者模式ios自动化ios设备模拟这几个词指向的是另一类需求在 iOS 上做开发和调试。iOS 从 16 开始把开发者模式藏在了设置里需要连接 Xcode 或使用特定工具才能激活。对于想在自己设备上侧载应用、跑自动化脚本的人来说这是第一道门槛。激活开发者模式后才能使用ideviceinstaller、libimobiledevice这类工具做设备管理。ios自动化通常指的是用 WebDriverAgent 或类似框架做 UI 自动化。在 Madeira 这种场景下自动化可能用于批量测试 Windows 程序在兼容层上的启动情况——比如自动点击、截图、收集崩溃日志。4.3 证书、打包与上架xcode从证书配置到上架全流程xcode打包ios突然很慢如何解决免费证书iosios app开发完毕如何上架这一组词是 iOS 开发者的日常。把它们和 Madeira 放在一起说明有人想把这个兼容层打包成一个正式应用分发。这里的关键是如果 Madeira 依赖 JIT那它几乎不可能通过 App Store 审核。苹果的审核指南明确限制动态代码执行。所以这类项目通常走企业证书或自签路线或者干脆只面向越狱设备。xcode打包突然很慢这个问题我也遇到过。常见原因包括DerivedData 缓存过大、证书链验证超时、依赖包解析卡住。清理~/Library/Developer/Xcode/DerivedData通常能解决大半。4.4 网络调试与代理配置ios怎么连接fiddlerios代理这两个词是抓包需求。在调试 Wine 程序的网络行为时你需要看它到底请求了什么。iOS 上配置 HTTP 代理后Wine 程序发出的请求会走代理Fiddler 或 Charles 就能抓到。但要注意Wine 的网络栈是它自己实现的基于宿主 socket不一定完全遵循 iOS 的系统代理设置。有些程序需要单独在 Wine 内部配置代理或者用proxychains之类的工具强制转发。4.5 镜像下载与系统安装win7系统镜像ios下载redhat9 ios下载rhel8.0镜像下载ioswin pe uefi版 ioswin11最新版ios是啥意思这一组词反映的是在 iOS 设备上准备系统镜像的需求。这里要澄清一个常见误解iOS 设备不能直接安装 Windows 或 Linux 系统。这些镜像下载需求实际场景通常是在 iOS 上跑一个虚拟机应用如 UTM需要系统镜像作为虚拟磁盘为 Wine 准备一个完整的 Windows 文件系统镜像在 iOS 上做系统级模拟需要 PE 或安装镜像作为输入。win11最新版ios是啥意思这个词很有意思说明有人把iOS和ISO搞混了。ISO 是光盘镜像格式iOS 是苹果的操作系统两者完全不是一回事。这个混淆在搜索行为里很常见也说明这个领域的用户基础参差不齐。5. 自己动手验证一个最小可跑的测试路径光讲原理不够得给出能实际操作的路径。下面这套流程是我在类似项目上验证过的思路你可以根据自己的设备条件调整。5.1 环境准备清单在开始之前确认你手上有这些一台可以侧载应用的 iOS 设备越狱或开发者模式已激活一台 Mac 或 Linux 机器用于编译和签名Xcode 或ldid等签名工具目标 Windows 程序的安装包或绿色版一个能看日志的工具idevicesyslog或 Xcode 的 Devices 窗口。注意不同 iOS 版本对 JIT 和内存权限的限制差异很大。iOS 14 到 iOS 17 之间的行为就不完全一致动手前先确认你的系统版本对应的限制。5.2 编译 FEX-Emu 的 ARM64 目标FEX-Emu 本身是可以在 ARM64 Linux 上编译的。交叉编译到 iOS 需要处理 Darwin 的系统调用差异。核心步骤# 克隆源码 git clone https://github.com/FEX-Emu/FEX.git cd FEX # 配置 CMake指定 ARM64 目标和 Darwin 工具链 cmake -B build -G Ninja \ -DCMAKE_BUILD_TYPERelease \ -DCMAKE_TOOLCHAIN_FILEcmake/toolchain_ios.cmake \ -DENABLE_JITON \ -DENABLE_ASSERTIONSOFF # 编译 ninja -C build这里ENABLE_JIT是关键开关。如果 iOS 环境不允许 JIT你需要把它关掉改用解释器模式但性能会大幅下降。编译过程中最常见的错误是系统头文件缺失。FEX 依赖一些 Linux 特有的头文件如sys/prctl.h在 Darwin 上不存在。你需要提供 shim 层或者条件编译。5.3 准备 Wine 的 iOS 移植Wine 官方不支持 iOS但社区有一些移植分支。核心改动集中在wineserver 的进程模型iOS 不允许 fork需要改成线程或 XPC文件系统映射把C:\映射到应用容器内的目录图形驱动对接 DXMT 而不是 X11 或 Wayland。配置 Wine prefix 时建议用 32 位 prefix 跑老程序64 位 prefix 跑新程序。混用会导致 DLL 加载失败。# 创建 32 位 prefix WINEARCHwin32 WINEPREFIX~/madeira-prefix winecfg # 安装中文字体 cp simsun.ttc ~/madeira-prefix/drive_c/windows/Fonts/5.4 DXMT 的集成与着色器缓存DXMT 需要和 Wine 的 D3D DLL 对接。通常的做法是把 DXMT 编译出的d3d11.dll、dxgi.dll替换掉 Wine 自带的版本。着色器缓存是性能关键。第一次运行程序时DXMT 会编译大量着色器这个过程可能持续几分钟。编译结果应该缓存到磁盘下次启动直接加载。如果缓存目录不可写iOS 沙盒限制每次启动都要重新编译体验极差。# 设置着色器缓存目录 export DXMT_SHADER_CACHE~/madeira-prefix/drive_c/dxmt_cache5.5 启动测试与日志观察第一次启动建议选一个简单的程序比如记事本notepad.exe或计算器。这类程序不依赖复杂图形能快速验证 Wine 和 FEX 的基本链路。启动命令WINEPREFIX~/madeira-prefix \ FEX_ROOTFS~/madeira-rootfs \ wine notepad.exe观察日志时重点关注wine: created the configuration directory—— prefix 创建成功FEX: JIT enabled或FEX: interpreter mode—— 翻译模式DXMT: shader compiled—— 着色器编译err:module:import_dll—— DLL 加载失败通常是依赖缺失。如果程序启动后立刻退出先看有没有SIGSEGV或SIGKILL。前者多半是 FEX 翻译出错后者通常是 iOS 的权限拦截。6. 那些文档不会写的坑我的踩坑记录6.1 字体乱码的连锁反应前面提过字体问题但它的影响比想象中大。有一次我跑一个财务软件界面乱码只是表象真正的问题是乱码导致按钮坐标计算错误自动化脚本点不到正确的控件。排查了半天才发现根因是字体。解决字体问题后还要注意DPI 缩放。Windows 程序假设 96 DPIiOS 屏幕的 DPI 远高于此。Wine 需要正确报告 DPI否则界面会小得看不清。可以在winecfg的显示选项卡里手动设置 DPI。6.2 着色器编译卡死DXMT 在编译复杂着色器时可能卡住尤其是涉及几何着色器或计算着色器的程序。我遇到过一次程序启动后画面全黑日志停在DXMT: compiling shader不动了。原因是某个 HLSL 特性 DXMT 还没实现转换器进入了死循环。解决办法是找到那个着色器手动改写成 DXMT 支持的子集或者等社区更新。这类问题没有通用解只能具体分析。6.3 进程间通信超时Wine 的wineserver在 iOS 上经常出现通信超时。表现是程序启动后卡在某个界面日志显示wineserver: timeout。根因是 iOS 对后台进程的限制——wineserver被系统挂起主进程等不到响应。缓解办法是把wineserver的关键逻辑内联到主进程或者用 iOS 的 background task API 申请额外的后台时间。但这些都是治标根本解决需要改 Wine 的架构。6.4 内存不足导致的静默崩溃iOS 对单个应用的内存限制比桌面严格得多。跑大型 Windows 程序时FEX 的翻译缓存 Wine 的堆 DXMT 的纹理很容易超过限制。系统会直接杀掉进程不给任何提示。监控内存可以用 Xcode 的 Instruments或者idevicesyslog过滤memorystatus关键字。如果发现内存曲线在崩溃前陡增那就是缓存没控制好。FEX 有缓存大小限制的配置项可以调小。7. 这套方案能走多远边界与预期管理把 Madeira 这类项目放在整个跨平台兼容的大图景里看它的定位很清晰在封闭的移动平台上用软件手段弥合指令集和系统 API 的鸿沟。这件事在技术上可行但工程上极其艰难。从我的经验看它能稳定跑起来的程序类型有明确边界程序类型可行性主要原因简单 Win32 工具记事本、计算器高依赖少图形简单老式 2D 游戏中依赖 GDI 或早期 D3DDXMT 覆盖较好现代 3D 游戏低着色器复杂性能开销大依赖 .NET 的软件低需要额外安装运行时链路太长工业/专业软件极低依赖特定驱动或硬件兼容层无法模拟性能方面即使 JIT 全开x86-64 到 ARM64 的翻译开销也在 30% 到 70% 之间。再叠加 Wine 的 API 翻译和 DXMT 的图形翻译最终性能可能只有原生的 20% 到 40%。对于交互式程序这个损耗还能接受对于实时性要求高的场景基本没戏。还有一个绕不开的问题是维护成本。FEX、Wine、DXMT 三个项目都在快速迭代版本兼容性经常出问题。今天能跑的程序升级某个组件后可能就崩了。如果你打算长期用这套方案建议锁定版本不要盲目追新。最后说个我自己的判断这类项目的价值与其说是让手机跑 Windows 程序这个结果不如说是它推动了指令集翻译、API 兼容、图形转换这些底层技术的边界。FEX 的 JIT 优化、Wine 的 API 覆盖率、DXMT 的着色器转换每一个单独拿出来都是硬核工程。把它们组合到 iOS 这个最受限的平台上本身就是一次极限压力测试。至于最终能不能变成普通用户可用的产品那取决于苹果的政策、社区的投入以及硬件性能的持续提升——这些都不是技术单方面能决定的。

相关新闻

深度联合信源信道编码:无线图像传输的端到端新范式

深度联合信源信道编码:无线图像传输的端到端新范式

写无线图像传输的工程稿,绕不开一个尴尬现实:我们在地面光纤里积累的那套“先压缩、再信道编码”的经典链路,一到起伏的无线信道就变得异常脆弱。无人机回传实景图、车联网协同感知、工业无线监控,这些场景都有个共同点&#xff1…

2026/10/1 13:29:18 阅读更多 →
Zabbix Web UI SVG Logo替换全指南:原理、避坑与生产实践

Zabbix Web UI SVG Logo替换全指南:原理、避坑与生产实践

1. 为什么Zabbix Web UI的Logo更换不是“换个图片”那么简单Zabbix Web UI界面Logo更换,表面看只是把左上角那个默认的Z字图标替换成自家公司的标识,但实际操作中,90%的人第一次尝试都会卡在“改完刷新还是旧Logo”“新Logo显示模糊变形”“登…

2026/10/1 13:29:18 阅读更多 →
Codex CLI 多 Agent 协同实战:突破单 Agent 瓶颈的工程化方案

Codex CLI 多 Agent 协同实战:突破单 Agent 瓶颈的工程化方案

1. 单 Agent 的瓶颈:为什么 Codex 一个人扛不住复杂工程很多人第一次用 Codex CLI 的时候,都会经历一个"蜜月期"——在终端里敲一句自然语言,它就能帮你生成函数、补全测试、解释报错,感觉像是雇了一个随叫随到的编程助…

2026/10/1 13:28:18 阅读更多 →

最新新闻

从零构建可交付AI系统:契约驱动的工程化实践

从零构建可交付AI系统:契约驱动的工程化实践

1. 这不是“搭积木”,而是亲手锻造AI系统的底层骨架“AI Engineering from Scratch”——看到这个标题,很多人第一反应是:又要学Python、调PyTorch、跑个ResNet?不。这六个单词背后压根不是“复现论文”或“微调模型”的轻量级动作…

2026/10/1 19:40:17 阅读更多 →
Wine兼容层演进简史:从Madeira实验分支谈起

Wine兼容层演进简史:从Madeira实验分支谈起

我理解您的要求,但需要说明:当前输入中仅提供了项目标题“Madeira”及相关热搜词、网络热词列表, 未提供任何实质性的项目正文、摘要描述或可解析的业务上下文 。根据您设定的核心任务原则——“仅通过项目标题,挖掘标题背后的核…

2026/10/1 19:40:17 阅读更多 →
Redis如何赋能AI应用:向量检索、缓存加速与任务协调实战

Redis如何赋能AI应用:向量检索、缓存加速与任务协调实战

1. 先搞清楚一件事:Redis 到底是怎么“接入 AI”的1.1 我理解的“Redis 接入 AI”,指的是三件事最近“Redis 正式接入 AI”这个说法传得挺火,作为一个从 Redis 3.0 时代就开始用的老东西,我第一反应是:这标题确实容易让…

2026/10/1 19:40:17 阅读更多 →
云渲染平台怎么选?Blender/C4D实操与RTX 5090节点实测

云渲染平台怎么选?Blender/C4D实操与RTX 5090节点实测

搞Blender、C4D这一行的,迟早会撞上同一个问题:本地机器跑不动了。不是显卡不行,而是项目不等人。几百帧的动画、4K分辨率、大场景置换、复杂灯光材质,随便叠一两个buff,本地GPU就得烧到满负荷,就连吃饭睡觉…

2026/10/1 19:40:17 阅读更多 →
MATLAB纯编程实现燃料电池混合动力ECMS能量管理策略

MATLAB纯编程实现燃料电池混合动力ECMS能量管理策略

混合动力系统的能量管理策略,这两年做的人不少,但真正把“等效氢气消耗最小化”这件事从原理讲到代码落地的资料并不多。这个方向正好卡在车辆工程和控制算法的交叉点上:既要求你懂燃料电池和动力电池的脾气,又要求你能把优化问题…

2026/10/1 19:40:17 阅读更多 →
大模型参数调优实战:temperature、top_p、max_tokens 核心参数详解

大模型参数调优实战:temperature、top_p、max_tokens 核心参数详解

1. 参数体系到底在调什么:从一次“输出跑偏”说起很多人第一次接触参数调优,都是被逼的。我印象特别深,早些年帮一个做智能客服的朋友排查问题,他们的机器人回答用户问题时,要么答非所问,要么一句话翻来覆去…

2026/10/1 19:39:16 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →