沙盒化 shell 运行时环境
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/give-coding-agents-sandboxed-shell-runtimes-with-swe-rex。
技能介绍
编码代理面临的运行时问题
当编码代理需要真正执行命令时,通常得面对一个现实:本地 shell、Docker 容器、云主机或 serverless 环境的调用方式各不相同。团队为了跑通一个测试,可能要为每种环境单独编写适配代码;切换到远程执行后,原有的进程管理逻辑往往也要推倒重来。此外,退出码、标准输出与交互式工具的捕获方式缺乏统一约定,使得并行运行多个会话变得棘手。
用 SWE-ReX 统一执行接口
这个技能的核心是把 SWE-ReX 作为一层运行时抽象。无论命令最终落在本地机器、Docker 容器、AWS 远程主机还是 Modal 平台上,代理侧的调用代码保持同一套接口。运行时负责返回结构化的命令输出和退出码,支持交互式工具的持续会话,并能在同一配置下并发启动多个实例。
适用边界与注意事项
- 需要 Python 环境与
swe-rex依赖,可选 Modal、Fargate 或 Daytona 后端 - 上游项目声明支持非 Linux 机器,但实际可用性取决于所选后端
- 运行时依赖上游文档,需要跟随
SWE-ReX的版本变化 - 该技能只解决执行层的一致性,不覆盖任务规划或代码生成
使用场景
- Agent 需要在本地与容器间切换执行测试命令,但不想重写调用逻辑
- 编码代理要并行跑 30 个 SWE-bench 实例,需统一管理会话与退出码
- 团队把命令执行迁到 AWS Fargate 远程主机,希望代理侧代码保持不变
- 需要在非 Linux 机器上运行 shell 命令,且不依赖 Docker 环境
适合人员
- 开发编码代理的工程师,需要在多种执行环境中复用同一套命令调用代码
- 负责 SWE-bench 类评测的研究者,要把多个实例并行跑在远程或容器后端
- 搭建 Agent 运行时的工程师,希望统一处理退出码、输出流与交互式会话