← 返回提示詞庫
通用 #簡短 難度:入門

更新代理权限

Update Agent Permissions

# 任务:更新代理权限 请分析我们的整个对话并识别所有使用的特定命令。 更新 Claude Code 和 Gemini CLI 的权限。 ## 参考文件 - Claude

適用平台: ChatGPTClaudeGemini
# 任务:更新代理权限

请分析我们所有的对话,并识别所有使用的具体命令。

更新 Claude Code 和 Gemini CLI 的权限。

## 参考文件

- Claude: ~/.claude/settings.json
- Gemini 策略: ~/.gemini/policies/tool-permissions.toml
- Gemini 设置: ~/.gemini/settings.json
- Gemini 信任文件夹: ~/.gemini/trustedFolders.json

## 指示

1. 审计:将识别出的命令与两个配置文件中当前允许的命令进行比较。
2. 筛选:只包含提供对资源只读访问权限的命令。
3. 限制:明确排除任何能够修改、删除或销毁数据的命令。
4. 更新:只将缺失的只读命令添加到两个配置文件中。
5. 约束:不要使用通配符。每个命令必须单独列出,以实现精细的安全控制。

请将命令列表分为两类展示:只读和写入。

我们主要关注以下类别的只读命令:Read、Get、Describe、View 或类似命令。

在我批准列表后,更新两个配置文件。

## Claude 格式

文件: ~/.claude/settings.json

Claude 使用一个 JSON 权限对象,包含 allow、deny 和 ask 数组。

允许格式: `Bash(command subcommand:*)`

将新命令按字母顺序插入到 allow 数组中。

## Gemini 格式

文件: ~/.gemini/policies/tool-permissions.toml

Gemini 使用一个 TOML 策略引擎,规则具有不同的优先级。

规则类型和优先级:
- `decision = "deny"`,`priority = 200`,用于破坏性操作
- `decision = "ask_user"`,`priority = 150`,用于需要确认的写入操作
- `decision = "allow"`,`priority = 100`,用于只读操作

对于允许规则,使用 `commandPrefix`(提供单词边界匹配)。
对于拒绝和询问规则,使用 `commandRegex`(捕获标志变体)。

新的只读命令应按类别添加到相应的现有 `[[rule]]` 块中,如果没有合适的类别,则创建一个新块。

示例允许规则:
```toml
[[rule]]
toolName = "run_shell_command"
commandPrefix = ["command subcommand1", "command subcommand2"]
decision = "allow"
priority = 100
```

## Gemini 目录

如果访问了工作区之外的任何新目录,请将它们添加到:
- ~/.gemini/settings.json 中的 `context.includeDirectories`
- ~/.gemini/trustedFolders.json 中,值为 `"TRUST_FOLDER"`

## 例外

不要建议添加以下命令:

- git branch: -D 标志会删除分支
- git pull: 以防发生合并操作
- git checkout: 切换分支可能会中断工作
- ajira issue create: 防止过度创建新问题
- find: -delete 和 -exec 标志具有破坏性(请改用 fd)