第 4 課:權限與安全
學習目標
完成本課程後,您將能夠:
- 理解權限存在的哲學
- 有效地使用所有四種權限模式
- 利用計畫模式進行複雜任務
- 使用鍵盤快捷鍵切換模式
- 設定允許/拒絕的操作
先決條件
- 完成第 1-3 課 - 基本檔案操作和程式庫導覽
- 熟悉聊天模式 - 基本對話使用
- 基本熟悉度 - 您已核准幾次檔案操作
預估時間: 25 分鐘
為什麼需要權限
Claude Code 的權限系統基於核心原則設計:您應該隨時知道程式碼發生了什麼事。
權限哲學
透明度:
- 每個操作在執行前都可見
- 您確切看到將變更什麼
- 沒有靜默修改
控制:
- 您決定執行什麼
- 您可以拒絕任何操作
- 您總是負責
安全:
- 防止意外破壞性動作
- 在動作發生前攔截錯誤
- 系統性地審查變更
學習:
- 理解 Claude 正在做什麼
- 從建議的變更中學習
- 建立對系統的信任
權限流程
┌─────────────────┐
│ Claude 想要 │
│ 使用工具 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ 系統顯示 │
│ 請求 │
└────────┬────────┘
│
▼
┌─────────────────┐ ┌──────────────┐
│ 您決定 │──────▶│ 允許 │
│ (基於模式) │ │ 拒絕 │
└─────────────────┘ │ 取消 │
└──────────────┘
權限模式說明
Claude Code 有四種權限模式,每種都適合不同的工作流程。
模式 1:Default(推薦給初學者)
行為: 每次工具使用都請求權限
何時使用:
- 學習 Claude Code
- 處理重要的程式庫
- 當您想要審查每個變更時
- 理解 Claude 正在做什麼
範例流程:
Claude: 我將讀取 src/main.py
System: 📖 讀取 src/main.py
是否繼續?[Y/n]
You: Y
[檔案已讀取]
優點:
- 最大控制
- 完全可見
- 適合學習
模式 2:Accept Edits
行為: 自動核准 Edit 和 Write 操作,其他操作仍需請求
何時使用:
- 快速原型開發
- 當您信任 Claude 的變更時
- 功能開發
- 快速迭代
範例流程:
Claude: 我將更新函式在 src/utils.py
[編輯自動核准並套用]
[不顯示提示]
但仍會提示您:
- 執行指令(Bash)
- 讀取敏感檔案
模式 3:Don't Ask
行為: 自動核准所有工具使用(破壞性指令除外)
何時使用:
- 高度信任的工作流程
- 實驗/開發環境
- 自動化任務
- 速度至關重要時
模式 4:Bypass
行為: 無提示,包括大多數破壞性指令
⚠️ 警告: 請極度謹慎使用
絕不使用於:
- 生產程式庫
- 重要專案
- 學習或探索
計畫模式:執行前規劃
計畫模式是用於複雜任務的特殊工作流程。
什麼是計畫模式
在計畫模式中,Claude:
- 徹底分析任務
- 探索程式庫以理解脈絡
- 建立詳細計畫用於實作
- 呈現計畫供您審查
- 等待核准後才執行
何時使用計畫模式
對以下情況使用計畫模式:
- 新功能: "新增使用者驗證"
- 重大重構: "轉換為 TypeScript"
- 架構變更: "轉換為微服務"
- 多檔案變更: "更新整個程式庫的錯誤處理"
不要用於:
- 簡單編輯
- 單一檔案變更
- 快速問題
- 瑣碎修改
計畫模式如何運作
┌──────────────────┐
│ 進入計畫模式 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ 描述任務 │
│ (例如:"新增 │
│ 使用者驗證") │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Claude 探索 │
│ 程式庫 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Claude 建立 │
│ 詳細計畫 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ 您審查計畫 │
│ 核准或 │
│ 請求變更 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Claude 執行 │
│ 計畫 │
└──────────────────┘
進入計畫模式
方法 1:使用指令
You> /plan
方法 2:使用計畫旗標啟動
claude --plan
退出計畫模式:
You> /exit
使用鍵盤快捷鍵切換模式
您可以在工作階段中使用鍵盤快捷鍵變更權限模式。
模式切換快捷鍵
| 快捷鍵 | 動作 |
|---|---|
Ctrl+P | 循環到下一個權限模式 |
Ctrl+Shift+P | 切換到 Default 模式 |
Ctrl+O | 切換 "Don't Ask" 模式 |
Escape | 取消當前操作 |
目前模式顯示
您的提示顯示目前模式:
[Default] You>
[Accept Edits] You>
[Don't Ask] You>
實務範例:比較權限模式
讓我們體驗不同模式之間的差異。
步驟 1:建立測試環境
cd ~/claude-test
mkdir permission-demo
cd permission-demo
echo "print('hello')" > demo.py
claude
步驟 2:測試 Default 模式
[Default] You> 讀取 @demo.py 並新增註解說明其名稱
觀察:
- 提示讀取
- 提示編輯
- 看到差異
- 核准每個步驟
步驟 3:切換到 Accept Edits
按 Ctrl+P 或使用:
You> /mode accept-edits
步驟 4:測試 Accept Edits 模式
[Accept Edits] You> 為 @demo.py 新增列印陳述
觀察:
- 讀取提示(如果需要)
- 編輯自動發生
- 不顯示編輯核准
步驟 5:測試計畫模式
You> /plan
[In plan mode] You> 為 demo.py 重構成一個具有多個函式的模組
觀察:
- Claude 建立計畫
- 審查計畫
- 核准執行
- 觀看它實作
✅ 檢查您的理解
-
哪個權限模式在每次操作前都會請求?
- Accept Edits
- Don't Ask
- Default
- Bypass
-
什麼時應該使用計畫模式?
- 用於簡單編輯
- 用於複雜、多檔案變更
- 用於讀取檔案
- 用於執行測試
-
Ctrl+P 做什麼?
- 列印目前檔案
- 暫停工作階段
- 循環到下一個權限模式
- 開啟計畫模式
-
True 或 False: Bypass 模式對生產程式庫是安全的。
- True
- False
-
哪個模式自動核准 Edit 和 Write,但不核准 Bash?
- Default
- Accept Edits
- Don't Ask
- Bypass
答案: 1-c, 2-b, 3-c, 4-False, 5-b
總結
在本課程中,您學到了:
- 權限哲學 - 透明度、控制、安全、學習
- 四種模式 - Default、Accept Edits、Don't Ask、Bypass
- 何時使用 - 選擇適合每個模式的任務和舒適度
- 計畫模式 - 用於複雜任務需要仔細規劃
- 鍵盤快捷鍵 - 在工作階段期間快速模式切換
- 設定 - 預先設定允許/拒絕的操作
下一步
在**第 5 課:技能系統**中,您將學到:
- 什麼是技能
- 使用內建技能
- 建立自訂技能
- 技能結構和組織
進階閱讀
繼續至第 5 課:技能系統 →