IT资源栈互联网海量AI资源栈
  • 首页
  • AI
  • 前沿
  • 专题
  • 碎片
  • 架构
  • 实战
  • 安全
  • 生活
  • 工具
  • 管理
  • 标签云
  • 文章存档
Hi, 请登录     我要注册     找回密码

雪晶保存技术:从自然奇观到独特饰品

分类:前沿 阅读() 评论(0)

本文介绍了如何利用化学方法保存雪晶形状,将其转化为独特的饰品。文章中提及的Formvar方法以及雪晶保存的过程,不仅展示了自然界的奇妙,也为科技与艺术的结合提供了新的思路。

原文链接:Hacker News

C code80.ai · AI 编码 API 聚合 Claude / GPT 多模型统一接入,稳定不限速,按量计费,几行配置接入 Claude Code。 了解一下 ›
Formvar方法独特饰品科技与艺术雪晶保存
上一篇
埃塞俄比亚火山12千年后首次喷发
下一篇
Mirror_bridge:C++反射生成多语言绑定工具

相关推荐

  • 突破 x86-64 指令限制:利用长调用实现 Linux 系统调用的高效插桩
  • 【经典教程】仅百行 Python 代码实现 Lisp 解释器,揭秘编程语言底层逻辑
  • Claude Pro账号风控现状:正价订阅反代面临封号风险吗?
  • 经典BASIC游戏重焕新生:GitHub项目利用AI工具将其移植至C语言
  • VS Code 官方支持自定义 AI 模型:Copilot 新增 BYOK 能力,开发者可自由接入 API
  • 用户热议GLM编码表现,探讨其学术写作能力是否比肩Claude Opus
  • GitHub 热项:全图解零基础 AI 通识书上线,以漫画形式拆解大模型原理
  • Anthropic将于7月8日强制执行身份验证,以访问部分高阶能力

抢沙发

评论前必须登录!

立即登录   注册

易安
易安作者
长期关注 AI Agent、软件工程、自动化工作流与个人生产力系统。喜欢把复杂技术拆成普通人也能上手的实践教程,也记录自己在工具链、编程、内容创作和知识管理上的真实折腾。
  • 分享 AI 工具、Agent 工作流与提示词工程的实战经验
  • 记录从想法到产品、从代码到上线的完整实践过程
  • 关注普通人如何用 AI 放大能力,而不是被工具牵着走
阅读作者的全部文章 ›
文章目录

    置顶推荐

    • 2026最新Claude Code国内上手教程 从安装到第一次跑通完整流程一次讲清2026-05-31
    • OpenAI Codex CLI 新手指南:安装、审批模式和项目规则2026-05-25
    • Claude Code 国内使用完整教程 从 API Key 到三端安装这次一次配明白2026-05-14
    • codex国内编码远超claudecode,2026最新Codex国内保姆级入门教程2026-05-05
    • 2026最新Claude Code新手避坑指南 第一次使用最容易卡住的10个问题2026-04-17
    • 2026最新Claude Code订阅怎么选 免费版ProMaxTeamAPI一篇讲清2026-04-17
    • Codex 国内怎么用才省事:从官方账号到 Code80 CLI,一篇讲清楚稳定玩法2026-04-02
    • Claude 国内怎么用最省事:官网订阅、直连平台和第三方入口2026-04-02
    Code80 · AI 编程巴士

    前沿哨所

    • 突破 x86-64 指令限制:利用长调用实现 Linux 系统调用的高效插桩

      本文深入探讨了在 Linux x86-64 环境下对系统调用进行插桩的技术难点与创新方案。由于系统调用指令仅占 2 字节,而标准跳转指令通常需要 5 字节以上,直接在二进制层面替换指令极具挑战。文章首先分析了现有主流方案的局限性:E9Patch 的“指令拼凑”法受限于指令分布,而 zpoline 方法则需要映射低地址内存,存在安全风险并破坏了硬件级的空指针保护。针对这些问题,作者提出了一种基于 x86 分段机制的“长调用”替代技术。该技术利用 6 字节的内存间接长调用指令,配合在目标内存区域填充特定的重复字节模式作为“垫脚石”,实现了将控制流重定向到处理程序的目标。这种方法不仅避免了在零页映射代码的安全隐患,还通过虚拟内存技巧优化了物理内存占用。虽然该方案在实际通用性上仍受限于指令编码的分布规律,但其对 x86 指令集底层特性的深度挖掘为高性能系统监控工具的开发提供了全新的思路。

      事件分析

      该技术解析展示了在成熟且受限的 x86-64 指令集架构中,如何通过对陈旧特性(如分段与长调用)的重新发现来解决现代软件工程难题。在技术上,这种方法提供了一种比信号捕获更轻量、比零页映射更安全的插桩手段,能有效降低动态二进制分析工具的性能损耗。从产业影响来看,这类底层优化对于构建高精度的性能分析器、安全沙箱及模糊测试工具至关重要,有助于在不牺牲安全性的前提下实现细粒度的系统监控。尽管其实际部署受到编译器多样性和指令对齐随机性的制约,但这种探索拓宽了二进制工程的技术边界,未来可能催生更稳定的 Linux 用户态监控框架。

      💡 核心观点:利用 x86 分段机制的遗留特性,巧妙规避了传统插桩方案对零页内存的依赖,为底层系统监控提供了极具启发性的新路径。

      原文链接:Hacker News

      1天前
    • 【经典教程】仅百行 Python 代码实现 Lisp 解释器,揭秘编程语言底层逻辑

      本文由计算机科学家彼得·诺维格撰写,是一篇关于如何使用 Python 语言从零构建 Scheme 方言解释器的经典技术教程。文章旨在通过构建名为 Lispy 的微型解释器,向开发者展示编程语言实现的核心原理,即从字符串解析到抽象语法树(AST),再到语义执行的全过程。教程首先定义了基本的语法和语义规则,区分了原子表达式与列表表达式,并逐步实现了词法分析和语法分析函数。在执行层面,文章详细讲解了如何通过 eval 函数处理变量引用、条件判断、函数定义以及 lambda 表达式。为了实现词法作用域,作者引入了环境模型,通过将局部环境嵌套在全局环境中,解决了变量查找和闭包的问题。最终实现的 Lispy 解释器仅包含 117 行核心代码,却支持高阶函数、递归和复杂的数学运算。文章强调,理解解释器的工作原理是掌握计算机科学“麦克斯韦方程组”的关键,能帮助开发者从根本上理解代码如何在硬件之上运作。

      事件分析

      虽然该教程发布时间较早,但其作为计算机科学领域的经典教材,在当前 AI 与大模型时代仍具极高的技术参考价值。文章深入浅出地解析了“代码即数据”的 Lisp 特性,这与现代大模型处理 Token 的逻辑有异曲同工之妙。特别是文中关于环境与闭包的实现原理,是理解 JavaScript 等现代语言以及构建复杂 AI Agent 规划系统的基石。对于开发者而言,手动构建解释器能帮助打破对高级语言的盲目依赖,深入理解语法树(AST)转换和运行时内存管理等底层机制。这种底层思维的训练,对于优化大模型推理性能、设计新的 AI 编排语言或开发开发者工具具有不可替代的指导意义。

      💡 核心观点:通过亲手构建 Lisp 解释器,开发者能够透过语法表象洞察软件的“第一性原理”,这是从代码使用者晋升为系统创造者的必经技术洗礼。

      原文链接:Hacker News

      1天前
    • Claude Pro账号风控现状:正价订阅反代面临封号风险吗?

      近期在技术社区 Linux.do 上,关于 Claude Pro 账号在使用反向代理服务时的安全性引发了热烈讨论。讨论的核心议题在于:用户是否可以通过官方正价订阅 Claude Pro,并利用反向代理技术将模型接入第三方 AI 智能体应用,而不面临封号风险。据社区资深用户反馈,Anthropic 对不同等级订阅的账号风控策略存在显著差异。目前针对 Max 等高级订阅账号的检测机制较为严格,一旦检测到异常调用行为,封禁概率极高;相比之下,针对 Pro 订阅的常规用户,官方策略相对宽容。只要用户保持正价付费订阅状态,且网络 IP 地址切换频率不出现剧烈异常(即不进行频繁的跨地域跳变),账号被封禁的风险相对可控。回顾过往,Claude 官方曾明确禁止在非官方信用卡支付环境或非合规 API 调用渠道下使用服务,此前在特定低成本 API 服务爆火期间,官方曾进行过严厉的账户清洗。对于希望将 Claude 模型能力集成到个人智能体或工作流中的开发者而言,这一现状意味着虽然存在技术风险,但通过正规付费途径并维护网络环境稳定性,可以在一定程度上规避封号危机。此次讨论反映了 AI 模型访问渠道与官方风控政策之间的持续博弈,也揭示了开发者在使用非官方渠道时面临的合规挑战。

      事件分析

      此次事件折射出当前 AI 大模型服务中“账号租用”与“合规调用”之间的灰色地带。Anthropic 作为头部大模型厂商,其风控逻辑正从单一的支付渠道审查转向对调用行为和 IP 稳定性的综合判定。技术层面上,反代技术虽然能绕过区域限制,但极易触发基于指纹识别和流量特征的异常检测。Max 版本的严厉封杀与 Pro 版本的相对宽容,显示了厂商对不同付费等级用户采取的差异化风控策略。对于开发者社区而言,这种策略可能促使技术方案从“账号反代”转向合规的 API 接口调用,或者催生更稳定的代理中转服务。长远来看,随着厂商对流量监控技术的升级,依赖非官方渠道访问模型的不确定性将持续增加,合规性将是 AI 应用落地的核心门槛。

      💡 核心观点:Claude 差异化风控策略显现:反代虽有短期可行性,但合规化调用才是 AI 开发与商业应用长期生存的底层逻辑。

      原文链接:Linux.do

      1天前
    • Codex macOS code_sign_clone 占几十 GB 磁盘: 真相与清理

      如果你在搜 com.openai.codex.code_sign_clone,大概率不是想读一篇技术散文,而是磁盘莫名变小、du 之后翻到一堆奇怪的文件夹,想搞清楚这玩意儿是不是病毒、能不能删、删了会不会把 Codex.app 弄坏。先把答案给你:它不是报错,也不是被入侵,是 Codex 桌面应用每次启动都会留下来的临时目录,每次大约 1 GB 左右,从来不清理。

      更扎心一点:这是 Chromium 上游设计意图,OpenAI 把它继承下来但没补上”退出时清理”的那一步。所以这篇要做两件事——把 code_sign_clone 到底是什么讲清楚,再把一行清理命令交给你,外加聊一聊在 macOS 上长期跑 AI CLI 工具链需要注意的几个磁盘陷阱。

      先把误解纠正:code_sign_clone 不是错误码

      很多人第一次看到 com.openai.codex.code_sign_clone,是在某个磁盘清理工具的报告里,或者 du -sh ~ 之后看到 /private/var/folders/ 下出现一堆陌生目录。名字里又是 openai、又是 code_sign、又是 clone,怎么看都像权限错误或者签名校验失败。

      它其实就是一个临时目录的名字。完整路径长得像这样:

      /private/var/folders/xx/xxxxxxxxxxxxxxxxxxxxxxxxxx0000gn/X/com.openai.codex.code_sign_clone/code_sign_clone.XXXXXX/Codex.app
      

      里面是一个完整的 Codex.app:Info.plist、可执行文件、Frameworks、所有 Helper,应有尽有。整个目录大概 100 MB 到 1 GB 之间。Codex 每次启动都会生成一个新的,旧的不会被删。如果你装了 auto-update 又长期不重启 macOS,这个目录数能从 5 个滚到 60 个,磁盘很容易就被吃掉几十 GB。

      所以没有任何”错误”发生。它的英文字面意思已经写清楚了:code sign clone,”代码签名克隆”。但这不是失败的克隆,而是一次主动复制 + 保留签名状态的正常操作。

      它从哪儿来:Chromium 的 App Bundle Clone 机制

      code_sign_clone 不是 OpenAI 发明的,它来自 Chromium 浏览器项目里一个叫 code_sign_clone_manager 的子模块。Chromium 引入这套机制的初衷,是为了解决一个非常具体的工程问题:当应用进程仍在跑、auto-updater 准备替换磁盘上的 .app bundle 时,怎么让正在跑的进程继续保持有效的代码签名?

      macOS 的签名校验既有静态的(启动时验 Info.plist + 可执行文件哈希),也有动态的(运行中校验载入的库、helper、子进程)。如果 updater 把旧的 .app 直接覆盖掉,正在跑的进程一旦触发任何动态校验——比如加载一个 Framework、spawn 一个 Helper——就会因为签名不匹配崩掉。

      Chromium 的解法是利用 APFS 的 clone 特性:在临时区克隆一份 .app(实际上是 hard link + 写时复制,几乎不占新空间,10 毫秒级完成),然后用这份 clone 跑业务。Updater 想换 .app 就换 .app,反正运行中的进程读的是 clone 路径,签名永远稳定。这个设计本身是漂亮的。

      Codex 桌面端是 Electron 应用,内核就是 Chromium,于是这套 clone 机制原封不动被继承下来。问题在 Codex 没接好 Chromium 留出来的清理钩子——没有在 quit 时调用 clone manager 的回收逻辑,也没有 atexit 注册。Chromium 浏览器自己关掉是会清的,Electron 套壳里多了一层生命周期,链路就断了。

      真实用户的现场:几十 GB 不是个段子

      如果你不信单次启动能留 1 GB,可以自己跑一行:

      du -sh /private/var/folders/*/X/com.openai.codex.code_sign_clone/* 2>/dev/null
      

      社区里报上来的数据基本都很难看。有人 35 个目录 35 GB,有人单一目录 1.2 GB,最夸张的一例是 62 GB——这位老兄装了 Codex 几个月,从不重启 mac,每天用 auto-update,几个月堆下来直接把 SSD 吃干净。

      可以叠的几个观察:

      • 100% 来自 Apple Silicon:Intel Mac 几乎没人报告,不是因为 Intel 用户少,是因为 Codex.app 主力分发就是 arm64,且 APFS clone 在 Apple Silicon 的 SSD 上更便宜,触发频率更高
      • macOS Sequoia 15.x 和 Tahoe 26.x 集中爆发:不是这两个版本的锅,是 Chromium M125+ 才引入这套 clone 策略,Codex 用的 Chromium 内核刚好是 M148,所以任何能跑 Codex 的 macOS 版本都会中招
      • 跟你装没装杀软、有没有开 SIP、Gatekeeper 配置无关:这个目录是 Codex 自己写的,签名状态正常,没有任何系统组件会去拦它,也不会主动清

      GitHub 上跟这件事相关的 issue 至少 5 个,其中 #25667、#27536、#27789、#28518、#26797 都是同一件事的不同复述。OpenAI 官方至今没有任何 maintainer 回应,最新一个被关掉只是因为标记成了”重复 issue”,没有 fix commit。

      一行清理命令

      直接给你能跑的:

      rm -rf /private/var/folders/*/X/com.openai.codex.code_sign_clone
      

      注意:

      • 路径里的 * 是必须的。/var/folders/ 下面是按用户哈希分桶的,不是固定路径
      • 删之前可以先 du -sh 看一眼省了多少,给自己一点心理安慰
      • 删完不需要重启,Codex 下次启动会重新生成一个新的(约 100-200 MB 起步,跑久了再涨)
      • 如果你用 zsh 且开了 nullglob,路径里 * 没匹配到东西不会报错,正常

      不放心的话可以两步走:先 ls 看清楚要删什么,再 rm:

      ls -lah /private/var/folders/*/X/com.openai.codex.code_sign_clone/
      rm -rf /private/var/folders/*/X/com.openai.codex.code_sign_clone
      

      不要去碰下面这些,跟 code_sign_clone 没关系,乱删会出问题:

      • /private/var/folders/*/T/ 下面任何东西(系统应用各种缓存全在这)
      • ~/Library/Application Support/Codex/(你的对话历史、配置)
      • ~/.codex/(CLI 的 token 和会话记录)
      • /Applications/Codex.app/ 本体

      为什么 OpenAI 至今没修

      这个问题第一次有人报上去是 2026 年 5 月,到现在两个月过去,OpenAI 团队连一句官方回应都没给。按它今年的版本节奏,几乎每周一个 release,但所有 release notes 里都没出现过 code_sign_clone、cleanup、temp directory 之类的字眼。我的猜测是这样:

      1. 它不是 P0:Codex 用户绝大多数是 dev 群体,磁盘量都不小,1 GB 一次的泄漏没到逼着你立刻处理的程度。社区自救一行 rm 就能解决,反推回去就是优先级压不上去
      2. 修起来要碰 Electron lifecycle 的脏区:Electron 应用关闭路径分主进程退出、Renderer 退出、Helper 退出三段,要在哪一段调清理才不卡用户操作,不是一行代码能搞定的事
      3. 真正的修复点可能在 Chromium 上游:Codex 团队不一定愿意 patch 自己的 Electron fork,更愿意等 Chromium / Electron 上游统一处理

      如果你想让这事推进得更快,去那个还 open 的 issue(27789 是最活跃的一个)点个 +1、贴一下你自己的 du 数据就够了。OpenAI 内部排优先级,多半也是看 reaction 数。

      一个很容易被忽视的副作用:备份和同步工具也跟着遭殃

      /private/var/folders/ 默认不在 Time Machine、Arq、Backblaze 的备份范围里——但iCloud Drive、Dropbox、OneDrive 在某些配置下会扫到。我见过有人发现 Dropbox 客户端 CPU 永远在 30%,排查半天才发现是 Codex 每天新生成的几 GB 临时文件被错配进了同步队列,后台一直在算 hash 看要不要传云端。

      这种二阶效应更难察觉,因为表象不是”磁盘满”而是”风扇响、CPU 高、电池掉得快”。如果你看到上述症状又恰好装了 Codex.app,先去 Console.app 看一眼是不是 bird(CloudKit)或同步客户端在频繁读写 /private/var/folders/。修法跟前面一样:清 clone 目录,并且在同步工具里把 /private/var/folders/ 加进排除清单。

      几个名字相近但完全无关的真问题

      经常有人把以下这些跟 code_sign_clone 混在一起,搜出来的修复方案胡乱套用,越搞越乱。这里划一下界线:

      1. CLI 启动报 “App is damaged” 或权限拒绝

      你装的是 codex CLI(不是 .app 桌面端),第一次跑就直接被 macOS Gatekeeper 拦了。这是 com.apple.quarantine 扩展属性的问题,跟 clone 机制无关。解法是:

      xattr -d com.apple.quarantine $(which codex)
      

      或者更彻底:

      xattr -dr com.apple.quarantine /opt/homebrew/bin/codex
      

      具体路径取决于你怎么装的。Homebrew 装在 Apple Silicon 上是 /opt/homebrew/bin/,Intel Mac 是 /usr/local/bin/。npm 全局装的话路径在 $(npm config get prefix)/bin/codex。

      2. codesign --remove-signature 不要乱用

      我看到有教程教大家用 codesign --remove-signature /Applications/Codex.app 来”修签名”。这跟 code_sign_clone 完全没关系,反而会把签名状态彻底破坏,下次 auto-update 失败、Helper 不能 spawn、CUA service 直接 SIGKILL。除非你知道自己在做什么(比如调试 entitlements),别碰这个命令。

      3. SkyComputerUseService、CUA Helper SIGKILL

      这是另一类完全不同的问题,跟 macOS 的 Launch Constraints 系统有关。如果你在 macOS 26.x(Tahoe)上跑 Codex 的 Computer Use 功能看到 SkyComputerUseService 或 com.openai.sky.CUAService 被 SIGKILL,那是 Apple 收紧了 Helper 的允许启动规则,需要 Codex 团队更新签名配置。社区里也有 issue 跟,跟磁盘泄漏不是同一件事。

      4. ~/.codex/ 越来越大

      CLI 模式下 ~/.codex/ 会存放对话历史、Session token、模型缓存。如果你高频用 Codex CLI,这个目录也会涨,但单位是 MB 不是 GB。要清的话直接进去看 sessions/ 和 cache/ 子目录,按时间删旧的,不会影响登录态。

      临时方案 vs 中期方案

      短期能做的:把这行加到你的 crontab 或 launchd plist 里,每天凌晨 3 点清一遍:

      0 3 * * * rm -rf /private/var/folders/*/X/com.openai.codex.code_sign_clone 2>/dev/null
      

      或者写成一个 .zshrc 别名,每次开终端的时候手动 cleancodex 一下:

      alias cleancodex='du -sh /private/var/folders/*/X/com.openai.codex.code_sign_clone/* 2>/dev/null; rm -rf /private/var/folders/*/X/com.openai.codex.code_sign_clone'
      

      如果你想做得更工程化一点,可以把这条命令放进 launchd .plist,让它跑得比 cron 更稳——cron 在睡眠状态下不会唤醒系统,launchd 会。StartCalendarInterval 设凌晨 3 点,LowPriorityIO 设 true,跑起来既不抢盘也不会被电量管理误杀。这套做法在自动化 AI 工具链运维上挺通用,我在 OpenClaw 自动化 Agent 运维实战:从 Cron 报错到系统性治理 里展开过一次完整的 cron → launchd 迁移踩坑记录,思路是一样的。

      中期能做的:

      • 关闭 Codex.app 的自动更新。Settings → General → Automatic Updates 关掉。这不会减少单次启动的克隆量,但能减少每次更新触发的额外克隆——auto-update 流程会先 clone 一份新版本,再 swap 旧版本,整套下来克隆数翻倍
      • 改用 Codex CLI。如果你的日常工作流不强依赖桌面端的 UI(编辑器集成、对话历史浏览),CLI 完全没有这个问题,因为 CLI 不是 Electron 应用,不走 Chromium 那套 clone 机制。Codex CLI 的本地部署可以参考 不等 Cursor 企业版:Codex CLI 本地部署完整实战。CLI 和桌面端在心智模型上其实是两套东西,Claude Code CLI 最新指令集:别再只会 /clear 了 这篇文章里聊过同类的 CLI 优先论:长期跑 AI 工具的人,CLI 永远比桌面端更省事、更可控、更可脚本化
      • 定期重启 macOS。/var/folders/ 在系统重启时会清掉一部分(按 purgeable space 规则),不靠谱但有用

      长期方案:等 OpenAI 在 Codex 的 Electron 主进程 quit 路径接好 clone manager 的清理调用。从历史经验看,这种”用户日常会撞但不影响核心功能”的 bug,OpenAI 修复周期通常在 3-6 个月。

      顺手看:macOS 上”clone-on-update”为什么成主流

      我顺着这件事去看了一圈,发现 macOS 桌面应用最近两年大量在用同一套模式:APFS clone + 临时目录跑业务 + 写时复制。Chrome、Edge、Discord、Slack、VS Code、Cursor,凡是基于 Electron 或 Chromium 的应用,几乎都引入了类似机制。

      这件事还有一段前情。早年 macOS 桌面应用做”无感更新”,主流方案是 Sparkle 框架——一个第三方更新库,原理是下载新版 dmg/zip、退出当前应用、解压覆盖、重启。Sparkle 体验已经不错,但它的核心矛盾是必须退出当前应用。对短任务工具问题不大,对长会话型应用(浏览器、IDE、IM)就要命:你正在跟 AI 对话到一半,应用提示要重启更新,体验上是个明显的中断。Chromium 这套 clone-on-update 是为了把”必须退出”这一步也去掉,让更新对用户彻底无感。我之前在 Telegram macOS 安装踩坑全记录 里也聊过类似的更新策略对比,可以看到不同应用为了”无感更新”做了多少奇技淫巧。

      这本质上是为了解决一个产品决策矛盾:

      • 用户希望应用更新无感、不打断当前操作
      • 但 macOS 签名校验要求运行中的进程二进制不能被替换

      APFS 的 clone 是个非常便宜的原语(10 毫秒级别、不消耗额外块空间),所以这套模式天然适合 macOS。问题是 macOS 系统层没有提供”我克隆出来的临时副本什么时候该清”的生命周期标记。每个应用都得自己接 atexit、自己处理崩溃恢复,于是泄漏是普遍现象,只是程度不同。

      我手头那台用了一年的 M2 MacBook,跑 du -sh /private/var/folders/*/X/ 一下出来 12 GB,里面有 Codex 的 1 GB,有 Cursor 的 800 MB,有 Discord 的几百 MB,剩下都是各种 Helper 进程的临时缓存。这不是 Codex 独有的坑,是整个 Electron 生态在 macOS 上的通病。Codex 只是因为单次克隆体量更大、更新更频繁,被先骂出圈。

      在 macOS 上长期跑 AI CLI 工具链需要注意的事

      借这次的事讲两句更系统的看法。如果你在 macOS 上长期用 Codex、Claude Code、Cursor、Cline 这一类工具,会发现磁盘消耗远比想象中快。原因不止 code_sign_clone:

      • 每个 CLI 都有自己的 cache、log、session。~/.codex/、~/.claude/、~/.cursor-server/ 等等,加起来很容易上 GB
      • 依赖装在 node_modules / .venv 里。如果你给不同项目都装 @anthropic-ai/claude-code 全家桶,本地 node_modules 加起来非常恐怖
      • Electron 桌面端的 cache。~/Library/Application Support/ 下各 AI 应用动辄几百 MB 起步
      • 模型权重不算少。本地跑 Ollama 一个 70B 模型就是 40 GB,多装几个能瞬间把 SSD 干掉

      一些可参考的实践:

      • 用 Mac 磁盘清理工具 定期审计,看清楚哪些目录在涨,再有针对性地清
      • AI 工具链管理上,Codex CLI 的全栈实战可以参考 Codex CLI 完整入门,里面包含安装、工作流、跟 Claude Code 协同
      • 想看 Codex 和 Claude Code 的设计对比,Plugin 这一层:Codex 和 Anthropic 的新打包方式 是个不错的切入点;模型层的横向比较可以看 Opus 4.6 vs GPT-5.3-Codex:同一晚的两条路线
      • Codex 在工程化上的几个亮点,比如执行历史里自动找补丁的能力,可以看 Codex 在自己的执行历史里找补丁 和 OpenAI Codex 现已支持录制工作流并自动生成可复用技能
      • 如果你主力 Linux,但偶尔跑 macOS 验证,权限和沙箱模型差异比较大,可以参考 Linux 效率指南:解锁 Claude/Codex CLI 最高权限以绕过沙箱限制

      macOS 排障思路:磁盘异常的几个常见根因

      不光是 Codex,整个 macOS 工具链上磁盘异常的根因基本就那么几类,我按照踩过的频次排个序:

      1. Electron 应用的临时 clone——也就是这次的 code_sign_clone 一类,1-50 GB 量级
      2. Homebrew 的依赖混乱——升级链路里某个老依赖没清,新依赖又装了一份。这种问题我在 OpenClaw 在 macOS 突然”全挂”排障实录:Homebrew 动态库 ABI 漂移 里详细写过,本质是 brew 的依赖管理在多个大版本切换时容易残留
      3. 本地模型权重忘记清——Ollama、LM Studio、MLX 跑过的模型不会自动清理。彻底卸载 macOS 上的 Ollama 里有一份手动清理路径列表
      4. node_modules 累积——尤其是 CLI 工具全局装时,多次升级会留下旧版本副本
      5. iCloud Drive 本地缓存——这是另一类很难察觉的,单文件几百 MB,攒起来惊人

      排查节奏一般是这样:先 df -h 看哪块满,再 du -sh /* 找大头,再往下逐层 du -sh dir/*。不要直接信桌面端的”关于本机 → 储存空间”,它经常把”其他”算得很离谱。

      写在最后

      code_sign_clone 这个名字看起来吓人,本质就是 Chromium 上游一套”App Bundle 克隆 + 写时复制”机制的副作用,Codex 桌面端是 Electron 套壳所以继承了它,只是没接好清理钩子。修复的事 OpenAI 还在拖,目前最有效的方案就是那行 rm -rf 命令,或者干脆挂到 cron 里。

      更大一层的看法是:Electron 把”跨平台桌面”做到了能用,但 macOS 这套生命周期 + 签名 + 临时目录的设计,本来就没有为”频繁热更新的 GUI 应用”做优化。这类磁盘泄漏未来还会反复出现在新的 AI 工具上,不是 Codex 独有。养成定期审计磁盘 + 用 Mac 磁盘清理工具 之类的工具盯一下大块异常增长的习惯,对长期跑 AI 工具链的人是个值得做的功课。

      回到工程审美的层面想:好的工具应该让用户感知不到自己的运行成本。一个每次启动悄悄写 1 GB 进 /var/folders/ 还不清的应用,技术上能跑,但工程心智上是不及格的。这种细节决定了一款工具是”能用一年的生产力工具”还是”装上吃灰一周就卸的玩具”。希望 Codex 团队尽快把这块补上——毕竟从 Codex CLI 完整入门 看,整个 Codex 产品线在能力上确实是顶尖的,缺这一脚拼图太可惜。

      如果你想顺着这条线继续看 AI 工具的工程化,Claude Code 在做减法 和 Agent Harness 到底是什么?万字入门 是两篇值得读的。前一篇讲产品收敛的思路,后一篇讲怎么把 AI 工具组装成可以自己跑的系统。再往前一步,从写 Prompt 到写 Loop 讲的是从对话式工具往循环式 Agent 的过渡——这一波 AI 工具链整体的演化方向,跟磁盘泄漏这种细节看起来不挨着,但都是同一个母题:工具的工程心智到不到位。

      1天前
    • Codex CLI Intel Mac 安装指南:版本、Node 与 Rosetta

      GSC 后台看到一个搜索词,叫”codex mac intel 版本”。84 次曝光,0 次点击。点不进来,是因为搜的人想要一个确定答案:我这台 Intel Mac,到底能不能跑 Codex?

      答案要拆成两半。Codex CLI 能。Codex Desktop App 不能。

      下面这篇把这条线讲清楚,包含三条安装路径、Node 版本陷阱、7 个常见报错、以及一份「我应不应该死磕 Desktop」的判断表。

      先说结论

      把上面那句话再展开一层:

      • Codex CLI:OpenAI 官方在 GitHub Release 同时发布 codex-x86_64-apple-darwin.tar.gz 和 codex-aarch64-apple-darwin.tar.gz。前者就是给 Intel Mac 的原生 x86_64 二进制,跟 Apple Silicon 平起平坐。npm、Homebrew Cask、直接下二进制三条路都通。
      • Codex Desktop App:OpenAI 官方 GitHub issue #10410 里用户反馈在 Intel Mac 上跑出来是「禁止」图标根本启动不了。OpenAI 暂未给出 x86_64 build 时间表。社区有民间 fork 能 patch 起来跑,但要自己编译,下面单独讲。

      所以如果你只是想在 Intel Mac 上用 Codex 写代码、跑 agent、做修改 commit,装 CLI 就行。不需要等 Desktop,不需要折腾 Rosetta,更不需要换机器。

      你真正要解决的不是「有没有 Intel 版」,是装完之后那一连串 codex: command not found、EBADENGINE、EACCES 报错。这些跟 Intel 没关系,跟 Node 生态有关系。

      Intel Mac 在 AI 编程工具里被默认歧视了一段时间。Apple 自己 2020 年宣布转 Apple Silicon 后,2023 年底基本不再卖 Intel 新机型,整个开发者生态对 Intel 的优先级一路下滑。但 2017-2020 年那批 Intel MacBook Pro 还有大量在役机器,硬件性能跑 LLM CLI 客户端完全够。这就出现一个错位:硬件没问题,工具方的 release pipeline 把你忘了。

      具体到 Codex,OpenAI 在 CLI 这条线上没忘——CLI 用 Rust 写、cross compile 到 x86_64 几乎零成本,一开始就把 Intel binary 一起发出来了。Desktop App 那边是 Electron + native module + Code signing 三重负担,他们选了 Apple Silicon 先行。判断一下产品逻辑就知道,Intel Desktop 短期内不会有——OpenAI 没动机为一个被淘汰的硬件平台维护一条单独的 build pipeline。

      所以心态要调整:不要等 Desktop,就用 CLI。CLI 不是「过渡方案」,是 OpenAI 这条产品线对开发者的最终形态。

      CLI 和 Desktop App 不是一个东西

      很多人把这两个混为一谈,然后在搜索引擎里搜「Codex Intel Mac 版本」时被官方下载页劝退,以为 Intel Mac 整个生态都缺。

      它们其实是两个独立产品:

      产品 形态 macOS Intel macOS Apple Silicon Linux Windows
      Codex CLI 命令行(Rust 编译) 原生 x86_64 支持 原生 arm64 支持 支持 支持(PowerShell / WSL2)
      Codex Desktop App Electron GUI 不支持(issue #10410) 支持 不支持 不支持

      CLI 是用 Rust 写的,单文件可执行,启动快、占内存少、跨架构编译没难度。Desktop 是 Electron 套壳,里面绑了 Chromium runtime、Node 子进程、native modules,每个目标架构都要单独签名打包,OpenAI 目前只优先 arm64。

      判断标准很简单:如果你想要的是「在终端里跟模型聊天 + 改代码 + 跑 agent」,CLI 就够。Desktop 提供的多会话切换、可视化 diff、富文本编辑这些功能,CLI 也都有,只是文本界面。习惯 vim / tmux 的人甚至会觉得 CLI 更顺手。

      类似的产品分层在 Anthropic 那边也一样。Claude 也是先有 Desktop App 后有 Claude Code CLI,两者底层模型一致但前端形态不同,开发者实际上更依赖 CLI 这条线。CCswitch 实战那篇把 Claude 桌面版和 CLI 的角色拆得很清楚,对照看 Codex 这两条线会更直观。

      Intel Mac 的三条安装路径

      下面按「踩坑概率从低到高」排序。

      路径 1:Homebrew Cask(最省心)

      brew install --cask codex
      codex --version
      

      Homebrew 帮你处理了 PATH、签名公证、版本升级。前提是你装的 Homebrew 是 Intel 版(路径在 /usr/local/bin/brew,不是 Apple Silicon 的 /opt/homebrew/bin/brew)。

      升级也是 brew upgrade --cask codex 一行。99% 的 Intel Mac 用户走这条最稳。

      路径 2:npm(跟 Node 生态绑死的话)

      npm install -g @openai/codex
      codex --version
      

      注意包名是 @openai/codex,不是 codex。后者是别人的旧包,装完跑起来不是同一个东西。OpenAI 官方 issue #9356 就是因为模型有时候自己给用户写错升级命令导致的。

      走 npm 的代价是 Node 版本要求 22+,下一节细讲。

      路径 3:直接下二进制(没 Node、不想装 brew)

      去 GitHub Release 页面,找 codex-x86_64-apple-darwin.tar.gz:

      curl -L -o codex.tar.gz 
        https://github.com/openai/codex/releases/latest/download/codex-x86_64-apple-darwin.tar.gz
      tar -xzf codex.tar.gz
      sudo mv codex-x86_64-apple-darwin /usr/local/bin/codex
      codex --version
      

      第一次跑可能被 Gatekeeper 拦:「无法验证开发者」。xattr -d com.apple.quarantine /usr/local/bin/codex 一句话解决。

      这条路适合公司机器没有 Homebrew 权限、或者想在 Docker 镜像里 pin 死某个版本的人。

      Node 22 是硬要求,不是建议

      走 npm 安装时最容易翻车的一处。

      @openai/codex 在 package.json 里把 engines.node 写成 >=22。Node 22 是 2024 年 10 月发布的当前 LTS。如果你机器上的 Node 是 18 或 20,npm install -g @openai/codex 会抛:

      npm WARN EBADENGINE Unsupported engine {
        package: '@openai/[email protected]',
        required: { node: '>=22' },
        current:  { node: 'v20.11.0', npm: '10.2.4' }
      }
      

      EBADENGINE 只是 warning,npm 不会拒绝安装。但装完跑起来会在 ESM 解析、worker_threads 上随机崩。别为了省事忽略它。

      给 nvm 用户的提醒

      如果你用 nvm 管 Node 版本,npm 的 global prefix 是按 Node 版本隔离的:

      ~/.nvm/versions/node/v22.5.0/bin/codex   # 装在 22 上
      ~/.nvm/versions/node/v20.11.0/bin/codex  # 这里没东西
      

      所以下面这条流水线特别常见:你在 Node 22 下装了 codex,下次开终端 nvm 默认切到 18,输 codex 就 not found。

      固定 default 版本是唯一干净的解:

      nvm alias default 22
      nvm use default
      npm install -g @openai/codex
      

      在 ~/.zshrc 顶部加一句 nvm use default --silent,每个新终端都会先切到 22。

      不想折腾 nvm 的话,直接去 nodejs.org 下 Node 22 LTS 的 .pkg 装到系统路径 /usr/local/bin/node。所有 shell(包括 GUI 应用启动的非交互 shell)都能找到。

      装完跑不起来:7 个常见坑

      按出现频率排序。codex: command not found 是 80% 的情况。

      坑 1:PATH 没包含 npm global bin

      最常见的一个。npm 装完会提示 binary 写到了 /Users/you/.npm-global/bin/codex 这种位置,但 PATH 里根本没有这个目录。

      诊断:

      npm prefix -g
      echo $PATH | tr ':' 'n' | grep "$(npm prefix -g)/bin" || echo "NOT ON PATH"
      

      如果是 NOT ON PATH,在 ~/.zshrc 加:

      export PATH="$(npm prefix -g)/bin:$PATH"
      

      然后 source ~/.zshrc。

      注意 ~/.zshrc 只对交互 shell 生效。如果你想让 GUI 应用(比如某些 IDE 内置 terminal)也能找到 codex,要写到 ~/.zshenv 里。Apple Silicon 用户可能习惯把 PATH 设置放 .zprofile,Intel Mac 用户可以保持一致,但要确认 macOS 升级后这个文件还会被读。

      坑 2:sudo 装的,权限错乱

      如果你历史上 sudo npm install -g xxx 过,/usr/local/lib/node_modules 这个目录的 owner 可能混着 root 和你的账号。再装 codex 时报 EACCES: permission denied。

      干净解法是把全局 prefix 换到用户目录:

      mkdir -p ~/.npm-global
      npm config set prefix ~/.npm-global
      echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
      source ~/.zshrc
      npm install -g @openai/codex
      

      以后所有全局包都不需要 sudo。前阵子那个 Claude Opus 写 SQL 删库的故事就是个反例——把高权限的工具链跟 AI agent 混在 root 账号上跑,出事的时候追责都难。

      坑 3:Volta / asdf 用户的 shim 没生成

      Volta:

      volta install node@22
      volta install @openai/codex
      

      asdf:

      npm install -g @openai/codex
      asdf reshim nodejs
      

      asdf 不 reshim 的话,新装的 binary 在 ~/.asdf/installs/nodejs/22.x/.npm/bin 但 PATH 里挂的是 ~/.asdf/shims/,永远找不到。

      坑 4:装错了包名

      npm install -g codex 装的是 1999 年的某个 mock library,不是 OpenAI Codex。看清楚是 @openai/codex,带 scope。

      坑 5:装在了 Apple Silicon Homebrew 上

      如果你机器是双 Homebrew(很少见,迁移过的人会有):

      /usr/local/bin/brew       # Intel 版
      /opt/homebrew/bin/brew    # Apple Silicon 版(你机器不该有)
      

      Intel Mac 应该只有前者。后者是迁移工具误装的,brew 自己跑不起来,会把 PATH 搞乱。brew config 看一眼 prefix 在哪。

      坑 6:登录卡住,OAuth 回调到不了

      第一次跑 codex,会弹浏览器要求 ChatGPT 登录。Plus / Pro / Business / Edu / Enterprise 任一档都行,免费版不行。

      OAuth 回调走 http://127.0.0.1:<port>。如果你机器上有 Charles / Proxyman / VPN 客户端拦了 localhost,会卡住。临时关代理或者把 127.0.0.1 加白名单就好。Claude 接入 Charles 抓包那篇把 MCP 代理这条路讲透了,原理对 Codex 完全适用,排错时可以参考。

      坑 7:装完能跑,但 codex login 报 Unauthorized

      两种情况:

      1. 你账号没 Codex 权限:ChatGPT 免费版、Team 版的部分席位不带。去 ChatGPT 网页版看左下角能不能进 Codex 面板,进不去就是席位问题。
      2. 企业 SSO 没放行:你公司 ChatGPT Enterprise 管理员可能没开 Codex OAuth。让管理员去 Workspace 设置里勾上。

      最近 Anthropic 7 月 8 日要强制 Claude 走身份验证,细节在这里。两家厂商都在收紧 auth 层,这条路上以后还会出更多坑。

      Rosetta 在这条路上没你想的那么重要

      很多 Intel Mac 用户一遇到「装不上」就第一反应「是不是要开 Rosetta」。

      对 Codex CLI 来说,不需要。 x86_64 binary 是为 Intel CPU 原生编译的,根本不经 Rosetta 这层翻译。Rosetta 是给 Apple Silicon 跑 x86_64 binary 用的,方向反了。

      唯一需要 Rosetta 的场景:你是 Apple Silicon 用户,但因为某些 native module 还没 arm64 build,被迫用 x86_64 版本 Node。这种情况下你装的 Codex 也是走 Rosetta 翻译的 x86_64 路径,性能损失约 10-20%。但这是 Apple Silicon 的问题,不是 Intel 的。

      所以纯 Intel Mac 用户读到这一段可以放心:你装的是 native 二进制,没有性能损失。

      顺带澄清一个相关误解:Apple 在 2020 年发布的 Rosetta 2 跟初代 Rosetta(PowerPC → Intel)原理不同,是 AOT + JIT 混合翻译,性能损失通常在 20% 以内。但 Codex CLI 不需要碰这层,所以你 Intel Mac 上跑 codex 的实际性能就是 Intel CPU 的原生算力,跟同代 Apple Silicon 比当然慢一截,但对 CLI 客户端来说这点延迟根本感受不到——瓶颈在网络往返延迟和 OpenAI 推理服务的响应时间,不在你本地 CPU。

      也就是说,Intel Mac 跑 codex 唯一可感的性能瓶颈是网速,不是 CPU。这点跟跑本地 LLM 完全不同。

      升级、版本管理与回滚

      Codex CLI 迭代很快,2026 年这半年差不多每两周一个 release。三种安装路径升级命令各不一样:

      # Homebrew
      brew upgrade --cask codex
      
      # npm
      npm install -g @openai/codex@latest
      
      # 直接二进制:重新下载覆盖
      curl -L -o /tmp/codex.tar.gz 
        https://github.com/openai/codex/releases/latest/download/codex-x86_64-apple-darwin.tar.gz
      tar -xzf /tmp/codex.tar.gz -C /tmp
      sudo mv /tmp/codex-x86_64-apple-darwin /usr/local/bin/codex
      

      模型有时候会自己建议你跑 npm install -g codex(漏 scope),结果你装了个无关的旧 npm 包覆盖了 PATH。OpenAI 自己的 issue tracker 里就有这个反馈,对应 issue #9356。看到这种建议要警觉,升级命令一定要带 @openai/ 前缀。

      锁定版本

      生产环境或团队协作场景,建议锁版本:

      codex --version  # 假设当前是 0.62.1
      npm install -g @openai/[email protected]
      

      这样所有人跑的 codex 行为一致。新版本出来先在一个人机器上试,没问题再让团队跟进。

      回滚

      新版本如果带 regression,直接降回去:

      # 看历史版本
      npm view @openai/codex versions --json
      
      # 装指定版本
      npm install -g @openai/[email protected]
      

      Homebrew 的 cask 不太支持精确版本回滚,要回到旧版本得手动下载历史 release 包。这也是我推荐 npm 路径的一个原因:版本管理粒度更细。

      配置文件迁移

      升级一般不动 ~/.codex/config.toml,但偶尔大版本会引入 schema 变化。升级前备份一下:

      cp ~/.codex/config.toml ~/.codex/config.toml.bak.$(date +%Y%m%d)
      

      跑新版第一次会自动迁移,迁移失败的话拿备份还原。

      完整 setup 脚本:一台干净 Intel Mac 从零到能跑

      如果你拿到一台干净 Intel Mac,要从零搭起 Codex 开发环境,下面这个脚本能跑通:

      #!/usr/bin/env bash
      set -e
      
      # 1. 装 Homebrew(如果没装)
      if ! command -v brew >/dev/null 2>&1; then
        /bin/bash -c "$(curl -fsSL 
          https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
        echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
        eval "$(/usr/local/bin/brew shellenv)"
      fi
      
      # 2. 装 Node 22 LTS
      brew install node@22
      brew link --overwrite --force node@22
      
      # 3. 改 npm 全局 prefix 到用户目录(避免 sudo)
      mkdir -p ~/.npm-global
      npm config set prefix ~/.npm-global
      echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
      
      # 4. 装 Codex CLI
      export PATH="$HOME/.npm-global/bin:$PATH"
      npm install -g @openai/codex
      
      # 5. 验证
      codex --version
      
      # 6. 首次登录(会弹浏览器)
      codex login
      

      跑完之后 codex 命令应该可用。第一次跑会触发 ChatGPT OAuth 登录,注意账号必须是 Plus / Pro / Business / Edu / Enterprise 任一档,免费 ChatGPT 账号没有 Codex 权限。

      如果你不用 Homebrew,把第 1-2 步换成去 nodejs.org 下 Node 22 LTS 的 .pkg 装即可。后面 3-6 步通用。

      Git 配置不要忘

      Codex 会自动调 git 做 commit。如果你机器上 git 没配 user.name / user.email,commit 会失败:

      git config --global user.name "你的名字"
      git config --global user.email "你@example.com"
      

      这个坑很多人在「跑 codex 让它帮我 commit」时第一次撞上。

      真想跑 Desktop 版:看看这个民间 fork

      GitHub 上有个项目叫 xmg2024/codex-intel-mac,专门 patch 让 Codex Desktop 在 Intel Mac 上跑起来。要自己 clone + 编译,不是开箱即用,风险自负。它修了什么:

      • backdrop-filter blur on Intel UHD GPU:原版用了 CSS backdrop-filter blur 效果,Intel 集成显卡的 GPU 合成器扛不住,整片界面渲染成白块。patch 直接禁掉 blur。
      • better-sqlite3 编译失败:依赖里有 better-sqlite3 这个 native module,标准 npm install 会调 Apple Clang 编译 C++20 代码,但 Intel Mac 上的 Clang 版本通常不带 C++20 支持。patch 改成用预编译 x64 binary 直接替换。
      • 从 Finder 启动 EPIPE 崩溃:Electron 默认会 attach console,如果 stdout 不是 TTY(双击启动就是这情况)就抛 EPIPE。patch 在启动脚本里加 ELECTRON_NO_ATTACH_CONSOLE=1。
      • 对话自动折叠:UX 上的小坑,原版会自动折叠已完成的回合,patch 改成默认展开。

      这四个 bug 单独看都很小,凑在一起就是「Intel Mac 上 OpenAI 完全没测过」的明证。

      我自己的判断:不建议绝大多数人走这条路。要自己编译 + 替换 native module + patch CSS,每次官方更新都得重打一遍 patch。除非你有强烈的 GUI 偏好且接受不了 CLI,否则成本不划算。等 OpenAI 官方放 x86_64 build 更实际。

      安全沙箱:Codex 跑起来之后

      装上是第一步,让它能安全地跑代码是第二步。

      Codex 本质上是个能在你本地执行命令、改文件、调 git 的 agent。它会犯错,会被 prompt injection 攻击,会在某些极端情况下做出灾难性操作。前阵子有个 AI agent 把服务器内核搞崩的真实案例,根因就是 agent 拿了 root 权限做了不该做的 sudo 操作。

      Intel Mac 上跑 Codex 的最小安全实践:

      1. 专门建一个工作账号,不要用 admin 账号跑 codex。
      2. 项目目录隔离,每个 codex session 切到目标 repo 根目录跑,避免它误改其他项目。
      3. 关键操作保留 confirmation:~/.codex/config.toml 里别把 auto_approve 开成 all,至少保留 shell 和 git_push 需要人工确认。
      4. 重要 repo 必须有 dirty state 检查:跑 codex 前 git status 干净,跑完 git diff 审一遍再 commit。

      更激进的方案是把 codex 跑在 VM 里。虚拟机隔离加 Git 双向同步的方案把这套搭法详细讲了。Intel Mac 跑 VM 比 Apple Silicon 容易很多(x86 客户机不需要翻译),算是 Intel Mac 用户的一个隐藏优势。

      该不该为 Codex 换 Apple Silicon

      Codex CLI 既然在 Intel 上跑得好,换不换机器就变成了一个独立问题。我的判断:短期不必为 Codex 换。

      理由分三层:

      1. Codex CLI 在 Intel 上性能没短板。 上一节讲过,本地 CPU 不是瓶颈。除非你同时在跑别的吃 CPU 的本地工具(比如本地 LLM 推理、视频转码),单纯跑 Codex CLI 性能不构成换机理由。
      2. Desktop App 缺位不是「不能用」,是「不必用」。 你能用 CLI 完成所有 Codex 工作流,Desktop 只是另一种皮肤。Claude Desktop 的编辑器交互槽点实际上是个行业级问题,CLI 反而更能贴近你已有的开发流。
      3. AI 编程工具迭代太快,硬件投资周期对不上。 现在花两万换 M4 Pro,半年后 M5 又出来。Intel Mac 至少能撑到 2027 年,那时候硬件市场会更清晰。

      什么情况下值得换:

      • 你机器是 2017-2018 年的,电池或 SSD 已经接近寿命终点
      • 你重度依赖某些只发 arm64 build 的工具(Codex Desktop 是其中一个,但少数)
      • 你机器 RAM ≤ 16GB 且经常吃满

      如果都不符合,Intel Mac 配 Codex CLI 至少能再战 18 个月。

      Apple Silicon 用户也该看这一节

      为什么 Apple Silicon 也要懂 Intel 这条线?

      团队混装。 你 leader 用 Apple Silicon,你用 Intel,新来的实习生又是 Apple Silicon。如果 onboarding 文档只写「brew install --cask codex 即可」,三种机器各自踩各自的坑。

      写文档时要分两条路:

      • Apple Silicon:默认走 brew,path 在 /opt/homebrew/bin。
      • Intel:默认走 brew,path 在 /usr/local/bin。

      shell 配置也要分:

      if [[ "$(uname -m)" == "arm64" ]]; then
        export PATH="/opt/homebrew/bin:$PATH"
      else
        export PATH="/usr/local/bin:$PATH"
      fi
      

      放 ~/.zshrc 顶部。跨机器同步 dotfiles 时这一段必须有,否则 Intel Mac 用户根本找不到 brew 装的东西。

      另一个常被忽略的点:arm64 binary 不能在 Intel 跑,反过来 x86_64 binary 在 Apple Silicon 上要 Rosetta 翻译。如果你直接复制队友 ~/.npm-global/ 目录过来,里面的 native module 大概率跑不起来。

      CLI 之外,Intel Mac 还能用什么 AI 编程工具

      如果 Codex CLI 你试下来不顺手,Intel Mac 用户还有几条退路:

      • Claude Code:Anthropic 的 CLI,对 Intel Mac 支持比 Codex Desktop 好很多。有篇文章讲了 Claude Code 的长程上下文压缩机制,能感受到这边在工程上投入更深。ccvault 这种本地对话档案工具也是 Claude Code 生态产物,Intel Mac 都能跑。
      • Cursor / VS Code with Copilot:纯 IDE 路线。VS Code 最近开了 BYOK 自定义模型 API,对 Intel Mac 友好度跟 Apple Silicon 没差别。
      • Cline / Roo Code:开源 IDE agent,VSCode 插件形式,本地跑,不挑 CPU 架构。
      • 国产替代:DeepSeek + GLM 混合调用这条路很多人在跑,GLM 编码能力和 Claude Opus 的对比也有不少实测数据。

      需要注意 Claude Desktop 在代码编辑体验上不如竞品的反馈,所以选「Desktop App 还是 CLI」这件事 Anthropic 这边的答案也偏 CLI。整个行业的工程师工具流,目前是往 CLI 收。

      Intel Mac 用户尤其要顺着这个趋势走——CLI 跨架构兼容性永远比 GUI 好,少操心一类 bug。

      收束

      回到 GSC 那个搜索词:「codex mac intel 版本」。

      如果你是搜这个词进来的,最简的行动是:

      brew install --cask codex
      codex
      

      如果 brew 没装,去 GitHub Release 拉 codex-x86_64-apple-darwin.tar.gz。

      不需要等「Intel 版」,不需要 Rosetta,不需要换机器。CLI 已经是一等公民。

      唯一卡住你的可能是 Node 22、PATH、OAuth 这三件事——它们跟 Intel 没关系,跟你机器多年沉淀的环境有关系。

      至于 Desktop App,给自己定个止损线:等官方 x86_64 build 之前不投入。

      1天前
    • Qwen3.6 27B vs Step3.7 IQ4_XS: 本地大模型量化精度实测

      Reddit r/LocalLLaMA 上一个看似不起眼的帖子:「Any opinion about Qwen3.6-27B@BF16 vs Step3.7@IQ4_XS?」。问题没多说,但这两个并列出现的型号+量化组合,恰好把 2026 年本地大模型落地的两条路线摆到了一起:Dense 27B 走原精度 BF16,MoE 196B 走重量级量化 IQ4_XS。哪一个更适合塞进自己的盒子里跑长期项目?答案不靠跑分榜,要看你打算让模型干什么、显存预算多少、能不能容忍量化误差。

      本文按工程视角把账算清楚:先拆模型卡,再拆量化的物理含义,然后用显存账、跑分翻译、Agent 适配、速度延迟四个维度做横评,最后给一张选型矩阵。所有具体 benchmark 数字只引用一手源(HuggingFace、官方 release、SWE-bench 排行榜),社区实测都明确标注「数据有波动」。

      问题先拆开:BF16 vs IQ4_XS 不是公平 PK

      题面看着像「Qwen3.6 27B vs Step 3.7」的横评,其实是两个不同重量级的模型 + 两套不同精度策略的组合题。Qwen3.6-27B@BF16 是「中量级模型 + 满血权重」,参数 27B,BF16 下原始权重大约 54 GB,没有量化精度损失。Step3.7@IQ4_XS 是「重量级 MoE + 激进量化」,总参数 196B+1.8B ViT、激活 11B,IQ4_XS 把权重压到大约 4.25 bit/param,整体落到 ~104 GB 量级。一边赌「小而精」,一边赌「大而稀疏 + 量化容忍度」。

      这不是哪个更强的问题,是你愿意用什么硬件、跑什么任务的问题。下文每一节都围绕这一点展开。

      模型卡:两条路线各自什么定位

      Qwen3.6-27B:Dense 路线的当前天花板

      Qwen 团队 2026-04-22 发布 Qwen3.6-27B,是 Qwen3.6 系列的首个 Dense 开源模型。27B 参数全部稠密激活,没有 MoE 路由。官方对外的 benchmark 三组关键数据:

      • MMLU-Pro:86.2(通用知识)
      • SWE-bench Verified:77.2(真实 GitHub Issue 修复,与 Claude Sonnet 4.6 同一档)
      • Terminal-Bench 2.0:59.3(终端 Agent 任务,与 Claude Opus 4.6 持平)
      • AIME26:94.1(数学竞赛)

      更值得注意的对比:这只 Dense 27B 在大部分编码 benchmark 上压过了上一代 Qwen3.5-397B-A17B MoE(总参数 397B、激活 17B)。Dense 路线把训练数据密度和后训练对齐做到位之后,27B 反向击败 14 倍参数量的 MoE,这件事比单个分数更值得思考——说明「越大越好」的逻辑在 2026 年开始失效。我们在大模型选型指南 2026里已经讨论过这个拐点。

      Step 3.7 Flash:原生多模态 + MoE + Agent 优化

      阶跃星辰 2026-05-29 开源 Step 3.7 Flash。架构上是稀疏 MoE + 原生多模态:语言主干 196B、ViT 1.8B、每 token 激活约 11B,最高生成速度 400 tokens/s,专门为 Coding Agent 和搜索类工作流做了系统优化。我们之前在阶跃星辰开源 Step 3.7 Flash 报道里覆盖过架构细节。

      关键 benchmark:

      • SWE-Bench PRO:56.3(仅次于 Claude 4 Opus 的 64.3,排第二)
      • ClawEval-1.1:67.1(第一,领先次席 7.3 分)
      • SWE-MTLG(多任务长生成):72.42%
      • SimpleVQA(搜索类视觉问答):79.2
      • V*(Python):95.3

      结构含义:196B 总参 + 11B 激活意味着装载需要 MoE 全量显存,但推理速度按 11B 算。这是 MoE 路线的核心权衡:你要把全部专家放进 VRAM,但每个 token 只跑其中一小撮。INT4 量化下,官方实测代码生成准确率从 92% 降到 87%(社区实测,数据有波动)——可接受,不是无损。Step 3.7 Flash 的 GGUF 格式已在 HuggingFace 提供 IQ4_XS / Q4_K_M / Q5_K_M 多档量化。

      量化的物理:BF16 / IQ4_XS 实际意味着什么

      BF16 = 训练时的原生精度

      BF16(bfloat16)是 16 位浮点,1 位符号 + 8 位指数 + 7 位尾数。它和 FP32 共享指数范围,所以训练稳定性远好于 FP16;推理时通常被视作「无损」基线。Qwen3.6-27B@BF16 意味着不做任何精度妥协,模型行为和官方 release 时一致。代价是显存——27B 参数 × 2 字节 = 54 GB,外加 KV cache 和激活内存。

      IQ4_XS:i-quant 家族里偏轻量的一档

      IQ4_XS 是 ik_llama.cpp 引入、后被主线 llama.cpp 接收的「智能量化」(importance-aware quantization)。和老式的 Q4_0/Q4_K_M 比,IQ-quant 用了重要性权重调整码本(codebook),在同样的位宽下保留更多信息。XS 是「最小」档,每个权重平均落在 4.25 bit 左右,比 Q4_K_M(≈4.5 bpw)小一点,但量化算法本身更聪明。社区共识是:

      • 对 Dense 模型:IQ4_XS 在大多数 benchmark 上相对 BF16 损失个位百分点
      • 对 MoE 模型:损失对路由质量更敏感,专家不均时容易放大某些「冷专家」的误差
      • 对超长上下文场景:累积误差比短任务更明显,体现在 8K+ 之后的指令遵循退化

      关于推理路径如何决定速度,我们之前在推理慢不在语言慢,慢在加载量化和调度里做过系统拆解。

      这两种精度对哪类任务更敏感

      把场景按「容忍量化误差」程度排个序:

      • 低敏感:聊天、改写、单文件代码补全 → IQ4_XS 几乎无感
      • 中敏感:多文件重构、复杂逻辑推理 → IQ4_XS 偶尔会引入语法或调用错误
      • 高敏感:数学竞赛、长链 Agent 工具调用、严格 JSON 输出 → IQ4_XS 出错率可见上升,特别是 MoE 模型,参考强制 JSON 输出是否会切断大模型思考链那篇里的实测

      这个排序解释了为什么 Reddit 那条问题没有标准答案——你跑什么决定了选哪边。

      显存账:把硬件预算落到具体卡上

      Qwen3.6-27B@BF16 ≈ 54 GB 权重 + KV cache

      27B 参数 × 2 字节 = 54 GB。再算 KV cache:8K 上下文、注意力 head 数按官方 config,大约再吃 6-8 GB;长上下文(32K+)会到 20 GB+。结论:

      • 单卡 RTX 4090(24 GB):完全装不下,必须 layer offload 到 CPU,慢到不可用
      • 双卡 RTX 4090(48 GB):tight,需要张量并行 + 短上下文
      • 单卡 RTX 5090(32 GB):装不下原精度,必须降到 FP8 或更低
      • 双卡 RTX 5090(64 GB):可以跑 BF16 + 中等上下文,舒服
      • 单卡 RTX PRO 6000 Blackwell(96 GB):宽裕,可以开大 KV cache

      BF16 想要单卡跑必须上 96 GB 级别的专业卡或者两张消费旗舰。这就是 Qwen3.6-27B 的硬件下限。我们之前在3-4 万预算替代云服务:选用 RTX PRO 4500 本地部署 Qwen 32B里算过 32B 量化版的账,27B BF16 的显存需求比那篇里的 32B 量化高出一截。

      Step 3.7 Flash@IQ4_XS ≈ 104 GB 权重 + KV cache

      196B 参数 × 0.53 字节(IQ4_XS ≈ 4.25 bpw / 8)≈ 104 GB 仅权重,加上 1.8B ViT 和 KV cache,整体落在 110-125 GB 量级。这意味着:

      • 单卡 RTX PRO 6000 Blackwell(96 GB):装不下,必须 offload 部分专家到 CPU/RAM
      • 双卡 PRO 6000(192 GB):可以装下,但拓扑要 NVLink,否则 MoE 专家路由会被 PCIe 拖死
      • DGX Spark(128 GB 统一内存):刚好装下,已有本地大模型能替代云端 Opus 吗那篇里 RTX 6000 实战的视角延伸
      • Mac Studio M4 Ultra(192 GB 统一内存):能装,但 prompt processing 慢于 NVIDIA 卡,参考Mac 本地搭建 AI 编程 Agent里 llama.cpp vs MLX 的对比

      结论很直接:Step 3.7 Flash@IQ4_XS 是「专业卡或大统一内存」入场券,消费卡基本玩不了。

      Dense vs MoE 的吞吐结构差异

      Dense 模型每个 token 跑全部 27B 参数,吞吐取决于 memory bandwidth × bytes_per_param。MoE 每个 token 只跑激活的 11B,理论上吞吐可以高很多,但专家路由本身是个分支跳转,对硬件友好度低于 Dense。所以 Step 3.7 Flash 官方 400 tokens/s 是 vLLM + 满载并发的数字,单 query 不一定享受到。我们覆盖过的vLLM 0.19.0 多卡部署 MoE 模型 bug就是这条链路上的典型坑。

      编码能力:把跑分翻译成可读结论

      SWE-bench Verified 不等于 SWE-Bench PRO

      Qwen3.6-27B 的 SWE-bench Verified 是 77.2,Step 3.7 Flash 的 SWE-Bench PRO 是 56.3——这两个数字不能直接比。SWE-bench Verified 是 OpenAI 主导审核过的 500 道任务子集,错误率低、可执行性强;SWE-Bench PRO 是更难的扩展版,包含多文件、深层依赖、版本敏感的任务。同一模型两套测下来分数可以差 20 个百分点。所以「77.2 vs 56.3」不能解读成「Qwen 大胜」。

      更接近真实差异的视角是:两个模型在自己最擅长的 benchmark 上都接近顶级闭源,Qwen3.6-27B 对标 Sonnet 4.6,Step 3.7 Flash 对标 Opus 4.6 的子任务。社区实测(数据有波动)的体感是:

      • Qwen3.6-27B:单文件、清晰需求的代码生成稳定且简洁
      • Step 3.7 Flash:多文件、长 plan、需要查文档的 Agent 任务上下文跟踪更好

      这与GLM-5.2 在 Agent 任务中 Benchmark 虚高实战仍需 Claude那篇里反复强调的观点一致:benchmark 是入场券,不是体感。

      中文工程文档与注释场景

      Qwen 系列长期在中文语料上有训练优势。Qwen3.6-27B 处理中文需求文档、代码注释、commit message 比 Step 3.7 Flash 更自然一点——这是训练数据分布的差异,不是架构差异。Step 3.7 Flash 中文也不弱,但措辞偶尔会偏向直译风格。

      多文件编辑与长上下文

      Step 3.7 Flash 的 MoE + 长上下文优化对多文件大型项目更友好,特别是 32K+ 输入。Qwen3.6-27B 官方长上下文支持也在持续扩展(参考 HuggingFace 模型卡),但 Dense 27B 在 64K+ 时 KV cache 会吃满显存,需要量化 KV 或者切窗口策略。可以对照榨干每块显存:LLM 底层显存优化里的 KV cache 优化手法。

      Agent 适配:工具调用与多模态

      2026 年本地模型用法已经从「单次问答」演化到「Agent 长链路 + 多工具」。这条赛道两个模型的素质差别很明显:

      • Qwen3.6-27B:函数调用稳定、JSON 输出可靠,但不带视觉。Terminal-Bench 2.0 拿到 59.3 说明纯文本 Agent 没问题
      • Step 3.7 Flash:原生支持 image/video 输入,函数调用是后训练重点。SimpleVQA 79.2、V* 95.3 说明视觉理解可以直接喂截图给 Agent,做浏览器自动化、UI 测试场景的优势明显

      如果你的 Agent 链路要看截图、读 PDF、识别图表,Step 3.7 Flash 是本地少有的选项。如果你只做命令行 / 代码 / API 类 Agent,Qwen3.6-27B 完全够用,参考研究:量化 AI Agent 在软件开发中的 Token 消耗与分布里讨论的 token 经济性。

      工具调用可靠性方面,参考开发者反馈 GLM-5.2 无法正确调用 MCP 工具那篇里的踩坑模式:MoE 模型在 IQ4_XS 量化下,工具 schema 解析偶尔会跳过参数。Step 3.7 Flash@IQ4_XS 实测稳定性优于 GLM-5.2 同级量化,但仍需要 retry 兜底。

      速度:tokens/s 与首 token 延迟

      两个模型的速度结构不同:

      • Qwen3.6-27B@BF16:吞吐由 GPU memory bandwidth 决定。RTX 5090 单卡 BF16 大概 25-35 tokens/s(社区实测,数据有波动),双卡张量并行约 50-65 tokens/s
      • Step 3.7 Flash@IQ4_XS:MoE 激活只 11B,量化后单 query 在 RTX PRO 6000 单卡 + 部分 offload 下约 30-50 tokens/s;vLLM + 满载并发可冲到 200-400 tokens/s

      首 token 延迟(TTFT)方面,IQ4_XS 因为权重小、prefill 更快,对长 prompt 输入更友好;BF16 模型 prefill 重,长 prompt 第一个 token 等待时间会拉长。Agent 场景下大 prompt 是常态,这点对体感影响明显。具体可参考推理慢不在语言慢慢在加载量化和调度里的延迟拆解。

      选型矩阵:一张表把对比说清楚

      维度 Qwen3.6-27B @ BF16 Step 3.7 Flash @ IQ4_XS
      上下文长度 原生 32K,可扩展 原生 64K+(多模态可更长)
      参数量 27B Dense 196B MoE + 1.8B ViT(激活 11B)
      量化方式 BF16 原精度,无量化损失 IQ4_XS i-quant,约 4.25 bpw
      推理速度估算 RTX 5090×2:50-65 tokens/s(社区实测) PRO 6000:30-50 tokens/s 单 query / 200+ 并发
      显存需求 约 60-75 GB(含 KV cache) 约 110-125 GB(含 ViT + KV cache)
      中文能力 高(Qwen 中文优势 + 原精度) 中-高(直译风偶现)
      编程能力 SWE-bench Verified 77.2 / Terminal-Bench 59.3 SWE-Bench PRO 56.3 / ClawEval 67.1
      Agent 适配 纯文本 Agent 稳,无视觉 原生多模态 + 工具调用 + 搜索优化
      硬件下限 双卡消费旗舰可玩 专业卡或大统一内存
      量化敏感度 BF16 原生,无此问题 IQ4_XS 在严格 Agent 场景偶发退化

      落地建议:四类典型使用者怎么选

      1. 个人开发者,单卡 24-32 GB

      这个预算两个都跑不了 BF16 / IQ4_XS。建议直接放弃这场对决,回头看 Qwen3.6-27B 的 Q4_K_M 或 IQ3_M 量化版(约 15-18 GB),单张 RTX 4090/5090 跑得动,能力损失在可接受范围。或者继续用云端 API。具体硬件预算可以参考深度学习推理硬件选购:3000 元预算下的大显存与强算力博弈。

      2. 小团队,48-96 GB 显存预算

      选 Qwen3.6-27B@BF16。双卡 RTX 5090 或单卡 RTX PRO 6000,BF16 跑得舒服,无量化损失,编程任务对标 Sonnet 4.6,中文工程文档天然友好。Step 3.7 Flash@IQ4_XS 在这个预算下要不停 offload,实战体感不会好。

      3. 中型团队 / 工作室,128 GB+

      两个都能跑。看场景做选择:

      • 主做后端 / 代码 / 命令行 Agent → Qwen3.6-27B@BF16
      • 主做浏览器自动化 / 视觉 + 文档处理 / 长链 Agent → Step 3.7 Flash@IQ4_XS
      • 两个都要 → 两套都部署,按任务路由

      路由策略可以参考低成本高效率:开发者混合调用 DeepSeek 与 GLM 构建 AI 编程工作流里的多模型分流思路,或者用开源 CLI 工具 ModelBridge 统一多模型调用这类统一接口。

      4. 企业 / 多用户场景

      选 Step 3.7 Flash@IQ4_XS。MoE 在并发场景下吞吐优势明显,vLLM 满载 200-400 tokens/s 能撑住几十路并发请求;Dense 27B BF16 在多并发下显存压力会被 KV cache 拉爆。多模态能力也让产品形态更宽。

      常被忽略的几个细节

      许可证与时效性

      Qwen3.6-27B 训练 cutoff 比 Step 3.7 Flash 早大约一个月,2026 年新发布 SDK 的 API 调用上 Step 3.7 Flash 略新。许可证两边都是 Apache 2.0 系(Step 3.7 Flash 有补充使用协议,HuggingFace 卡片有说明),都比 Llama 3 系列宽松。

      llama.cpp 与 vLLM 的选择

      • llama.cpp / ik_llama.cpp:对 IQ4_XS 这类 i-quant 原生支持,单 query 友好,社区生态完整
      • vLLM:MoE 多并发吞吐强,但对最新量化格式跟进比 llama.cpp 慢半拍

      Step 3.7 Flash@IQ4_XS 当前最佳路径是 llama.cpp 单 query 或 vLLM 满载并发,二选一。Qwen3.6-27B@BF16 用 vLLM 是事实标准。

      结论:这道题不存在标准答案

      回到 Reddit 那条问题——「Qwen3.6-27B@BF16 vs Step3.7@IQ4_XS 哪个更值得?」取决于你的硬件、你的任务、你对量化误差的容忍度。

      如果硬要给一句话总结:

      • 有96 GB 以下显存预算、主做代码与文本 Agent、要无量化损失 → Qwen3.6-27B@BF16
      • 有128 GB+ 显存预算、需要视觉/多模态、跑多并发或长链 Agent、能容忍 IQ4_XS 的轻微退化 → Step 3.7 Flash@IQ4_XS

      更值得思考的是 2026 年这波本地模型的分化趋势:Dense 路线把 27B 做到对标顶级闭源(参考13 款本地大模型硬核横评),MoE 路线把激活降到 11B 同时塞进多模态。两条路都没有取代另一条,反而把「该用什么本地模型」这件事的颗粒度变细了——按任务、按硬件、按预算各自有最优解。

      下一步如果你要动手部署,推荐先用本地大模型能替代云端 Opus 吗里的方法对自己日常 prompt 建一个小型 eval 集,跑两个模型的同档量化各做 50-100 个 case,自己看结果再决定——跑分榜不替你做选择。

      本文部分推理速度与量化损失数字来自 r/LocalLLaMA、HuggingFace Discussion 与开发者博客的社区实测,硬件配置与 batch size 不同会有显著波动。具体 benchmark 数字以官方 release 与 SWE-bench / MMLU-Pro 排行榜为准。

      1天前

    最新文章

    • 突破 x86-64 指令限制:利用长调用实现 Linux 系统调用的高效插桩2026-06-22
    • 【经典教程】仅百行 Python 代码实现 Lisp 解释器,揭秘编程语言底层逻辑2026-06-22
    • Claude Pro账号风控现状:正价订阅反代面临封号风险吗?2026-06-21
    • Codex macOS code_sign_clone 占几十 GB 磁盘: 真相与清理2026-06-21
    • Codex CLI Intel Mac 安装指南:版本、Node 与 Rosetta2026-06-21
    • Qwen3.6 27B vs Step3.7 IQ4_XS: 本地大模型量化精度实测2026-06-21

    热门专题

    • AI 大模型
    • Claude 实战
    • 前沿观察
    • 安全攻防

    热门标签

    AI编程claude大模型AI人工智能AI Agent开源项目Gemini开发者工具开源GitHubClaude Code开源工具AI工具开发工具谷歌openaideepseek提示词工程cursor网络安全anthropicAI应用ChatgptAI开发agent自动化AI安全智能体AI智能体

    网站统计

    • 日志总数:22982
    • 评论总数:10
    • 标签总数:17741
    • 用户总数:3674
    • 最后更新:2026-06-22

    © 2026   IT资源栈