受保护的环境
把 Production 这样的环境标记为受保护,这样每次发送到它之前都会先询问,无论来自你还是智能体。
受保护的环境会在任何内容发送到它之前先询问。把你的生产环境标记为受保护,意外按下的 ⌘R、运行器的一次运行或智能体的一次调用,在有人点头之前都无法到达它。受保护的环境在所有显示它的地方都以红色标记。
保护环境
- 打开环境页面(⌥⌘E)。
- 选择该环境。
- 打开它名称旁的受保护。
该环境的行,以及环境菜单中它的圆点,会变成红色并带上盾牌标志。在文件中,它只有一行,所以这个选择会与每个打开该工作区的人共享:
name = "Production"
protected = true在 Alpenglow 中,Production 是受保护的。
什么会先询问
受保护的环境处于使用中时,下面这些操作在发出之前会先询问:
| 你发起的操作 | 位置 |
|---|---|
发送任何类型的请求,包括 GET 这样的安全方法 | 请求页面:发送、请求 › 发送(⌘R)、⌘↩ |
| 连接 WebSocket、Socket.IO、MQTT 或其他会话 | 请求页面:连接 |
| 在你切换到受保护的环境之前就已打开的会话中的消息 | 请求页面 |
| 一次运行 | 运行器:运行,每次运行一次 |
| 运行流程 | 流程页面:运行 |
| 快速发送 | 快速发送面板 |
| 快捷指令操作 | 快捷指令 App 会显示询问 |
| 调用、检查和监视 | MCP 服务器页面 |
| 获取 OAuth 2.0 令牌、获取 GraphQL Schema、gRPC 反射 | 请求页面 |
按钮在你点按之前就会说明:发送显示为发送到 Production…,连接显示为连接到 Production…,运行显示为在 Production 中运行…,均为红色。

询问内容
询问会写明环境,并显示将要发出的内容:方法和已解析的地址,其中的机密已被遮盖。例如:
要发送到 Production 吗?
Production 受保护。每次发送前都会先询问。
GET https://api.alpenglow.example/v1/products?category=tents&in_stock=true&sort=-price&per_page=10
- 取消是默认按钮:↩ 会取消,Esc 同样取消。没有任何内容会意外发送到受保护的环境。
- 发送(或连接、运行)才会发送。请用鼠标点按它。
- 切换环境之前不再询问会让此窗口在你选择另一个环境之前不再询问。Echolot 只把这个选择保留在内存中:它绝不会写入磁盘,并在你切换、关闭窗口或退出时结束。

智能体会怎么做
AI 智能体永远无法自行越过受保护的环境。无论方法是什么、工作区的智能体规则怎么说,每次发送到它都会在智能体的批准面板中询问你。面板上写着:“此环境受保护,因此无论方法和策略如何,每次发送都会先询问。”那里的允许一次不是默认按钮,所以 ↩ 不会批准它。在本次会话中允许会让同一个调用在窗口关闭之前再次通过而不询问;拒绝则拒绝它。
内置的助手和通过 Echolot 的 MCP 服务器的外部智能体都是如此。工作区中的智能体规则永远不能直接允许向受保护的环境发送。echolot mcp serve 以无界面方式运行、没有人可问时,这些发送会被拒绝。
命令行
echolot run、echolot send 和其他命令不会询问:在命令行中选择 --env production 本身就是决定。如果 CI 绝不应触及生产环境,请不要把生产环境的凭据放进 CI 的机密中。
提示
- 保护每一个指向真实数据的环境,而不仅仅是 Production。
- 状态屏幕 Echo 在受保护的环境处于使用中时会显示红色提醒。
- 想暂时在生产环境上工作而不被询问,请使用切换环境之前不再询问,而不要关闭受保护:这样对同事和智能体来说,保护依然有效。

