pdca
Version:
🎯 AI 驅動的 PDCA 多代理開發系統 - 智能循環控制 + 成本管理 + Token 優化 + 多 AI 引擎支援
222 lines (183 loc) • 5.54 kB
Markdown
---
allowed-tools: Read, Write, Grep, Glob, LS, Bash(echo:*), Bash(cat:*)
description: PDCA 自定義模式 - 手動配置權限
---
# 🔧 PDCA 自定義權限模式
## 載入任務
當前任務:!`cat .pdca/current-task.txt 2>/dev/null || echo "未找到任務檔案"`
## 🎛️ 自定義權限配置
### 權限配置精靈
自定義模式允許您精確控制每個代理的權限範圍。請根據任務需求選擇所需的權限組合。
### 📋 可用權限類別
#### 🔍 檔案操作權限
- **Read**: 讀取檔案內容
- **Write**: 創建新檔案
- **Edit**: 修改現有檔案
- **MultiEdit**: 批量修改多個檔案
- **LS**: 列出目錄內容
- **Glob**: 檔案模式匹配
- **Grep**: 內容搜尋
#### 💻 系統操作權限
- **Bash(git:\*)**: Git 版本控制操作
- **Bash(npm run:\*)**: NPM 腳本執行
- **Bash(python:\*)**: Python 腳本執行
- **Bash(node:\*)**: Node.js 腳本執行
- **Bash(cat:\*)**: 檔案內容查看
- **Bash(echo:\*)**: 文字輸出
- **Bash(mkdir:\*)**: 創建目錄
#### 🌐 網路操作權限
- **WebFetch**: 網路請求(高風險)
#### ⚠️ 危險操作權限
- **Bash(rm:\*)**: 檔案刪除(極高風險)
- **Bash(sudo:\*)**: 管理員權限(極高風險)
- **Bash(npm install:\*)**: 套件安裝(中高風險)
## 🎯 預設配置模板
### 模板 1: 檔案編輯專用
適用於:程式碼修改、文檔更新
```json
{
"permissions": {
"allow": [
"Read", "Write", "Edit", "MultiEdit",
"Grep", "Glob", "LS",
"Bash(git add:*)", "Bash(git commit:*)",
"Bash(echo:*)", "Bash(cat:*)"
]
}
}
```
### 模板 2: 測試執行專用
適用於:執行測試、檢查程式碼品質
```json
{
"permissions": {
"allow": [
"Read", "Grep", "Glob", "LS",
"Bash(npm run test:*)",
"Bash(npm run lint:*)",
"Bash(python -m pytest:*)",
"Bash(git status:*)"
]
}
}
```
### 模板 3: 分析專用
適用於:程式碼分析、架構審查
```json
{
"permissions": {
"allow": [
"Read", "Grep", "Glob", "LS",
"Bash(cat:*)", "Bash(echo:*)"
]
}
}
```
## ⚙️ 互動式配置
### 第一步:選擇基礎模板
請告訴我您的任務主要涉及哪些操作:
1. **檔案修改** - 需要編輯程式碼或文檔
2. **測試執行** - 需要運行測試或檢查
3. **純分析** - 只需要讀取和分析
4. **混合操作** - 需要多種權限組合
5. **完全自定義** - 手動選擇每個權限
### 第二步:風險評估
系統會根據您的選擇評估風險等級:
- 🟢 **低風險**:只讀或基本操作
- 🟡 **中風險**:檔案修改和測試執行
- 🟠 **中高風險**:包含網路或安裝操作
- 🔴 **高風險**:包含刪除或系統級操作
### 第三步:權限確認
在執行前會顯示完整的權限清單供您確認。
## 🛠️ 手動配置示例
如果您已經知道需要哪些權限,可以創建自定義配置檔:
!`cat > .pdca/custom-template.json << 'EOF'
{
"name": "我的自定義配置",
"description": "根據特定需求自定義的權限配置",
"permissions": {
"allow": [
"Read",
"Write",
"Edit",
"Grep",
"Glob",
"LS",
"Bash(git:*)",
"Bash(npm run test:*)"
],
"deny": [
"Bash(rm:*)",
"Bash(sudo:*)",
"WebFetch"
]
},
"agents": {
"plan": ["Read", "Grep", "Glob", "LS"],
"do": ["Read", "Write", "Edit", "Bash(git:*)"],
"check": ["Read", "Bash(npm run test:*)"],
"act": ["Read", "Edit", "Bash(git:*)"],
"knowledge": ["Read", "Write"]
}
}
EOF`
## 📊 代理專用權限
### 進階配置:為每個代理設定不同權限
```json
{
"agents": {
"plan": {
"description": "規劃師 - 分析和設計",
"permissions": ["Read", "Grep", "Glob", "LS"]
},
"do": {
"description": "執行者 - 實作開發",
"permissions": ["Read", "Write", "Edit", "MultiEdit"]
},
"check": {
"description": "檢查員 - 測試驗證",
"permissions": ["Read", "Bash(npm run test:*)"]
},
"act": {
"description": "改善者 - 優化重構",
"permissions": ["Read", "Edit", "Bash(git:*)"]
},
"knowledge": {
"description": "知識管理 - 文檔記錄",
"permissions": ["Read", "Write"]
}
}
}
```
## 🚀 啟動自定義模式
### 配置完成後啟動
!`echo "🔧 自定義模式配置 - $(date '+%Y-%m-%d %H:%M:%S')" >> .pdca/execution-log.txt`
**請按照以下步驟完成配置**:
1. **選擇或修改** 上述配置模板
2. **保存配置** 到 `.pdca/custom-config.json`
3. **確認權限** 範圍和風險等級
4. **執行啟動** 指令
**啟動指令**:
```bash
pdca "$(cat .pdca/current-task.txt)" --config .pdca/custom-config.json
```
## 💡 配置建議
### 最小權限原則
- 只給予完成任務所需的最小權限
- 優先使用預設模板,再根據需要調整
- 避免給予不必要的危險權限
### 漸進式權限
- 從最小權限開始
- 根據實際需要逐步增加
- 隨時可以停止並重新配置
### 安全檢查
- 定期檢查 `.pdca/execution-log.txt`
- 監控代理的實際操作
- 有疑慮時立即停止系統
---
## 📝 配置記錄
- **配置時間**:!`date '+%Y-%m-%d %H:%M:%S'`
- **模式**:🔧 自定義模式
- **狀態**:配置中
- **下一步**:完成權限配置並啟動
**自定義模式讓您可以精確控制每個代理的權限,在安全性和功能性之間找到最佳平衡。**