Show HN:16歳が開発したハードウェア&ソフトウェア開発向けAIエージェント「Sprocket」
16歳の開発者が、ハードウェア設計とコード生成を組み合わせたオープンソースのAIエージェント「Sprocket」を公開。回路図や部品表、組み立て手順の作成に加え、部品やSaaSの購入まで自律的に行えます。npx、デスクトップアプリ、CLIで利用可能。
16歳の開発者が「Sprocket」を公開しました。ハードウェアとソフトウェア開発のための最高のプラットフォームを目指すというこのプロジェクトは、ハードウェア設計の生成とコード作成の両方ができる軽量AIエージェントです。Sprocket は動作のたびにWebから高品質なコンテキストを取得するため、非常に信頼性が高いと説明されています。ハードウェア設計では、React ベースの回路図、部品表(BOM)、詳細な組み立て手順を生成できます。さらに、ユーザーが指示すれば、ハードウェア部品からSaaSサブスクリプションまで、任意のWebサイトから自動的に購入することも可能です。GitHub リポジトリには141件のコミットがあり、Rust、Bun、React などが使われています。
Sprocket の実行方法は複数あります。インストールせずに npx @spikonado/sprocket を実行すると、デスクトップアプリをインストールしていない限りブラウザ経由で利用できます。デスクトップアプリは GitHub Releases から各OS向けにダウンロードできます。また、npm で npm i -g @spikonado/sprocket としてインストールし、sprocket コマンドで起動することもできます。デスクトップアプリはブラウザ経由よりメモリを多く使う場合があります。--web フラグで常にブラウザタブを開くこともでき、sprocket . のようにディレクトリを渡せば、そのワークスペースを新しいスレッドで開いたり再接続したりできます。Sprocket は起動間でワークスペースとローカルサーバーセッションを記憶します。ローカル状態は $HOME/.sprocket(Windows で HOME が未設定の場合は %USERPROFILE%\.sprocket)に保存され、SPROCKET_DATA_DIR で上書きできます。
サーバーはデフォルトで 127.0.0.1:17731 にバインドされます。SPROCKET_DATA_DIR はペアリング、セッション、ワークスペース状態のディレクトリ、SPROCKET_PORT はポート番号、SPROCKET_HOST はバインドホスト、SPROCKET_DESKTOP_EXECUTABLE はデスクトップ実行ファイルのパス、PUBLIC_CONVEX_URL はエージェントランタイムが使う Convex デプロイ、SPROCKET_STATIC_DIR はバンドル済みビルドの代わりに配信するWebビルドを指定するための環境変数です。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 を実行すると、apps/desktop/dist/ に sprocket-desktop-*(ホストOSに応じて .AppImage、.dmg、.exe)というローカルElectronインストーラーパッケージが生成されます。公開インストーラーは GitHub Releases から、CLI は npm から配布されます。
開発時には、Convex デプロイを作成し、authkit を設定した後、有効にしたいモデルプロバイダーごとに Convex デプロイへ API キーを設定します。ポート17731が既に使われている場合は、起動前に SPROCKET_PORT を設定してください。sprocket がデスクトップアプリではなくブラウザを開いてしまう場合は、GitHub Releases の sprocket-desktop を PATH に追加するか、SPROCKET_DESKTOP_EXECUTABLE を設定します。macOS と Windows の未署名ビルドは、初回起動時に Gatekeeper または SmartScreen の確認が必要になることがあります。ヘルプが必要な場合は [email protected] まで連絡できます。