fx:一个小巧、开放、原生的编码代理。
来自 Vercel 的新开源 “fx” 编码代理 harness 用 Zig 编写,目标是成为一个小巧、快速、Unix 风格的 CLI,用于与 AI 编码助手协作,并将其嵌入到其他系统中。评论者对它是否因为小体积、性能和可嵌入 WASM 而真正区别于越来越多相似的代理工具(如 Pi、OpenCode 和 Maki)看法不一。许多人还批评它与 Vercel AI Gateway 的紧密耦合,以及上手流程没有清楚说明如何使用第三方或本地模型,认为这反映了在一个已经拥挤的领域中,厂商风格代理工具不断增多的趋势。
项目定位与特性
- 被描述为“一个小巧、可嵌入的代理 harness 和 CLI”,而不只是又一个编码代理。
- 主要主张:约 6 MiB 的原生 Zig 二进制、非常快的冷启动(约 10µs)、较低的内存基线、极简 TUI(更像“Unix shell”而不是“终端里的 IDE”)、保留滚动位置的输出、与模型无关的设计,以及用于嵌入的 wasm 构建。
- 强调一个通过“skills/plugins/MCP”扩展的小核心,使用最小化的系统提示词和工具集,以降低 token 成本并提升首 token 时间。
提供商锁定与上手
- 几位评论者指出,当前 UX 强烈推动使用 Vercel AI Gateway:
fx login和 AI Gateway key 都放在最显眼的位置。 - 一些读者认为这已经是致命问题,并将项目称为“没用”,除非明确支持通用的 OpenAI 兼容密钥或其他直连 API key。
- 有提到对订阅(例如 Codex、Grok)的支持“即将到来”,但确切状态和配置并不清楚。
- 有人报告称,尽管项目宣称可以配置非 Vercel 提供商,但实际操作时仍然感到困惑。
大小、性能与“极简主义”
- 对于 6 MiB 的 CLI 是否算“tiny”存在分歧:有人说这对 Zig 来说偏大,预期应该是几百 KB;也有人拿它和 Go、Node、Electron 等相比,认为表现不错。
- 有用户报告初始构建体积为 144 MB,但在启用体积优化编译后可降到约 6 MB。
- 一些人认为内置工具数量(约二十多个,包括细粒度文件操作)与“极简”说法相矛盾;也有人觉得这些工具很实用,尤其是在非终端环境中。
对比与替代方案
- 经常被拿来与 Pi(基于 TypeScript 的 harness)、OpenCode、DeepSeek 的 harness、hax(C、二进制更小、多提供商)、Maki(Rust、Lua 插件)、3code(Nim)以及自制的 C 或 Python shell 比较。
- 讨论主题包括:人们希望有小巧、无依赖、或可嵌入 wasm 的代理,但也有人偏好更“开箱即用”的系统。
更广泛的讨论:agent harness 生态
- 许多评论把话题拉远,讨论为什么会有这么多代理:当前 AI 的“淘金热”、低进入门槛、在最佳实践出现前的试验阶段,以及 harness 作为关键优化层的角色。
- 也有人争论术语:
harness、agent与model的区别,并提出诸如“模型 + harness(工具/配置)+ 运行中的代理实例”的分解方式。 - 一些人对小巧、可组合、Unix 风格的核心感到兴奋;另一些人则已经疲惫,认为大多数新代理都只是没有差别的“垃圾”。