# instabox 中文文档

规范地址：https://npmcn.com/package/instabox/

版本：0\.8\.150
npm 元数据更新时间：2026-11-03T21:28:43.683Z
中文译文更新时间：2026-11-03T22:09:54.936Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/instabox
原文对照：https://npmcn.com/package/instabox/?lang=original
项目主页：https://instabox.sh/
源码仓库：https://github.com/InsForge/instabox

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：57.9 MB，35 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18\.17
- 运行依赖：0 个
- 首次发布：2026-10-13T00:07:12.865Z
- 最新版本发布：2026-11-03T21:28:43.549Z
- 已发布版本数：168（近 12 个月 168 个）

## 中文简介

一个用于编码代理的云盒，instabox CLI及其代理技能在一个命令中：npx instabox@latest

## 安装

```sh
npm install instabox
```

也可以使用：`pnpm add instabox`、`yarn add instabox`、`bun add instabox`

## README

# instabox (npm)

```
npx instabox@latest      # sign in, install the CLI and the agent skills (--no-skills: no skills)
npx instabox@latest sh   # the same, then start a new box and SSH into it
npx instabox@latest skills install -y   # only the agent skills: no sign-in, no network
```

`npx instabox@latest` 用设备代码登录instabox(只能第一次运行：打开它在任何设备上打印的页面并输入代码；它会在有浏览器的地方为你打开页面，而不是用浏览器。 `--no-browser`)，安装 `instabox` CLI已经登录或更新了过期的CLI(跳过 `--no-cli`)，安装或更新代理技能 [`../skills`](https://npmcn.com/package/skills) 在 `~/.claude/skills`， `~/.agents/skills` 和 `~/.gemini/config/skills` (跳过 `--no-skills`)，并打印接下来的步骤。它不会碰你的盒子。

`npx instabox@latest sh` 完成所有这些，然后启动一个新框(`box-<hex>`)，并通过SSH将您放入其中，没有问题。由代理（无终端）运行，它启动盒子并打印 `instabox ssh <box> -- <command>` 而不是打开一个壳。在盒子限制处，它什么都不开始，列出你的盒子，删除一个(`instabox rm --yes <box>`)或打开一个(`instabox ssh <box>`）.

GitHub和谷歌登录是独立的instabox帐户，每个帐户都有自己的盒子。这个入口点和 `instabox login` 让登录页面同时提供这两种服务。 `--google` 直接请求谷歌 `instabox login --provider google`． 一个代理没有浏览器，也没有人在键盘上签名，而是用 `instabox login --agent` 一旦安装了CLI （docs/agent-auth）。Md)：它为帐户所有者打印索赔页和代码，帐户所有者稍后从任何设备进行审批。

没有终端（代理，CI），没有人可以输入设备代码，因此登录来自 `INSTABOX_API_KEY` (一个 `ibk_...` 密钥（如CLI接受的）：没有浏览器、没有设备代码、没有保存任何内容)、已经保存的登录或来自的代理密钥 `instabox login --agent`． 如果没有，它立即退出状态为3，并告诉如何继续，而不是等待一个代码，没有人会进入。 `--device-code` 无论如何都要请求设备代码，让代理将其转发给一个人。 `-y` （`--yes`)不要求任何东西：没有邀请码提示。

`npx instabox@latest skills install [-y] [--claude|--codex|--cursor|--opencode|--antigravity|--all]` 只安装特工技能，没有登录：克劳德代码 `~/.claude/skills`， Codex's, Cursor's和OpenCode's `~/.agents/skills` （三个人都读过，所以给他们一份），《反重力》开始了 `~/.gemini/config/skills`． 由于没有命名代理，它为所有代理安装，首先在终端询问，除非 `-y`． 一个未知的标志是一个使用错误，状态2。

任何其他命令行都是instabox CLI的([`cmd/instabox`](https://npmcn.com/package/cmd/instabox)）： `npx instabox@latest ls` 运行 `instabox ls`，这个包携带的构建。

这个包是CLI的唯一来源 `npx instabox@latest` (或 `npm install -g instabox` （在脚本和CI中）是如何安装它。两个旧的路径也从npm注册表中读取它： `curl -fsSL https://api.instabox.sh/install.sh | sh`，仍然为现有脚本提供服务，但不再发布（服务器提供脚本；脚本请求） `$INSTABOX_NPM_REGISTRY/instabox/$INSTABOX_VERSION`、默认 `https://registry.npmjs.org` 和 `latest`,因为 `dist.tarball`，对tarball进行验证 `dist.integrity` （sha512），并提取 `package/cli/instabox-<os>-<arch>`), `instabox update` （围棋也是如此）。控制平面不构建、存储和服务CLI: CLI变更在合并后几分钟就会在npm上发生，不需要发布，也不需要部署。

## 它是如何工作的

-   `bin/instabox.mjs` 运行instabox的设备代码登录（RFC 8628）， `POST /v1/auth/device`然后是民意调查 `/v1/auth/device/token`),如 `instabox login` ，并将令牌保存在CLI自己保存的地方， `~/.config/instabox/credentials.json`，所以两人同时签到。有一个副本是故意的：服务器旋转刷新令牌，并在一个旋转的令牌返回时结束会话。
-   `sh` 总是启动一个新的盒子，没有超时，也没有空闲的自动挂起。命令行输入已存在的框： `instabox ssh <box>`。
-   该包包含Go CLI：所有六个版本（darwin、linux和windows； amd64和arm64） `cli/`, `bin/instabox.mjs` 为这台机器挑选一个([`lib/platforms.mjs`](https://npmcn.com/package/instabox/lib/platforms.mjs)）. 一个包而不是每个平台一个包保持发布到单个包和单个可信发布者设置；代价是每次安装都要下载其他平台的构建（大约22 MB压缩，每个版本缓存npx）。它将二进制文件复制到PATH (`$INSTABOX_INSTALL_DIR`,否则 `/usr/local/bin` 当可写时，else `~/.local/bin`;窗口: `%LOCALAPPDATA%\Programs\instabox`)，替换内容不同的已安装CLI，并留下开发构建(`instabox dev`,或 `-dirty`)。命令行不需要网络连接 `npx instabox@latest <command>` 直接运行捆绑的二进制文件，不管PATH上是什么。
-   如果没有捆绑的二进制文件（没有构建的平台，或者从签出运行的目录），其中 `cli/` 不存在直到 `scripts/bundle-cli.mjs` 填充它)没有安装任何东西，也没有下载任何东西：输出在一行中说明了原因(`lib/cli.mjs`， `missingBundledCli`)，则已安装的CLI保持原样，并且 `npx instabox@latest <command>` 如果安装了命令行，则运行命令行。
-   技能只写在有标记的副本上 `installed-by: instabox`;输出说明哪些已安装、已更新、已更新或保留，因为它们是用户自己的。
-   在Windows上 `instabox.exe` 去 `%LOCALAPPDATA%\Programs\instabox`;输出给出PowerShell行，该行将该文件夹放在用户的PATH上，并且 `npx instabox@latest <command>` 发现它没有那个。
-   垃圾箱也叫 `instabox`,所以 `lib/cli.mjs` 找到真正的CLI的方式insta CLI `node_modules` 如果没有此脚本的链接，则安装程序自己的目标。
-   `prepack` 副本 `../skills` 装入包装；那里的所有技能都将在下次发布时发布。

## 开发

```sh
npm ci
npm test
npm run format:check
npm pack            # copies ../skills, then builds instabox-<version>.tgz
npx --package=./instabox-0.4.3.tgz instabox --help
```

`INSTABOX_API_URL` 指向另一个instabox服务器。从签出没有捆绑的二进制文件(`cli/` 不在版本控制中)，所以包装器什么也不安装，并这样说；要尝试真正的东西，请填充 `cli/` CI的方式：

```sh
../scripts/build-cli.sh --out ../out/cli --version 0.0.0-local
node scripts/bundle-cli.mjs --cli-dir ../out/cli   # -> cli/, checked against SHA256SUMS
node bin/instabox.mjs --version                     # runs cli/<build> for this machine
npm pack                                            # a tarball with the binaries, ~22 MB
```

## 释放

不需要手工操作。 [`npm-release.yml`](https://npmcn.com/package/.github/workflows/npm-release.yml) 每推一次就跑一次 `main`． 当包裹运送的任何东西自上次以来发生变化时 `npm-v*` 标记(`cmd/instabox` 该模块导入的包， `npm/`， `skills/`， `go.mod`， `go.sum`， `scripts/build-cli.sh`)，它构建了六个CLI二进制文件 `scripts/build-cli.sh`把它们放进去 `cli/` 与 [`scripts/bundle-cli.mjs`](https://npmcn.com/package/instabox/scripts/bundle-cli.mjs) 每一项核对 `SHA256SUMS`),出版 `instabox` 通过NPM可信发布（任何地方都没有NPM令牌），并标记提交 `npm-v<version>`． 任何能合并的人都能释放。

版本是 [`scripts/next-version.mjs`](https://npmcn.com/package/instabox/scripts/next-version.mjs)的: `package.json` 命名一行(`0.8.0`)，并合并船舶 `0.8.0`， `0.8.1`， `0.8.2`这就去。 `package.json` 更改仅用于开始新的行（新的小调或大调）；低于最高发布的稳定版本的一行将被拒绝，因此是回退 `package.json` 无法移动 `latest` 回来。一个带有 `-` （`0.9.0-rc.1`)是按书面形式出版的，曾经在 `next` dist-tag。工作流设置版本 `npm version` 在发布时间；提交的 `package.json` 保持线的底部。 `instabox --version` 打印 `<npm version>+<commit>`。

提交只发布一次。NPM记录它发布的每个版本的提交(`gitHead`)，版本步骤首先读取注册表的包：当从此提交构建的版本已经存在时（在发布成功后重新运行，但标记作业失败），则不会再发布任何内容，只会发布丢失的版本 `npm-v<version>` 标记已创建。因此，失败的运行只是从Actions选项卡重新运行(`workflow_dispatch`）. 它的 `force` Input发布一个没有任何更改的新补丁。

可信发布是npmjs.com上的一个设置 `instabox` →设置→可信发布者：GitHub Actions， `InsForge` / `instabox` / `npm-release.yml`． 它是固定的。重命名工作流文件将中断发布，直到更新设置；NPM不遵循重命名。

用户从npm获得的CLI， `install.sh` 或 `instabox update` Alike是最新发布的，可以在网站运行之前发布。

## 常见问题

### instabox 是什么？

一个用于编码代理的云盒，instabox CLI及其代理技能在一个命令中：npx instabox@latest

### 如何安装 instabox？

在项目目录运行 npm install instabox，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 instabox，可以用 npx instabox 直接运行。

### instabox 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/instabox 是否存在。

### instabox 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### instabox 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.17。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### instabox 可以商用吗？

instabox 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### instabox 还在维护吗？

最新版本 0\.8\.150 发布于 2026/11/04（1 天前）；至今共发布 168 个版本，其中过去 12 个月发布了 168 个；首次发布于 2026/10/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

