nff:让 AI Agent 直接开发与维护 ESP32 固件的开源工具
nff 是一款开源 MCP 工具,让 Claude 等 AI 智能体可直接开发、烧录、调试 ESP32 等嵌入式硬件,并…
nff 是一款基于 MCP(Model Context Protocol)协议的开源工具,让 Claude 等编码智能体可以直接操控 ESP32 等嵌入式硬件,覆盖从本地开发、固件烧录、串口调试,到 OTA 升级与现场故障诊断的全流程。项目仓库中的 CLI 与设备端 nff-sdk-c 库均为 MIT 协议开源,云端后端为闭源。
核心定位:从「写代码」到「跑硬件」的闭环
传统嵌入式开发需要在编辑器、终端、串口监视器、JTAG 调试器等多个工具之间反复切换。nff 把这一整套流程统一到与 Claude 的一次对话中:用户用自然语言描述需求,智能体自动完成「写代码 → 编译 → 烧录 → 读取串口 → 反馈结果」的闭环。当固件运行异常时,智能体可根据串口输出继续迭代,并重新烧录修复版本。
对于已经部署在野外的设备,nff 通过 OTA 通道抓取崩溃时刻的寄存器、栈、内存与 backtrace,交由云端智能体分析失败原因并推动恢复。这一能力填补了 Mender、balena 等传统 OTA 工具的盲区——后者要求固件本身仍可联网,而裸机 MCU 一旦 hard-fault 就彻底失联。
主要功能
- 工作台循环:无需切换工具,智能体根据串口输出迭代固件、捕获异常并重新烧录。
- 现场维护:针对崩溃的裸机 MCU,捕获寄存器、栈、内存与 backtrace,由云端智能体解读故障并推动恢复。
- 空中升级:把本地构建的固件转为 ECDSA 签名、分阶段灰度的 OTA 部署,支持按设备追踪与自动回滚。
- 板卡通用:兼容 PlatformIO 支持的 1000+ 板卡、约 40 个平台,包括所有 ESP32 变体、RP2040/Pico、STM32 全系、AVR、SAMD、Teensy、nRF52、Uno R4、RISC-V 等,工具链首次构建时自动安装。
- 在线调试:通过 JTAG/SWD(OpenOCD + GDB,由 nff 驱动)实现真实断点、调用栈与变量查看。
- 本地优先:编译、烧录、监控、调试以及 MCP 工具无需账号、不打开浏览器,只有 OTA、repair、agent 功能需要登录。
工具集与技术实现
nff init 会在后台启动一个 MCP 服务,监听 127.0.0.1:3010/mcp,共暴露 34 个工具,分为四组:
- Bench(7 个):list_devices、compile、flash、serial_read/write、reset_device、get_device_info。
- Debug(14 个):断点、调用栈、变量、寄存器、内存、单步执行、原始 GDB。
- Field(8 个):diagnose(本地免登录)、repair(云端、含 ELF 符号化)、鉴权生命周期。
- Fleet & OTA(5 个):ota_deploy、ota_status、ota_deployments、ota_devices、fleet_status。
整套工具以单一 Rust 二进制形式发布,不依赖 Python 运行时,并支持类似 Claude Code 的后台自更新。
安装与上手
- macOS / Linux:
curl -fsSL https://nanoforgeflow.com/install.sh | sh - Windows(PowerShell):
irm https://nanoforgeflow.com/install.ps1 | iex
接入开发板后运行 nff init 自动识别板卡、写入配置并注册 MCP 服务,随后重启 Claude Code 即可对话式操控硬件,例如「烧录 sketches/blink_esp32 并通过串口确认 LED 在闪烁」。新增板卡通常只需改动两行代码,贡献流程详见仓库内的 CONTRIBUTING.md。完整文档可在 nanoforgeflow.com/docs 获取,覆盖 CLI 参考、配置、MCP 工具、设备 SDK、OTA 部署、崩溃诊断与板载调试等章节。
