这是什么
一个 20 万 Star 的开源 AI 编程工具 OpenCode,在命令行模式下被 DeepSeek CLI(DSH)安装时留下的一个文件夹彻底卡死——不是网络问题,不是 API 问题,不是密钥问题,而是两个明星 AI 工具互不知情地撞在了一起。开发者最终是靠另一个 AI Agent 花 1 小时排查 10 个方向,才定位到根因。
具体机制:DSH 在 Windows 用户目录下创建了一组 npm 缓存的符号链接(junction,让两个目录看起来指向同一位置),其中 cordis 和 cordis-plugin-include 两个包互相依赖形成循环。OpenCode 启动时执行 Git 快照遍历当前目录,Git 不认识 Windows 的 junction,会傻乎乎走进去出不来。该用户目录下超过 100 万个文件,排查难度极高。
行业怎么看
这件事最值得编辑部注意的不是 bug 本身,而是它揭示了三层结构性问题。
第一,AI Agent 生态普遍缺乏"防御性编程"。OpenCode 启动时遍历当前目录做 Git 快照,但没考虑 Windows junction 循环这种已知陷阱。Git、Node.js、npm 都有自己的兜底机制,OpenCode 没有。
第二,AI 工具之间的相互作用完全没人在意。两个 20 万 Star 的明星项目放在一起就出问题,"OpenCode 赖 DSH,DSH 赖 Git,Git 赖 OpenAccess"——谁都没责任、谁都有责任的甩锅闭环,在 AI 工具爆发期会越来越常见。
第三,也是最让我们警醒的一点:开发者自己承认,没有 AI 协助他基本解决不了这个问题。用 AI 解决 AI 制造的 bug,构成了一个尴尬的悖论。当然也有乐观声音认为,这恰恰证明 Agent 的价值——能跨系统调用工具、自行推理。但问题在于,连排查工具本身都得依赖另一个工具,这个生态的脆弱性远比宣传的深。
对普通人的影响
对企业 IT:公司若同时试用多款 AI 编程或办公工具,类似冲突概率不低。引入新工具前,做一轮"共存测试"比看宣传片更靠谱。
对个人职场:被推荐各种 AI 工具时,请记住它们并非"开箱即用"。很多坑得自己踩,厂商演示和真实环境往往两回事。
对消费市场:当某款 AI 产品被吹得神乎其神,它背后可能就是几个互相甩锅的开源组件拼起来的。把对"开箱即用"的预期调低,更接近现实。