Show HN:16岁少年打造 Sprocket——面向硬件与软件开发的AI智能体
一位16岁开发者发布了 Sprocket,一个将硬件设计与代码生成相结合的开源AI代理,还能自主购买硬件部件和SaaS订阅。可通过 npx、桌面应用或CLI运行,并利用网络上下文生成原理图、物料清单和装配说明。
一位16岁的开发者发布了 Sprocket,目标是为硬件和软件开发打造最好的平台。这个轻量级AI代理可以生成硬件设计并编写代码,而且每次都会从网络上检索高质量上下文,因此非常可靠。在硬件设计方面,Sprocket 能够制作基于 React 的原理图、创建物料清单(BOM),并生成详细的装配说明。更特别的是,它在接到指令后可以自行从任何网站购买东西,从硬件零件到 SaaS 订阅都可以完成。GitHub 仓库显示该项目已有141次提交,采用 Rust、Bun、React 等多语言技术栈,并包含 Nix、Turbo 等工程配置。
使用 Sprocket 的方式很灵活。无需安装时可以直接运行 npx @spikonado/sprocket,默认会通过浏览器使用,除非已安装桌面应用;也可以从 GitHub Releases 下载桌面应用,或通过 npm 全局安装 CLI 后运行 sprocket。桌面应用可能比浏览器占用更多内存。CLI 支持 --web 参数强制在浏览器打开,也支持把目录作为工作区传入,例如 sprocket . 或 sprocket --web ../my-robot。Sprocket 会记住已附加的工作区和本地服务器会话,本地状态保存在 $HOME/.sprocket(Windows 下为 %USERPROFILE%\.sprocket),也可以通过 SPROCKET_DATA_DIR 覆盖。
服务器端默认绑定 127.0.0.1:17731。相关环境变量包括 SPROCKET_DATA_DIR、SPROCKET_PORT、SPROCKET_HOST、SPROCKET_DESKTOP_EXECUTABLE、PUBLIC_CONVEX_URL 和 SPROCKET_STATIC_DIR。sprocket serve 可以在不启动客户端的情况下运行本地服务器,--api-only 则只开放 /api 接口供开发使用。更多选项可通过 sprocket --help 或 sprocket serve --help 查看。
开发环境要求 Bun 1.3.9 或更高版本、Node.js 24.14 或更高版本,以及当前稳定的 Rust 工具链。克隆仓库后运行 bun install 安装依赖。bun dev 会启动浏览器开发环境:Vite 运行在 http://localhost:5173,Rust API 运行在 http://127.0.0.1:7731,开发状态保存在仓库内的 .sprocket-dev。若要针对 Electron 开发,可运行 bun dev:desktop。测试与构建命令包括 cargo test、bun run test、bun run build 和 prek run -a。执行 bun run build:release 可以生成本地 Electron 安装包,产物输出到 apps/desktop/dist/,文件名为 sprocket-desktop-*(AppImage、.dmg 或 .exe,取决于宿主系统)。正式安装包通过 GitHub Releases 发布,CLI 则单独发布在 npm。
开发时,在创建 Convex deployment 并按照说明配置 authkit 后,需要为要启用的每个模型提供商设置 API 密钥。如果 17731 端口已被占用,可以在启动前设置 SPROCKET_PORT。若 sprocket 命令打开了浏览器而不是桌面应用,需要把从 GitHub Releases 安装的 sprocket-desktop 加入 PATH,或设置 SPROCKET_DESKTOP_EXECUTABLE。macOS 和 Windows 的未签名桌面构建首次打开时可能需要 Gatekeeper 或 SmartScreen 确认。有问题可以联系 [email protected]。