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]。