Claude Code In Action
← 所有课程
课程 104Claude Code In Action

Permission modes

摘要音频

本节课没有语音摘要。

学习笔记

🤖 权限模式 (Permission Modes) 学习笔记

核心概念:

  • 权限模式 决定了 AI 在没有用户干预的情况下可以执行哪些操作。
  • 循环切换: 使用 Shift-Tab 键可循环切换日常使用的模式(Manual, Accept Edits, Plan, Auto)。
  • 状态栏: 状态栏会显示当前所处的权限模式。

主要权限模式定义:

  • Manual (手动): 仅进行读取操作,其他所有操作都需要用户提示确认。
  • Accept Edits (接受编辑): 接受文件编辑和常见的系统 bash 命令,适用于事后审查代码迭代。
  • Plan (计划): 仅进行读取,负责研究和提出建议,但不进行实际编辑。
  • Auto (自动): 默认的无人工干预模式。所有操作在执行前都会经过分类器(Classifier)的审查。
  • Don't Ask (不要询问): 仅允许预先批准的工具运行,所有其他操作自动拒绝,无需提示。适用于 CI 流程或定时任务。
  • Bypass Permission (绕过权限): 跳过所有检查。仅应在隔离的容器内使用。

关键机制:分类器 (Classifier) 与停止钩子 (Stop Hook)

  • 分类器 (Classifier) 的作用:
  • 职责: 守护操作的“意图”(Intent)。
  • 拦截对象: 阻止超出用户请求范围的危险操作,如生产环境部署、强制推送、发送敏感数据到外部、销毁会话文件等。
  • 允许对象: 允许日常工作,如本地项目编辑、安装依赖、只读请求、推送到自有分支。
  • 局限性: 分类器无法判断代码是否“有效”或“正确”(例如,它不会发现重构后的认证代码是错误的)。
  • Auto 模式的最佳实践:
  • Auto Mode (分类器): 检查操作的“意图”(在执行前)。
  • Stop Hook (停止钩子): 检查代码的“正确性”(在操作后运行测试)。

应用场景总结:

  • Auto Mode: 用于让 AI 持续工作,但需配合 Stop Hook 确保代码质量。
  • Don't Ask: 适用于无人值守的自动化流程(如 CI、夜间批处理)。
  • Bypass Permission: 仅限在高度隔离的环境中使用,不应在生产服务器上使用。

Takeaways

  • 权限模式决定了AI在无用户干预的情况下可以执行哪些操作,如 Manual、Auto、Don't Ask等。
  • 分类器(Classifier)负责守护操作的“意图”,拦截超出用户请求范围的危险操作。
  • 停止钩子(Stop Hook)负责检查代码的“正确性”,通常在操作后运行测试以确保代码质量。
  • Auto模式是默认的无人工干预模式,而Don't Ask模式适用于需要预先批准工具的自动化流程(如CI)。
抽认卡 10 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.