← Back to Blog
Claude CodeAI CodingClaude APICodeGateway

Claude Code 全自动模式(Auto Mode)完整指南:三种权限模式与 CI/CD 实战(2026)

(no oficial)

Esta guía la mantiene la comunidad de forma independiente. No está afiliada, respaldada ni patrocinada por el proveedor de la herramienta de terceros que trata. Todas las marcas de terceros son propiedad de sus respectivos titulares.

May 12, 2026
Claude Code 全自动模式(Auto Mode)完整指南:三种权限模式与 CI/CD 实战(2026)

Claude Code Auto Mode 完整指南:三种权限模式与自动化工作流实战(2026)

TL;DR

  • Claude Code 提供三种权限模式:默认模式(逐步确认)、Auto Mode(AI 分类器决策)、`--dangerously-skip-permissions`(跳过一切检查)。Auto Mode 是绝大多数场景的推荐选择。
  • Auto Mode 使用独立的 AI 分类器(运行在 Claude Sonnet 4.6 上)在每个工具调用执行前做出判断——约 95% 的安全操作自动放行,高风险操作被拦截。
  • `--print`(-p)flag 将 Claude 的输出捕获到 stdout,适合在 CI 流水线中脚本化调用。
  • CI 完全自动化场景:--dangerously-skip-permissions + Docker 沙箱组合使用,绝不要直接在生产代码库根目录运行。

确认疲劳问题

Claude Code 默认工作在保守的交互模式下:每当需要写文件或执行命令时,都会暂停并等待用户确认。在本地开发时,这是合理的安全设计。

在自动化场景下——CI 流水线、cron 定时任务、无头服务器——这就成了障碍。GitHub Actions runner 里没有人来确认操作。

2026 年之前,绕开这个限制的唯一方式是 --dangerously-skip-permissions:跳过所有检查,让 Claude 自由执行。有效,但过于粗暴。一个理解偏差,一条表述模糊的指令,Claude 就可能删除文件或推送到错误的分支。

Anthropic 在 2026 年 3 月推出的 Auto Mode,正是为了解决这个取舍问题。

三种权限模式对比

默认模式

Auto Mode

--dangerously-skip-permissions

权限确认

每个工具调用

AI 分类器决策

全部跳过

安全机制

用户本人

AI 分类器(Sonnet 4.6)

无

适用环境

本地开发、探索

日常工作、轻度自动化

CI、Docker 隔离任务

风险级别

低

低–中

高

输出方式

REPL 对话

REPL 对话

stdout via --print

推荐对象

入门阶段

大多数用户

仅限 CI 流水线

Auto Mode 是什么

Auto Mode(中文也常称"全自动模式")位于两个极端之间。它不再由用户确认每个操作,而是把权限决策委托给一个独立的 AI 分类器——一个专门运行在 Claude Sonnet 4.6 上的模型。

分类器会在 Claude 执行每个工具调用之前进行评估,依据三类风险标准做出判断:

  • 权限范围升级(Scope escalation):Claude 是否尝试做超出用户请求范围的事情?
  • 不可信基础设施(Untrusted infrastructure):操作是否指向未知系统?
  • 提示注入(Prompt injection):操作是否被 Claude 读取到的恶意内容所驱动?

对于安全操作(常规文件编辑、运行测试、本地命令),分类器自动放行——无需提示。对于高风险操作(批量删除文件、写入凭据文件、推送到受保护分支),分类器拦截 Claude 并要求其尝试其他方式。

安全熔断机制:如果 Claude 连续被拦截三次——或在一次会话中累计被拦截 20 次——系统会回退到向用户发起确认。这防止了 Claude 在没有人工介入的情况下不断重试被拦截的操作。

分类器设计细节:分类器是"推理盲"的设计——它只看到用户消息和 Claude 计划执行的工具调用,看不到 Claude 自己的推理过程或工具返回结果。这防止了 Claude 读取到的恶意文件通过 Claude 的推理链来操控分类器。

实测背景

在 2026 年 5 月的内部测试中,我们对一个 15 个文件的 Node.js 项目使用 Auto Mode 进行批量 ESLint 规则修复。Claude 在 4 分钟内完成了 127 处代码调整,包括自动运行测试、根据测试失败信息修正部分改动。分类器对 124 个操作自动放行,3 次触发了提示——均为 Claude 在重构过程中尝试修改 .env 文件,分类器正确标记了这些操作。全程没有意外的破坏性操作。

启用 Auto Mode

CLI:会话内切换

在交互式会话中,按 Shift+Tab 可在权限模式间循环切换:

bash
# 启动会话后按 Shift+Tab 切换到 Auto Mode
claude

# 或直接以 Auto Mode 启动
claude --permission-mode auto

全局持久化配置

json
// ~/.claude/settings.json
{
"defaultPermissionMode": "auto"
}

项目级配置(随代码库提交)

json
// .claude/settings.json
{
"defaultPermissionMode": "auto"
}

团队成员克隆仓库后默认使用 Auto Mode。

权限白名单(配合 Auto Mode 使用)

对于已知安全、希望始终直接放行的操作,使用 allowedTools:

json
// .claude/settings.json
{
"defaultPermissionMode": "auto",
"allowedTools": ["npm run lint", "npm run test", "git commit"]
}

白名单中的工具调用不再经过分类器评估,直接执行。

--dangerously-skip-permissions + --print:CI 场景

需要真正无头运行时——无分类器、无提示、输出到 stdout——组合这两个 flag:

bash
claude --dangerously-skip-permissions --print "修复 src/ 目录下所有 .ts 文件的 ESLint 问题"

--print(或 -p)将 Claude 的最终回复写入 stdout 后退出。退出码 0 = 成功,非零 = 出错——符合 CI 条件逻辑的标准约定。

输出格式控制

bash
# 纯文本(默认)
claude -p "审查这个 diff" --output-format text

# JSON(机器可读,包含 Token 用量元数据)
claude -p "审查这个 diff" --output-format json

# 流式 JSON(Token 逐步输出)
claude -p "审查这个 diff" --output-format stream-json

通过 stdin 传入上下文

Claude 接受 stdin 输入——避免了写临时文件的麻烦:

bash
git diff HEAD~1 | claude -p "总结本次改动内容,并标出潜在风险点"

cat build.log | claude -p "分析构建失败的根本原因"

CI/CD 集成示例

1. PR 自动代码审查(GitHub Actions)

yaml
# .github/workflows/claude-review.yml
name: Claude Code Review
on: [pull_request]

jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 安装 Claude Code
run: npm install -g @anthropic/claude-code

- name: 运行自动审查
env:
ANTHROPIC_BASE_URL: https://api.codegateway.dev/v1
ANTHROPIC_API_KEY: ${{ secrets.CODEGATEWAY_API_KEY }}
run: |
git diff ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | \
claude -p "审查这个 diff。标出:未处理异常、缺少输入验证、SQL 注入风险、Breaking 变更。输出 Markdown 格式。" \
--output-format text > review.md

- name: 将审查结果发布为 PR 评论
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const review = fs.readFileSync('review.md', 'utf8');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## Claude Code Review\n\n${review}`
});

将 ANTHROPIC_BASE_URL 设置为 CodeGateway 端点,CI runner 在任何地区都能稳定连接,不受直连 Anthropic 可能遇到的网络问题影响。

2. 大型代码库批量重构

bash
# 在 Docker 中运行以确保隔离(见下方安全章节)
docker run --rm \
-e ANTHROPIC_BASE_URL=https://api.codegateway.dev/v1 \
-e ANTHROPIC_API_KEY=$CODEGATEWAY_API_KEY \
-v $(pwd):/workspace \
-w /workspace \
node:22 \
claude --dangerously-skip-permissions \
"将所有 axios 0.x 调用迁移到 axios 1.x API,更新错误处理使用新的 AxiosError 类型。每次修改后运行测试,如果测试失败则回滚该文件。"

3. 定时代码质量检查

bash
#!/bin/bash
# scripts/weekly-quality-check.sh

export ANTHROPIC_BASE_URL=https://api.codegateway.dev/v1
export ANTHROPIC_API_KEY=$CODEGATEWAY_API_KEY

REPORT_FILE="reports/quality-$(date +%Y-%m-%d).md"

claude --dangerously-skip-permissions --print \
"分析代码库质量。报告:未使用的变量和导入、循环依赖、超过 50 行的函数、测试覆盖率下降的模块(对比 src/ 和 tests/)。输出结构化 Markdown 报告。" \
--output-format text > $REPORT_FILE

# 通过 Slack Webhook 发送报告
curl -X POST $SLACK_WEBHOOK -d "{\"text\": \"周度质量报告已生成:$REPORT_FILE\"}"

用 cron 定时运行:

0 9 * * 1 /path/to/scripts/weekly-quality-check.sh

4. API 文档自动生成

bash
cat src/api/new-endpoint.ts | \
claude -p "为这个 TypeScript 接口生成 OpenAPI 3.0 文档。包含:path、method、请求体 schema、响应 schema(200、400、500)和请求示例。" \
--output-format text >> docs/api-reference.yaml

风险与安全使用规范

Auto Mode 和 --dangerously-skip-permissions 下的禁忌操作

以下操作不应在无人值守的情况下执行——即使是 Auto Mode,分类器也可能根据上下文放行:

  • 连接生产数据库(即使是只读权限——生成的查询语句有 SQL 注入风险)
  • 读写 .env、*.pem、凭据文件或 SSH 密钥
  • git push 到 main 或任何受保护分支
  • 删除隔离测试目录之外的文件
  • 用真实凭据调用生产 API 端点

Docker 沙箱(--dangerously-skip-permissions 的必要防护)

最小隔离配置:

dockerfile
# Dockerfile.claude-sandbox
FROM node:22-slim

RUN npm install -g @anthropic/claude-code

# 创建非 root 用户
RUN useradd -m claudeuser
USER claudeuser

WORKDIR /workspace
bash
docker run --rm \
--network none \ # 无外部网络访问
--read-only \ # 文件系统只读...
--tmpfs /workspace \ # ...仅此临时目录可写
-e ANTHROPIC_BASE_URL=... \
-e ANTHROPIC_API_KEY=... \
claude-sandbox \
claude --dangerously-skip-permissions --print "任务内容"

需要写回代码库时,只挂载特定目录:

bash
docker run --rm \
-v $(pwd)/src:/workspace/src \ # 只挂载 src/,不挂载整个仓库
-e ANTHROPIC_BASE_URL=... \
-e ANTHROPIC_API_KEY=... \
claude-sandbox \
claude --dangerously-skip-permissions "将 src/ 下的所有代码重构为 async/await 风格"

Token 消耗注意

多步骤 --dangerously-skip-permissions 任务消耗的 Token 是单轮对话的 3–10 倍——Claude 每次轮次都会发起多个工具调用并读取文件内容。

Auto Mode 还有额外开销:每个工具调用都经过分类器,增加了延迟和少量 Token 消耗。

对 Token 成本敏感的 CI 流水线,建议用 --output-format json 获取每次运行的 Token 用量元数据,尽早建立预算基准。

Auto Mode vs --dangerously-skip-permissions:如何选择

场景

推荐模式

理由

日常编码减少打断

Auto Mode

分类器处理常规放行,高风险操作仍由你决定

快速本地自动化脚本

Auto Mode

更安全,无需 Docker 配置

GitHub Actions / GitLab CI

--dangerously-skip-permissions + Docker

无头运行,无人响应分类器升级

定时批量任务

--dangerously-skip-permissions + Docker

同上——Docker 提供安全边界

探索陌生代码库

默认模式

最大可见性,了解 Claude 在做什么

与 Sub-agents 配合使用

Auto Mode 是 Sub-agents 实际可用的权限基础。Claude 在协调多个子代理时——每个子代理负责任务的不同部分——每个子代理都需要执行自己的工具调用。如果不使用 Auto Mode 或 --dangerously-skip-permissions,每个子代理在每次文件操作时都会暂停,使得编排工作完全不可行。

典型配置方案:

  • 编排器:Auto Mode(分类器保持轻度监控)
  • 处理隔离工作区的子代理:--dangerously-skip-permissions + 沙箱目录

详细流程参见 Claude Code 高级技巧与最佳实践。

FAQ

Q:Auto Mode 和 `--dangerously-skip-permissions` 的核心区别是什么?

Auto Mode 使用 AI 分类器审查每个操作并拦截高风险行为;--dangerously-skip-permissions 完全跳过所有检查。Auto Mode 更安全,适合交互式使用;--dangerously-skip-permissions 用于 Docker 提供安全边界的完全无头 CI 环境。

Q:Auto Mode 和 `--dangerously-skip-permissions` 会话共享历史吗?

不共享。每次带 --dangerously-skip-permissions --print 的调用都是无状态的,不保留会话历史。如果任务需要前一次运行的上下文,需要在 prompt 中或通过 stdin 显式传入。

Q:`--dangerously-skip-permissions` 模式下 Claude 会删我的文件吗?

理论上会。如果任务描述涉及"清理"等模糊指令,Claude 可能执行删除操作。强烈建议在 Docker 容器或临时目录中运行,不要直接在生产代码库根目录运行。

Q:CI 环境里该用哪个 API Key?

推荐使用 CodeGateway 的 API Key,设置 ANTHROPIC_BASE_URL=https://api.codegateway.dev/v1。CI runner——无论是 GitHub 托管的、自托管的还是云端 VM——都能通过 CodeGateway 的全球边缘网络稳定连接,不受直连 Anthropic 可能遇到的网络问题影响。

Q:`--print` 支持流式输出吗?

--print 会等待完整回复后写入 stdout。如果需要逐 Token 的流式效果,使用 --output-format stream-json——但需要解析 JSON,不是纯文本。

Q:任务运行到一半失败了怎么办?

--dangerously-skip-permissions 没有内置检查点机制。建议在 prompt 中加入容错指令:"如果处理某个文件时失败,将错误记录到 errors.log 并继续处理下一个文件。"对关键流水线,考虑将任务拆分成更小的原子步骤,每步单独验证。

Q:Auto Mode 会多消耗 Token 吗?

略有增加。每个工具调用都经过分类器,会增加少量 Token 消耗。通常情况下,这部分开销在总 Token 量的 5% 以内。真正的消耗大头是任务本身——多步骤代理任务的 Token 消耗远高于单轮对话,与权限模式无关。

相关资料

Author:CodeGateway 团队Reviewed on:2026-05-27

Resuelve los límites de claves de API y de facturación con CodeGateway

¿Sin clave de API oficial o con problemas para pagar con tarjeta internacional? Crea una clave sk-cg- al instante. Una sola clave para Claude, GPT, Gemini y DeepSeek: los modelos de texto de Claude y Gemini usan el protocolo Anthropic Messages (/v1/messages); los endpoints de texto compatibles con OpenAI no los aceptan. Incluye enrutamiento inteligente y créditos de prueba.

Crear cuenta gratis
Claude 自动模式(Auto Mode)完全指南:计费变化与 127.0.0.1:15721 网关兼容