
1. OpenCode 报不支持 AVX 到底卡在哪你装 OpenCode 或者 Claude Code终端里蹦出一句Illegal instruction (core dumped)或者更直白一点This program requires AVX support。第一反应通常是软件装错了、依赖缺了、Node 版本不对。但你把日志翻到底会发现它压根没走到业务逻辑进程在加载二进制的那一刻就被内核干掉了。这不是软件问题是 CPU 指令集门槛问题。OpenCode 这类工具链里有些原生模块比如某些 Rust 编译的二进制、或者带 SIMD 优化的解析库在编译时默认开启了 AVX 指令集优化。你的 CPU 如果不支持 AVX执行到那条指令时 CPU 直接抛异常操作系统收到 SIGILL 就把进程杀了。软件层面没有任何 try-catch 能接住这个信号。我试过在一台老机器上折腾这个Phenom II X6 1055TAM3 平台当年也是六核猛兽。它支持到 SSE4a——这是 AMD 专属的指令集大致相当于 Intel SSE4.1 的一个子集但就是没有 AVX。所以 OpenCode 和 Claude Code 在这台机器上直接卡死在启动阶段连报错都来不及打印完整。这篇文章要解决的不是怎么让老 CPU 跑起来——那不可能指令集是硬件电路软件绕不过去。我们要做的是先把 CPU 型号和启动报错原文贴出来然后通过走 TaoToken 通道的 Claude Code 对着报错和指令集对照表判断你这颗 CPU 到底停在哪一代缺的是 AVX 还是 AVX2。本机的指令集检查coreinfo、CPU-Z、lscpu仍然由你在本地跑完再贴结果。拿到 Key 后能配通的是 Claude Code 的模型请求通道CPU 不支持 AVX 这件事只能靠升级硬件解决。2. 先把 CPU 型号和报错原文抓出来在判断缺哪一代指令集之前你需要两样东西CPU 的准确型号以及程序启动时的完整报错。这两样东西决定了后面所有判断的方向。2.1 各平台查 CPU 指令集的方法Windows 上最直接的是用 Coreinfo这是微软官方 Sysinternals 套件里的工具下载后解压管理员权限运行coreinfo.exe -f输出里会有一行AVX、AVX2、SSE4.1、SSE4.2之类的标记带*表示支持带-表示不支持。比如 Phenom II X6 1055T 的输出里SSE4A是*AVX是-。Linux 上更简单一条命令lscpu | grep -o -E avx[0-9]*|sse4_[12]|sse4a|fma | sort -u或者直接看完整的 flagscat /proc/cpuinfo | grep flags | head -1macOS 上可以用sysctlsysctl -a | grep machdep.cpu.features如果你想要图形化界面CPU-Z 在 Windows 上最直观打开后看指令集那一栏AVX 打勾就是支持没打勾就是不支持。2.2 抓取 OpenCode / Claude Code 的启动报错光有 CPU 信息还不够你需要把程序启动时的报错原文完整抓下来。在终端里这样跑opencode 21 | tee opencode_error.log或者如果是 Claude Codeclaude 21 | tee claude_error.log如果程序直接闪退用dmesg看内核日志dmesg | tail -20你会看到类似traps: opencode[12345] trap invalid opcode ip:... sp:... error:0 in opencode[....]这样的记录。invalid opcode就是 CPU 遇到了它不认识的指令。把这两样东西——CPU 型号 报错原文——准备好接下来我们通过 TaoToken 通道让 Claude Code 帮你做对照判断。3. 走 TaoToken 通道配通 Claude Code这一步的目标不是让老 CPU 跑起来而是让 Claude Code 的模型请求通道能正常工作这样你才能把报错和 CPU 信息发给模型让它对着指令集对照表帮你判断。3.1 注册并创建 API Key打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册账号。注册流程很标准邮箱验证完就能进控制台。进去之后找到 API Keys 页面点创建新 Key复制出来保存好。这个 Key 只显示一次丢了就得重新建。3.2 配置 Claude Code 的 Base URLClaude Code 默认走 Anthropic 官方通道你需要把 Base URL 指向 TaoToken 的 API 地址。在终端里设置环境变量export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEY你的Key如果你用的是 Claude Code 的配置文件找到~/.claude/config.json或者项目根目录的.claude/settings.json加上{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: 你的Key } }Windows 上用 PowerShell$env:ANTHROPIC_BASE_URLhttps://taotoken.net/api $env:ANTHROPIC_API_KEY你的Key配好之后Claude Code 的模型请求就会走 TaoToken 通道。这一步和 CPU 指令集无关纯粹是把请求通道打通让你能正常和模型对话。3.3 验证通道是否配通跑一个最简单的请求claude -p 回复 OK如果返回OK说明通道通了。如果报 401检查 Key 有没有复制错如果报连接超时检查 Base URL 有没有写对。4. 把报错和 CPU 信息发给模型做对照通道配通之后你就可以把之前抓到的 CPU 型号和报错原文发给 Claude Code让它帮你判断缺的是哪一代指令集。4.1 构造对照请求在 Claude Code 里输入这样的 prompt我的 CPU 是 AMD Phenom II X6 1055T在 Linux 下运行 lscpu 得到的 flags 里包含 sse4a 但不包含 avx。 启动 OpenCode 时报错Illegal instruction (core dumped)dmesg 显示 trap invalid opcode。 请对照 SSE4a → AVX → AVX2 的指令集演进表判断我的 CPU 缺的是哪一代指令集 以及 OpenCode 的哪个模块可能依赖了 AVX。模型会返回一个判断你的 CPU 停在 SSE4a缺的是 AVX 这一代。OpenCode 的某些原生模块在编译时开启了 AVX 优化所以执行到 AVX 指令时直接崩溃。4.2 指令集对照表下面这张表是你判断我这颗 CPU 停在哪一代的核心依据指令集发布年份代表架构位宽关键特性SSE4a2009Phenom II128-bitAMD 专属SSE4.1 子集AVX2011Sandy Bridge256-bit首次 256 位浮点 SIMDAVX22013Haswell256-bit256 位整数 SIMD FMA3AVX-5122017Skylake-X512-bit512 位 SIMD碎片化严重AVX102024Granite Rapids256/512-bit统一 AVX-512 与 AVX2Phenom II X6 1055T 停在 SSE4a缺 AVX。E3-1230 v3Haswell支持到 AVX2但不支持 AVX-512。你可以在本地跑lscpu或coreinfo拿到自己的 flags然后对着这张表看停在哪一行。4.3 判断升级路径拿到模型的判断后你就知道该升级到什么级别的 CPU 了。如果只是跑 OpenCode / Claude Code支持 AVX2 的 CPU 就够用。Haswell 架构的 E3-1230 v3 是性价比很高的选择支持 AVX、AVX2、FMA3但不支持 AVX-512。如果你还想跑本地模型推理或者需要 AVX-512 加速的科学计算那就得看 Skylake-X 或更新的架构。但那是另一个话题了。5. 本篇常见错排查5.1 报错Illegal instruction但 CPU 明明支持 AVX先确认你查的是不是同一个 CPU。有些虚拟机或者容器环境里lscpu显示的是宿主机的 flags但实际分配给容器的 CPU 可能屏蔽了 AVX。用cat /proc/cpuinfo | grep flags在容器内部再查一次。还有一种情况程序编译时用了 AVX-512但你的 CPU 只支持 AVX2。这时候报错也是Illegal instruction但缺的是 AVX-512 而不是 AVX。对照表里看仔细。5.2 TaoToken 通道配通了但 Claude Code 还是报错先确认报错发生在哪个阶段。如果是启动阶段就崩那是 CPU 指令集问题和 TaoToken 通道无关。如果是请求阶段报 401 或 403那才是通道配置问题。检查ANTHROPIC_BASE_URL有没有写成https://taotoken.net/api注意末尾不要加斜杠。5.3lscpu输出里找不到 AVX 标记有些老版本的lscpu不会直接显示 AVX你需要看完整的 flags 行。用cat /proc/cpuinfo | grep flags | head -1看原始输出。如果 flags 里确实没有avx那就是 CPU 不支持没有别的解释。5.4 想用软件绕过 AVX 限制这条路走不通。AVX 是 CPU 硬件电路层面的指令软件无法模拟。你可以在编译时关掉 AVX 优化重新编译 OpenCode但这不是普通用户能操作的而且很多预编译的二进制模块你拿不到源码。最实际的方案还是升级 CPU。6. 拿到 Key 之后怎么继续配通 TaoToken 通道之后你手里就有一个能正常对话的 Claude Code 了。接下来可以做的事把lscpu的完整输出和 OpenCode 的报错日志一起发给模型让它帮你做完整的指令集对照分析。模型会告诉你缺的是 AVX 还是 AVX2以及哪些模块可能受影响。如果你需要长期跑编码任务或者 Agent 工作流可以看看 Coding Plan 页面有更详细的配置说明。如果只是想验证模型对话通道是否正常模型对话页面有现成的测试入口。API Keys 管理在控制台里接入文档在 doc 页面。CPU 不支持 AVX 这件事最终只能靠升级硬件解决。但在此之前你可以用走 TaoToken 通道的 Claude Code 把问题判断清楚知道自己该升级到什么级别的 CPU而不是盲目换硬件。