bailout:一条命令安装、用完即删的极小型应急编程智能体
GitHub 项目 bailout 自称“注定要被删除的 harness”:一条 curl 命令装上约 0.6 MB 的原生二进制,无需账号、本地 API 密钥、Git、Node 或 Python,就能在全新虚拟机或配置损坏的电脑上装工具、修配置,任务完成后用 bailout uninstall 移除。
bailout 是什么
bailout 是 GitHub 上的开源命令行工具(仓库 storozhenko98/bailout)。它的 README 把自己描述为“注定要被删除的 harness”。使用场景很直白:你面对一台全新的虚拟机或一台新 Mac,没有 GitHub CLI,没有配置好的编程智能体,也没有 API 密钥;或者你平时用的智能体坏了,却需要一个能工作的智能体来修它。bailout 用一条命令给你一个小巧、独立的 harness。你用它把机器引导起来,或者修好现有配置,然后回到日常工具,最后把它删掉。
安装只有两行:`curl -fsSL https://bailout.dev/install.sh | bash`,然后运行 `bailout`。README 说明不需要账号、本地 API 密钥、Git、Node、Python,也不需要已有的智能体。支持的平台是 Apple Silicon 的 macOS、x64 Linux 和 ARM64 Linux。你需要自备 Bash、curl、网络,以及常见的基础工具,包括 tar 和 SHA-256 工具。
README 中的关键事实
README 列出三种场景。第一种是“干净的起点”:启动一台 EC2 实例、GCP 虚拟机或新 Mac,让 bailout 检查机器、安装缺失的工具、帮你登录 GitHub、克隆仓库,并让 Codex、Claude Code、Pi 或 OpenCode 就绪。第二种是“坏掉的配置”:配置文件格式错误、运行时被移动,或某次更新弄坏了东西。此时 bailout 会检查发生了什么变化、备份配置、修复,并验证你的主力工具能工作。第三种是“快速退出”:真正有价值的结果是你的日常环境恢复正常,所以 bailout 没有守护进程、没有账号设置、没有持久的对话存储,也没有项目脚手架。 体积是它的卖点。README 称,v0.7.3 在 Apple Silicon 上是一个 638.6 KB 的原生二进制,并且每个发行版都小于 6,000,000 字节。v0.7.3 发布资产表列出:macOS ARM64 为 638,592 字节,Linux x64 为 844,576 字节,Linux ARM64 为 790,784 字节;压缩后的 .tar.gz 下载分别为 318,119、417,262 和 397,031 字节。Linux 版本用 musl 静态链接。项目只有三个直接的 Rust 依赖:`serde_json`、`libc` 和 `rustyline`。TLS 由系统的 curl 处理,模型要做的一切都交给 Bash。
Bash 是模型唯一的工具。命令会以你账号的权限自动运行,包括改文件、装软件包和访问网络。README 明确写道:这不是沙箱。智能体被要求先检查、保留可用的设置、修复前先备份配置,并在最后验证结果。会话内有几条命令:`/shell` 打开本地 Bash,`/last` 展开上一条命令的输出,`/new` 开始新对话,`/help` 和 `/exit` 用于帮助和退出。每次 Bash 调用都会启动新的 shell,所以 shell 状态不会保留。普通命令默认两分钟超时,交互式命令十分钟,模型最多可以申请三十分钟。默认上限是 50 个模型步骤。 登录始终由你本人完成。bailout 自带免费推理,但它帮你配置的工具使用的是你自己的账号和凭据。遇到登录、sudo 或输入密钥时,Bash 工具可以用 `interactive: true` 把真实终端交给你,这条命令的输入和输出不会被采集给模型,只返回退出状态。用完之后,`bailout uninstall` 只会删除正在运行的 bailout 二进制。你装的工具、克隆的仓库、修好的配置都会留在原处。
免费推理如何实现
README 的大部分篇幅都在论证一个说法:“免费意味着零”。托管在 Cloudflare Python Workers 上的 FastAPI 服务持有提供商密钥,客户端永远拿不到。对每一次模型请求,OpenRouter 适配器都会重新获取目录,要求模型明确带有 `:free`、原生支持工具且所有价格字段为零;检查该模型的端点价格为零、30 分钟内报告的可用率至少 95%;然后只把请求发往验证过的端点,并设置 `allow_fallbacks: false` 和硬性的零 `max_price`。它还会拒绝任意的路由覆盖、提供商密钥、插件、多模态内容以及 Bash 之外的任何工具。README 声明不存在付费推理的兜底路径,同时坦承应用依赖 OpenRouter 遵守其公布的价格与路由约定。
模型要进入生产,必须通过项目自己的“环境搭建与修复”基准:在完整的十项任务中至少 80% 成功、使用原生 Bash 调用,且没有严重失败。此外还有 Groq、Mistral、Z.AI 和 Vercel AI Gateway 的适配器,各自有免费资格规则。公共网关对每个 IP 限制为每分钟 60 次、每小时 600 次、每天 2,000 次,另有全局共享额度。README 称免费容量是共享的、尽力而为。
我们的分析
这个设计有意颠倒了常见智能体产品的逻辑。多数编程智能体想成为你的日常工具,而 bailout 想成为日常工具缺席或损坏时你伸手去拿的那一个。这是一个真实的“鸡生蛋”问题:修智能体需要另一个智能体。把二进制压到 1 MB 以内、不要求账号、使用托管的免费推理,就去掉了一台坏机器无法满足的前提。我们的解读是,体积小并非炫耀,而是在服务“用完就删”的承诺:小的产物容易信任、下载和丢弃。
代价是信任。因为推理是托管的,README 说明提示词、模型选取的文件内容和被捕获的 Bash 输出,都会经托管 Worker 发往所选提供商。它指出免费不等于零数据保留,提供商的数据政策依然适用。Worker 不存储对话、也不记录请求体,但网关会保留短期的每日 IP 哈希、配额预留和冷却状态。README 还提醒你不要把凭据贴进聊天,也不要让智能体打印机密文件。
风险与未解问题
有三点值得注意。第一,README 自己说命令会自动运行且这不是沙箱,模型出错可能改动真实机器。第二,安装方式是把网络上的脚本管道给 Bash。
README 描述了校验和验证、原子安装、体积检查和不使用 sudo,但你仍然要选择信任这个项目及其域名。第三,从 v0.4.0 起每次启动都会检查新的稳定版本并自动更新,除非设置 `BAILOUT_NO_UPDATE=1`。这很方便,但意味着二进制可能在两次运行之间变化。我们只阅读了 README,并没有运行这个工具,所以关于行为和基准的一切说法都出自作者。
给读者的实用建议
如果你管理一次性的云主机,这可以作为引导步骤看一看。先从范围很窄的提示开始,比如 README 里“改配置后某工具无法启动”的例子。
登录时使用 `/shell` 或交互式交接,绝不要把密钥输入聊天。发送敏感内容前先读隐私一节,任务结束后运行 `bailout uninstall`。如果需要独立的额度,README 说明了如何用 `BAILOUT_API_URL` 自建路由,Python API 需要 Cloudflare Workers Paid,或者在自己的服务器上用 Uvicorn 运行。
Sources
FAQ
bailout 运行前对机器有什么要求?
README 说不需要账号、本地 API 密钥、Git、Node、Python 或已有智能体。只需要 Bash、curl、网络以及 tar、SHA-256 工具等基础工具,平台为 Apple Silicon macOS、x64 Linux 或 ARM64 Linux。
bailout 是沙箱吗?
不是。README 写明 Bash 是模型唯一的工具,命令以你账号的权限自动运行,而且这不是沙箱。智能体只是被要求先检查、备份配置并验证结果。
bailout uninstall 会删除什么?
只删除正在运行的 bailout 二进制。你装的工具、克隆的仓库和修好的配置都保留,需要时可用同一条 curl 命令重新安装。