ITADN
spikonado/sprocket
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

链轮

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

以下是 Sprocket 的独特之处:

  • The only AI agent that can work on both hardware and software.
  • Retrieves best-in-class context from the web for everything it does, so it stays incredibly reliable.
  • Buys anything from any website when you ask, from hardware parts to SaaS subscriptions.
  • Makes beautifully detailed schematics, creates your BOM, and writes assembly instructions.

Sprocket 演示

Sprocket

使用 Sprocket

[!NOTE] 你可以使用以下任意方式运行 Sprocket,这不会影响 Sprocket 的功能或性能。 桌面应用可能比通过浏览器使用 Sprocket 占用更多 RAM。

无需安装即可运行

npx @spikonado/sprocket

上述操作会在你的浏览器中运行 Sprocket,除非你已安装桌面应用。

桌面应用

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

CLI

npm i -g @spikonado/sprocket
sprocket

上述操作会在未安装桌面应用的情况下,通过浏览器运行 Sprocket。

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

sprocket --web

工作区

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

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

Sprocket 会在启动之间记住已附加的工作区和本地服务器会话。 本地状态存储在 $HOME/.sprocket(如果在 Windows 上且未设置 HOME,则存储在 %USERPROFILE%\.sprocket)。 使用 SPROCKET_DATA_DIR 进行覆盖。

附加 CLI 参考

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

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

常见的 Sprocket 服务器覆盖项可作为环境变量使用:

变量用途
SPROCKET_DATA_DIR用于配对、会话和工作区状态的目录。
SPROCKET_PORT本地服务器端口;安装使用时默认为 17731
SPROCKET_HOST绑定主机;默认为 127.0.0.1
SPROCKET_DESKTOP_EXECUTABLESprocket CLI 使用的桌面可执行文件的完整路径。
PUBLIC_CONVEX_URL代理运行时使用的 Convex 部署。
SPROCKET_STATIC_DIR用于替代捆绑构建的 Web 构建。

开发

要求

  • Bun 1.x,版本 1.3.9 或更高
  • Node.js 24.x,版本 24.14 或更高
  • 当前稳定的 Rust 工具链

安装依赖:

bun install

运行 Sprocket

启动浏览器开发环境:

bun dev

在创建 Convex 部署并按照说明配置 authkit 之后,请为每个想要启用的模型提供商配置 Convex 部署的 API 密钥。

这将在 http://localhost:5173 上运行 Vite,在 http://127.0.0.1:7731 上运行 Rust API,并将开发状态保存在仓库内的 .sprocket-dev 中。 若要针对 Electron 进行开发,请运行:

bun dev:desktop

构建与测试

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

创建一个本地 Electron 安装包,包含:

bun run build:release

Artifacts 被写入 apps/desktop/dist/ 作为 sprocket-desktop-*(根据主机操作系统为 .AppImage / .dmg / .exe)。 已发布的安装程序来自 GitHub Releases;sprocket CLI 在 npm 上单独发布。

Troubleshooting

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