# Copilot 会不会未经确认就改动我的服务器

说明 Compute Copilot 默认模式下写操作为何生成即执行、无需逐条批准，以及"停止"按钮为什么不会撤销已经完成的改动。

不会。在 Compute Copilot 里发一条会修改实例的指令，比如"重启这台实例"或"删掉这份旧备份"，只要模型判断需要调用对应工具，操作会**立刻在真实资源上执行**。控制台目前唯一能打开的运行模式没有"生成计划 → 你确认 → 再执行"这一步：写操作和只读查询走的是同一条通道，模型决定调用，工具立刻运行。

_界面示意图：Compute Copilot 对话面板：一条正在执行写操作的消息气泡，以及输入框右侧的『停止』按钮_

## 开始之前

- **模式**：控制台目前只有一种运行模式，打开 Compute Copilot 发消息就是在用它，不需要切换任何设置。
- **表达意图**：只想要模型给建议、不想真的执行时，要在指令里明确写出来，不能假设"不说清楚就不会做"。
- **具体操作**：单个操作各自的确认弹窗和参数，请查看对应的实例操作文档；本文只回答"要不要经过批准"这一个问题。

## 默认模式会做什么，不会做什么

打开 Copilot 时，控制台会用一条一次性提示说明这一点，原文是：

> **操作会真实执行**
> 当前默认会直接执行安装、重启和配置修改等操作，不会逐步等待确认。发送前请核对目标；只想分析时，请明确要求仅检查并给出方案。

这条提示只在你第一次使用时弹出一次，关闭后不会再出现，但它描述的行为一直生效：

| 会发生什么                                               | 不会发生什么                                                                         |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| 模型决定调用一个会修改实例的工具后，该操作直接执行       | 不会先生成一份行动计划，等你核对目标、影响范围和回滚方式后再继续                     |
| 每一步写操作执行后都会记入会话时间线，供事后查看         | 不会在执行前弹出"确认"按钮或任何拦截式对话框                                         |
| 你可以在指令里明确要求"只分析、不要执行"，模型会据此调整 | 不会因为操作看起来"危险"（比如删除、重装）就额外多问一次——所有写操作走的是同一条规则 |

> [!WARNING]
> 指令一旦发出，只要模型判断需要调用某个写操作工具，该工具就会立即在你的实例上真实执行。把目标实例和操作范围在发送前写清楚，比事后补救更可靠。

## 这个规则覆盖哪些操作

以下操作都属于会修改实例状态的"写操作"，共用同一条无需批准的执行路径，不区分风险高低：

- 开机、关机、强制重启
- 用镜像重装实例——会覆盖系统盘
- 删除实例，包括永久终止
- 删除一份已完成的备份
- 用备份恢复系统盘——会覆盖当前系统盘内容
- 更改公网 IP、私网 IP、IPv6
- 重置系统登录密码
- 在实例内直接执行 shell 命令

删除实例、删除备份、恢复备份这类通常被认为"高危"的操作，**不会**因此获得额外的二次确认——它们和开关机走的是完全相同的执行路径，代码里没有为它们单独设置更严格的门禁。

## "停止"按钮会做什么，不会做什么

写操作正在连续执行时，输入框右侧会出现"停止"按钮。它能挡住的和挡不住的是两回事：

_界面示意图：正在执行中的 Copilot 会话：时间线里已经完成的操作步骤，以及仍可点击的『停止』按钮_

| 会发生什么                                                     | 不会发生什么                                   |
| -------------------------------------------------------------- | ---------------------------------------------- |
| 点击"停止"会中断排在后面、还没开始执行的步骤                   | 不会撤销已经跑完的那些步骤——没有回滚或补偿机制 |
| 已经完成的改动（比如已经删除的备份、已经覆盖的系统盘）原样保留 | 不会把实例恢复到执行前的状态                   |
| 停止期间你输入的新内容会保留为草稿                             | 不会自动把草稿排队接到下一轮继续执行           |

换句话说，"停止"只能拦下"接下来还没发生的事情"，对"已经发生的事情"没有任何补救作用。如果模型已经调用了删除备份的工具，点击停止不会把备份找回来。

## 什么情况会让 Copilot 自动暂停

除了手动点击"停止"，还有几种和"是否需要批准"无关的资源限制，达到上限也会让 Copilot 自动停下：

- 单轮工具调用次数达到上限
- 单轮执行时间超过上限
- 连续多步没有产生有效进展
- 模型连接连续失败达到上限

这些都是熔断机制，触发条件是执行量或时长，不是操作本身的危险程度。触发时同样只是停止后续步骤，**不会**撤销已经执行的改动。

## 逐条审批目前无法开启

> [!NOTE]
> 后端接口支持在创建会话时传入 `on_request`
> 审批策略，理论上能让写操作逐条等待批准；但控制台目前没有任何入口可以开启它——不管是运行时设置面板还是其他位置，都不存在这样一个开关。是否会在未来的界面上开放这个选项，属于尚未确认的开放问题，不要按"可以打开"来理解或操作。

## 改在实例详情页操作以获得确认

Compute Copilot 目前没有办法让写操作先出计划再等你确认。如果某个操作你希望执行前有二次确认，绕开 Copilot，直接在实例详情页操作——开关机、删除实例这些入口各自带有常规的确认弹窗，删除实例还会要求你输入实例名称做二次确认。

- 参阅[启动、停止与重启实例](/zh-cn/compute/instances/management/power/)了解电源操作的确认弹窗。
- 参阅[删除实例](/zh-cn/compute/instances/management/delete/)了解删除前需要输入实例名称确认的步骤。

## 相关文档

- [Compute Copilot](/zh-cn/compute/copilot/)
- [Copilot 工具与操作](/zh-cn/compute/copilot/tools/)
- [Copilot 会话](/zh-cn/compute/copilot/sessions/)
- [启动、停止与重启实例](/zh-cn/compute/instances/management/power/)
- [删除实例](/zh-cn/compute/instances/management/delete/)
