> ## Documentation Index
> Fetch the complete documentation index at: https://agent.minimaxi.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 安全与权限

> 理解 MiniMax Code CLI 的权限模式、凭证保护和自动化安全边界。

CLI Agent 可以读取文件、修改工作区并执行终端命令。运行前先选择合适的权限策略，并为自动化任务设置明确的工作区、模型、超时和步数边界。

## 权限模式

### TUI

| 模式 | 行为 | 使用方式 |
| - | - | - |
| Ask | 对工具操作请求交互式确认 | `/permission ask` |
| Auto | 对常规操作自动判断，风险较高时询问 | `/permission auto` |
| Full access | 跳过常规权限确认 | `/permission full` |
| Off | 关闭权限模式 | `permissionMode: off` |

快捷键 `Alt+M` 可以在 TUI 中切换 Ask、Auto 和 Full access。使用 `/permission status` 查看当前模式。

### Headless

Headless 使用不同的 CLI 名称：

```bash theme={null}
mcode exec --permission smart "运行测试"
mcode exec --permission full "在隔离工作区完成迁移"
mcode exec --permission off "执行受控批处理"
```

`smart` 对应 TUI 的 Auto。Headless 不支持 `ask`，因为它没有人工确认界面；需要人工介入时改用 TUI 或 ACP。

## Plan Mode 不是权限模式

Plan Mode 控制先规划还是直接执行，权限模式控制工具操作如何确认。两者相互独立：

```text theme={null}
/plan on
/permission ask
```

即使开启 Plan Mode，进入执行阶段后仍会遵循当前权限策略。即使使用 Auto 或 Full access，也可以先用 Plan Mode 审阅范围。

## 推荐的安全基线

### 交互式开发

* 默认使用 Ask 或 Auto；
* 在执行删除、批量写入、外部请求前检查目标路径和命令；
* 对不熟悉的仓库先运行 `mcode init .`，确认 `AGENTS.md` 中的项目约定；
* 使用 `/status`、`/doctor` 和 `/context` 检查账号、配置和上下文状态；
* 任务结束后查看 Diff 并运行相关测试。

### CI 和批处理

* 使用显式的 `--cwd`，不要依赖调用方的当前目录；
* 使用 `--timeout` 和 `--max-steps` 限制运行范围；
* 只在隔离工作区使用 `--permission full` 或 `off`；
* 使用 `--output-format json` 或 `stream-json`，不要从人类可读文本猜测结果；
* 同时检查进程退出码和 JSON 的 `status`；
* 将 stdout 与 stderr 分开保存，避免诊断信息污染机器输出。

## 凭证保护

Provider API Key 从环境变量读取：

```bash theme={null}
export MCODE_PROVIDER_API_KEY="..."
mcode provider set-minimax-key
```

不要把 Key 写进仓库、`AGENTS.md`、任务 prompt、截图或 CI 日志。登录回调 URL 可能包含临时凭证，同样不要分享或提交。使用 `mcode provider list` 查看状态时，CLI 只显示托管登录或脱敏 Key 信息。

## 工作区和数据目录

CLI 默认数据根目录是 `~/.minimax`，可通过 `MINIMAX_DATA_DIR` 切换：

```bash theme={null}
export MINIMAX_DATA_DIR=/path/to/mcode-data
```

运行前确认数据目录和工作区的文件权限。远程主机、共享机器和 CI runner 应使用独立数据目录，避免不同账号或任务共享 Session、日志和 Provider 配置。

## 协议入口的边界

* ACP 的 stdout 只允许协议消息，日志应写 stderr；
* `mcode exec` 遇到待处理问卷或权限请求会失败，不会绕过交互；
* Computer Use 只在交互式 TUI 中、显式选择官方插件后可用，Headless、ACP、定时任务和子任务无法获得电脑控制能力；Browser 等桌面端能力不在 CLI 中提供。
