商业产业 Hacker News AI 2026-08-02T23:04 正文 ok 521 words

🔶 Show HN:我 16 岁,打造了唯一面向硬件和软件开发的 AI Agent

英文标题:🔶 Show HN: I'm 16 y/o and Built the only AI Agent for Hardware and Software Dev

Sprocket 是一款轻量级 AI Agent,定位为同时支持硬件设计与软件开发的平台。项目宣称会从网络检索高质量上下文,以提升任务执行的可靠性,并可生成 React 原理图、BOM 清单和详细装配说明。它还声称能够在用户授权指令下,自主从任意网站购买硬件零件或 SaaS 订阅。对开发者而言,Sprocket 提供 CLI、本地服务器、浏览器和桌面端运行方式,以及面向开发环境的 API、端口和状态目录配置选项。
打开原文相关 3 · 机会 1
media1.3 MB media62.1 KB

中文

目标:打造全球最好的硬件和软件开发平台。

Sprocket 是一款能够创建设计硬件并编写代码的轻量级 Agent。

Sprocket 会为其执行的所有任务从网络检索一流的上下文信息,因此具备极高的可靠性。在硬件设计方面,Sprocket 可以用 React 制作精美的原理图,创建 BOM 清单,并生成详细的装配说明。

最棒的是:当你指示它这样做时,Sprocket 可以(自行)从任何网站购买任何东西,包括硬件零件和 SaaS 订阅。

视频/嵌入内容:Sprocket 演示

Sprocket

注意

你可以通过下文定义的任何方式运行 Sprocket,而不会影响其功能或性能。与通过浏览器使用 Sprocket 相比,桌面应用可能会占用更多 RAM。

除非你已安装桌面应用,否则上述方式会通过浏览器运行 Sprocket。

从最新的 GitHub Release Artifacts 为你的操作系统安装并运行它。

npm i -g @spikonado/sprocket
sprocket

除非你已安装桌面应用,否则上述方式会通过浏览器运行 Sprocket。

要在使用 Sprocket 时始终在浏览器中打开一个标签页,请使用 --web 标志:

传入一个目录,以在新线程中打开该目录或重新连接到该工作区:

sprocket .
sprocket --web ../my-robot

Sprocket 会在多次启动之间记住已附加的工作区和本地服务器会话。本地状态存储在 $HOME/.sprocket 中(Windows 上若未设置 HOME,则为 %USERPROFILE%\.sprocket)。可通过 SPROCKET_DATA_DIR 覆盖该位置。

命令 行为
sprocket serve 在前台运行本地服务器,不启动客户端。
sprocket serve --api-only 仅提供 /api;供开发使用(参见 Development)。

运行 sprocket --help 或 sprocket serve --help 查看所有选项。

常用的 Sprocket 服务器覆盖项可通过环境变量设置:

变量 用途
SPROCKET_DATA_DIR 用于配对、会话和工作区状态的目录。
SPROCKET_PORT 本地服务器端口;安装后使用时默认为 17731。
SPROCKET_HOST 绑定主机;默认为 127.0.0.1。
SPROCKET_DESKTOP_EXECUTABLE 供 Sprocket CLI 使用的桌面可执行文件完整路径。
PUBLIC_CONVEX_URL Agent 运行时使用的 Convex 部署。
SPROCKET_STATIC_DIR 要提供服务的 Web 构建版本,用于替代内置构建版本。
  • Bun 1.x,版本 1.3.9 或更高
  • Node.js 24.x,版本 24.14 或更高
  • 当前稳定版 Rust 工具链

安装依赖:

启动浏览器开发环境:

按照说明创建 Convex 部署并配置 authkit 后,为希望启用的每个模型提供商使用其 API key 配置 Convex 部署。

这会在 http://localhost:5173 运行 Vite,并在 http://127.0.0.1:7731 运行 Rust API;开发状态保存在仓库内的 .sprocket-dev 中。如需改为基于 Electron 进行开发,请运行:

cargo test
bun run test
bun run build
prek run -a

使用以下方式创建本地 Electron 安装包:

构建产物会写入 apps/desktop/dist/,命名为 sprocket-desktop-*(根据主机操作系统不同,扩展名为 .AppImage、.dmg 或 .exe)。发布的安装包来自 GitHub Releases;sprocket CLI 则单独发布到 npm。

  • 如果端口 17731 已被占用,请在启动前设置 SPROCKET_PORT。
  • 如果 sprocket 打开的是浏览器而不是桌面应用,请从 GitHub Releases 安装 sprocket-desktop 并将其加入 PATH,或设置 SPROCKET_DESKTOP_EXECUTABLE。
  • 未签名的 macOS 和 Windows 桌面构建版本首次打开时,可能需要绕过 Gatekeeper / SmartScreen。
  • 如需帮助,请联系 aarav@spikonado.com。

English / 原文

Goal : To make the world's best platform for developing hardware and software.

Sprocket is a lightweight agent that can create hardware designs and write code.

Sprocket retrieves best-in-class context from the web for everything it does. It is therefore incredibly reliable. In terms of hardware design, Sprocket can make beautiful schematics in React, create your BOM, and create detailed assembly instructions.

And here's the best part: Sprocket can (on its own) buy anything from any website when you tell it to do so. From hardware parts to SaaS subscriptions.

Sprocket Demo

Sprocket

Note

You can run Sprocket using any of the ways defined below with no impact on Sprocket's capabilities or performance. The desktop app may take more RAM than using Sprocket through your browser.

The above runs Sprocket through your browser unless you have the desktop app installed.

Install it for your OS from the latest GitHub Release Artifacts and run it.

npm i -g @spikonado/sprocket
sprocket

The above runs Sprocket through your browser unless you have the desktop app installed.

To always open a tab in your browser when using Sprocket, use the --web flag:

Pass a directory to open or reconnect that workspace in a new thread:

sprocket .
sprocket --web ../my-robot

Sprocket remembers attached workspaces and local server sessions between launches. Local state lives in $HOME/.sprocket (or %USERPROFILE%\.sprocket on Windows when HOME is unset). Override with SPROCKET_DATA_DIR.

Command Behavior
sprocket serve Run the local server in the foreground without launching a client.
sprocket serve --api-only Serve only /api; intended for development (see Development).

Run sprocket --help or sprocket serve --help for all options.

Common Sprocket server overrides are available as environment variables:

Variable Purpose
SPROCKET_DATA_DIR Directory for pairing, sessions, and workspace state.
SPROCKET_PORT Local server port; defaults to 17731 for installed use.
SPROCKET_HOST Bind host; defaults to 127.0.0.1.
SPROCKET_DESKTOP_EXECUTABLE Full path to the desktop executable to be used by the Sprocket CLI.
PUBLIC_CONVEX_URL Convex deployment used by the agent runtime.
SPROCKET_STATIC_DIR Web build to serve instead of the bundled build.
  • Bun 1.x, version 1.3.9 or newer
  • Node.js 24.x, version 24.14 or newer
  • A current stable Rust toolchain

Install dependencies:

Start the browser development environment:

After creating a convex deployment and configuring authkit following the instructions, configure the Convex deployment with the API key for each model provider you want to enable.

This runs Vite at http://localhost:5173 and the Rust API at http://127.0.0.1:7731, with development state kept in .sprocket-dev inside the repository. To develop against Electron instead, run:

cargo test
bun run test
bun run build
prek run -a

Create a local Electron installer package with:

Artifacts are written to apps/desktop/dist/ as sprocket-desktop-* (.AppImage / .dmg / .exe depending on the host OS). Published installers come from GitHub Releases; the sprocket CLI is published separately on npm.

  • If 17731 is already occupied, set SPROCKET_PORT before launching.
  • If sprocket opens the browser instead of the desktop app, install sprocket-desktop from GitHub Releases onto PATH, or set SPROCKET_DESKTOP_EXECUTABLE.
  • Unsigned macOS and Windows desktop builds may need a Gatekeeper / SmartScreen override the first time you open them.
  • Contact aarav@spikonado.com for help.