View a markdown version of this page

外壳执行 - Amazon Bedrock AgentCore

外壳执行

Amazon Bedrock R AgentCore untime 允许你在正在运行的代理的会话中运行 shell 命令。根据您的用例,有两种模式可供选择:

One-shot 命令执行-InvokeAgentRuntimeCommand

运行单个命令,流式传 stdout/stderr 输 HTTP/2,然后返回退出代码。每个命令都会启动一个没有持久状态的全新 shell 进程。最适合自动化管道、 CI/CD 门和确定性操作。

交互式外壳(终端)-InvokeAgentRuntimeCommandShell

打开 WebSocket 具有完整 shell 状态(环境变量、工作目录、历史记录)的永久终端会话。支持通过shellId重新连接。最适合调试、环境检查和终端 UI。

功能对比

功能 One-shot (InvokeAgentRuntimeCommand) 互动 (InvokeAgentRuntimeCommandShell)

协议

HTTP/2 (请求-响应流)

WebSocket (永久连接)

外壳状态

无状态 — 每条命令都会启动一个新的进程

持久 — 环境、工作目录和历史记录贯穿命令

输出格式

结构化事件(contentStartcontentDeltacontentStop带退出代码)

二进制帧(原始终端 I/O — 支持颜色、光标控制、全屏应用程序)

重新连接

不是 — 每个通话都是独立的

是的,通过 shellId

Duration

可配置的超时(1—3,600 秒)

最长 1 小时(使用相同方式重新连接shellId以继续)

选择正确的模式

在... 时使用一次性执行 在... 时使用交互式外壳

该操作有一个已知的命令 (npm test,git push)

你需要在多个命令之间保持持久的 shell 状态

你想要使用结构化退出代码进行确定性执行

你想以交互方式探索环境

你正在自动执行 CI/CD 管道步骤或验证门

你正在构建终端用户界面(Claude Code、Amazon Kiro、OpenAI Codex)

每个命令都是独立的,没有共享状态

您需要为长时间运行的工作提供重新连接支持

你是在代理启动之前引导环境

您正在调试或检查正在运行的代理