> ## 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 的权限模式、凭证保护和自动化安全边界。

<div className="code-docs">
  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` 遇到待处理问卷或权限请求会失败，不会绕过交互；
  * Browser、Computer Use 等桌面宿主能力不会因为 CLI 运行而自动获得。
</div>
