Runtm
为编码智能体提供开源沙箱:在隔离环境中运行 Claude Code、Cursor 等智能体构建并部署软件,附带实时 URL、日志与预览。
加分点:OS 级沙箱(bubblewrap/seatbelt)、secrets 本地存储且服务器不落盘、egress 默认受限、限速与 artifact 大小限制均有具体描述。扣分点:沙箱实现代码未在证据中展示,隔离为文档声明而非可核对代码;'yolo 全权限' 是默认设计取向;用户确认仅见于 'runtm approve --dry-run' 一句最佳实践,无工作流细节;依赖安全仅有 CI 中固定 Ruff 版本,无锁定或审计机制;部署回滚路径未说明。
加分点:CI 覆盖 lint/typecheck/多包测试并带真实 Postgres/Redis 服务,错误处理有测试(未知 adapter 抛 ValueError、未执行 prompt 返回明确错误)。扣分点:mypy 两个包 continue-on-error 软失败,削弱类型保证;大量断言仅在文档层面。
加分点:目标用户与场景(运行编码 agent 的开发者)表述清晰,多 agent 支持、多模板、自托管选项明确,命令语义精确(start/list/attach/stop/destroy 区分保留与删除文件),平台差异(Linux/macOS 沙箱后端)有说明。扣分点:能力上限(如并发、规模)与 Windows 支持未说明。
加分点:仓库结构图、安装路径(uv/pipx/pip)、快速上手与命令表完整,拆分许可证(AGPLv3/Apache-2.0/MIT)有专文解释。扣分点:runtm/runtm-dev/runtm-api 三个 CLI 命名易混淆;无 CHANGELOG 与已知限制文档;仓库级 license 元数据为 NOASSERTION;维护仅单一署名作者,存在总线因子风险。
加分点:产物即 URL 加日志/预览,JSON-in/JSON-out 的 agent CLI 与内嵌 skill 文件提升 agent 可用性;空闲自动停机控制成本。扣分点:部署耗时、配额与实际成本结构未在源内给出,收益依赖执行验证(本次为静态评审)。
加分点:核心声明(secrets 流、认证、限速)在 README/SECURITY.md 间相互印证,且标注 V0 阶段;事实与营销基本分离,附包级许可文件路径可核对。扣分点:性能类声明(<100ms 启动)无依据文件,属于无法静态验证的断言。
- 沙箱隔离与安全声明均来自文档,本评审未执行任何代码,未独立验证隔离强度,使用前请自行复核 bubblewrap/seatbelt 配置。
- 产品默认允许 agent '全权限 yolo' 运行,部署产生公网 URL;请确认确认/审批流程(approve --dry-run)能满足你的风险要求。
- runtm、runtm-dev、runtm-api 三个 CLI 语义不同,混用可能误操作(如 destroy 类命令),注意区分。
- 维护者单一,仓库级许可证元数据为 NOASSERTION,无 CHANGELOG;生产采用前评估供应持续性。
这个 Agent 能做什么,适合哪些场景?
Runtm 是一个开源平台,为 AI 编码智能体提供隔离沙箱,让它们可以全权限地编写、测试并部署软件,而不危及本机或云端。它包含 Python CLI(runtm)、Go 编写的 Agent CLI(runtm-api)、FastAPI 控制平面、构建部署 worker,以及基于 bubblewrap(Linux)或 seatbelt(macOS)的 OS 级沙箱运行时。本地沙箱启动时间小于 100 毫秒,无需容器,支持 Claude Code、Codex、Gemini CLI 等多种智能体,会话可停止、恢复且文件持久化。部署后智能体获得实时 HTTPS 端点,基础设施空闲自动休眠、有流量自动唤醒,并可通过 runtm logs 查看构建、部署与运行日志。整个平台支持自托管(Docker Compose),服务器组件采用 AGPLv3,CLI 与沙箱为 Apache-2.0,模板为 MIT。
通过 runtm session start 启动 OS 级隔离沙箱(可用 --template web-app 指定模板、--agent codex 切换智能体);智能体在沙箱内获得完整权限进行编码、安装依赖、运行测试;runtm session deploy 一条命令将沙箱内容部署到真实 HTTPS URL 并附带日志与预览;runtm session list/attach/stop/destroy 管理会话生命周期,stop 保留文件;runtm init/deploy/logs/status/destroy 覆盖项目初始化、部署与运维。Go 版 runtm-api 以 JSON 输入输出、稳定退出码驱动托管 Cloud API,并内置 Claude Code、Cursor、Codex 技能文件;两个 CLI 共享同一 API key。自托管时克隆仓库、运行 ./scripts/dev.sh setup、用 docker compose 启动本地服务,再以 runtm-dev CLI 操作。
- 想让智能体以全权限运行又担心危及本机安全的开发者,用 OS 级沙箱隔离风险。
- 同时使用 Claude Code、Codex、Gemini CLI 的多智能体用户,需要统一沙箱与部署入口。
- 需要快速给智能体产出提供可分享 HTTPS URL 的原型开发者,用 runtm session deploy 一键上线。
- 希望调试智能体构建结果的工程师,通过 runtm logs 查看构建、部署与运行日志后让智能体修复并重新部署。
- 不愿依赖托管服务、有数据或合规要求的团队,按自托管指南用 Docker Compose 部署整套控制平面。
- 驱动托管 Cloud API 的自动化流水线,使用 JSON 输入输出的 runtm-api CLI 获得稳定退出码。
这个 Agent 有哪些优点和局限?
- OS 级沙箱(bubblewrap/seatbelt)启动小于 100ms,无需容器,隔离成本低。
- 同时支持 Claude Code、Cursor、Codex、Gemini CLI 等多种智能体,不被单一厂商绑定。
- 部署即得真实 HTTPS URL,空闲自动休眠、流量唤醒,日志与预览开箱即用。
- 可完全自托管,且许可证分层清晰(服务器 AGPLv3、CLI Apache-2.0、模板 MIT)。
- Go 版 runtm-api 面向智能体设计:JSON 输入输出、稳定退出码、内置技能文件。
- 沙箱隔离依赖平台特定机制(bubblewrap 仅 Linux、seatbelt 仅 macOS),其他平台支持情况未在文档中说明。
- 服务器组件为 AGPLv3,对商业化集成与分发有合规义务。
- 完整功能(如托管 Cloud API)涉及 runtm.com 托管服务与 API key,自托管与托管版在工具链上有差异(runtm-dev vs runtm)。
- README 未提供性能基准、安全模型细节或定价信息,评估生产可用性需自行验证。
- 仓库许可字段为 NOASSERTION,多组件许可证意味着采用前需逐项核对。
如何安装或部署这个 Agent?
推荐用 uv 安装 pip CLI:uv tool install runtm;也可用 pipx install runtm 或 pip install runtm。Go 版 Agent CLI(runtm-api)安装:curl -fsSL https://runtm.com/install | bash。自托管:git clone https://github.com/runtm-ai/runtm.git,cd runtm,cp infra/local.env.example .env,运行 ./scripts/dev.sh setup 安装软件包,再 docker compose -f infra/docker-compose.yml up -d 启动服务(自托管请用 runtm-dev 而非 runtm)。托管 Cloud API 需 API key(两个 CLI 共用)。
如何使用这个 Agent?
runtm session start 启动本地沙箱(首次运行自动安装依赖);可用 --template web-app 或 --agent codex 定制;runtm session list 查看沙箱,runtm session attach sbx_xxx 重连,runtm session stop 停止并保留文件;智能体构建完成后 runtm session deploy 部署到实时 URL;runtm logs <id> 查看日志,runtm status <id> 查看部署状态,runtm destroy <id> 销毁部署。自托管环境中改用 runtm-dev,如 runtm-dev start、runtm-dev prompt "Build an API"。