cwc-workshops Environments API指南:创建与配置Agent隔离沙箱环境

发布时间:2026/9/18 3:38:45
cwc-workshops Environments API指南:创建与配置Agent隔离沙箱环境 cwc-workshops Environments API指南创建与配置Agent隔离沙箱环境【免费下载链接】cwc-workshops项目地址: https://gitcode.com/GitHub_Trending/cw/cwc-workshops在 cwc-workshops 这套 Agent 工作坊示例中Environments API 是搭建 Claude Managed Agent 的核心环节之一一个Environment环境就是容器的配置模板它定义了你 Agent 运行沙箱的云类型、网络策略和预装依赖。掌握environments.create之后你只需几行代码就能为 Agent 创建完全隔离的云端执行环境实现安全的一键部署。为什么 Agent 需要隔离沙箱环境 ️Managed Agents 的运行链路是固定的四步Agent → Environment → Session → Events。其中资源角色一句话理解Agent大脑定义模型、提示词和工具Environment躯壳定义容器和网络配置Session一次任务把大脑放进躯壳开始干活Events神经系统双向流式事件通道沙箱按会话创建、用完即销毁ephemeral你无需自己运维任何容器。仓库中agents-that-remember工作坊的开场白把这件事总结得很精辟agents are templates that define model and prompt configuration, and environments are templates that define container configuration。三步创建第一个环境从零到隔离沙箱以ship-your-first-managed-agentIncident-2277 故障排查工作坊为例创建环境只是 7 个函数里的第 2 步。参考实现见 agent_complete.pyenv client.beta.environments.create( namefsre-agent-{uuid.uuid4().hex[:6]}, config{type: cloud, networking: {type: unrestricted}}, )三步走命名带上随机后缀避免多人共用同一 API Key 时重名冲突选类型type: cloud表示使用托管云沙箱容器在首次会话时才会真正分配约需 15~20 秒定网络策略unrestricted放开或limited白名单这是最关键的安全开关拿到env.id后把它传给sessions.create(environment_idenv_id)沙箱即告就绪。完整链路可对照 agent.py 中的提示注释练习。最小配置 vs 精细化配置networking 与 packages最简环境只需一个{type: cloud}仓库里 bootstrap.sh 就通过 CLI 一行搞定ant beta:environments create --name $ENV_NAME --config {type:cloud}生产级配置则要精细得多。看 Deal Desk 工作坊的投资研究沙箱 research.yamlname: deal-research config: type: cloud networking: type: limited allow_package_managers: true allow_mcp_servers: true allowed_hosts: - sec.gov - *.edgar-online.com - *.googleapis.com - finance.yahoo.com packages: type: packages pip: - pandas - numpy - yfinance这份配置体现了三个最佳实践网络白名单allowed_hosts只放行 SEC、EDGAR 等必要域名其余出站全部拦截防止提示注入后的数据外泄预装依赖packages.pip把 pandas、numpy 等常用库写进环境模板Agent 开箱即用按需开关 MCPallow_mcp_servers控制沙箱能否连接外部工具服务器环境 ID 的正确管理幂等与复用环境是账号级资源创建后 ID 应持久化切勿每次运行都新建。仓库里的几个工作坊给出了三种典型做法方式一YAML 文件 幂等脚本。Deal Desk 的 setup.sh 直接用ant beta:environments create seed/environments/research.yaml读取配置文件创建环境并把返回的 ID 写回.env重跑时检测到已有ENVIRONMENT_ID就直接复用脚本完全幂等。方式二本地 JSON 缓存。StockPilot 工作坊在 cma.py 的ensure_env()中实现查缓存 → 查远端 → 才创建的逻辑ID 缓存在.stockpilot_ids.json里部署可重复执行。方式三先 list 后 create。bootstrap.sh 先按名字environments list查一次查不到才创建——适合交互式工作坊场景。在 Session 中绑定环境并挂载资源环境创建完毕后绑定动作发生在创建 Session 时。以 SRE 工作坊为例见 agent_complete.pysession client.beta.sessions.create( agentagent_id, environment_idenv_id, resources[{type: file, file_id: log_file_id, mount_path: app.log}], )注意resources参数它把之前上传的文件如 7 万行日志挂载进沙箱文件系统Agent 就能在隔离环境里直接 grep、写脚本分析。多 Agent 场景下同样适用——StockPilot 的每个子 Agent 会话都复用同一个environment_id见 cma.py。经验提示环境不区分版本一个环境可被所有会话共享但 Agent 有版本管理会话永远使用最新 Agent 版本 指定环境两者职责清晰分离。常见配置速查表 配置项取值适用场景config.typecloud所有托管沙箱当前唯一类型networking.typeunrestricted开发调试、需随意装包networking.typelimited生产环境、金融/合规场景allowed_hosts域名列表支持*.x.com通配符限定出站白名单allow_package_managerstrue/false是否允许 pip/npm 等在线装包allow_mcp_serverstrue/false沙箱能否连 MCP 外部工具packages.pip包名列表预装 Python 依赖选型口诀练习用unrestricted图快一旦 Agent 要处理真实业务数据如 research.yaml 中的尽调场景立即切到limited 最小白名单。总结Environments API 一页纸清单定位Environment 容器配置模板与 Agent大脑模板配对使用创建Python SDK 用client.beta.environments.create()CLI 用ant beta:environments create 配置.yaml安全生产环境务必用limited网络 allowed_hosts白名单复用环境 ID 要持久化.env或 JSON 缓存创建逻辑保持幂等绑定在sessions.create时通过environment_id挂载配合resources注入文件想动手实践可克隆本仓库并进入任一工作坊目录如 ship-your-first-managed-agent 或 production-ready-agent每个工作坊都自带完整的环境配置示例和分步练习git clone https://gitcode.com/GitHub_Trending/cw/cwc-workshops从 4 行代码的unrestricted环境起步再进阶到 18 行的白名单 依赖预装配置——这就是 Environments API 从入门到生产的全部路径 【免费下载链接】cwc-workshops项目地址: https://gitcode.com/GitHub_Trending/cw/cwc-workshops创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考