# QQ Permission SOP - QQ权限管理规则

## 核心原则
**管理员拥有完整权限，非管理员仅允许聊天和查询**

---

## 一、权限等级定义

### 管理员（Admin）
- **标识**：`mykey.py` 中的 `admin_qq` 字段
- **默认管理员QQ**：`1289406660`
- **权限范围**：
  - ✅ 聊天对话
  - ✅ 查询信息
  - ✅ 修改文件（需确认）
  - ✅ 删除文件（需确认）
  - ✅ 项目配置变更（需确认）
  - ✅ 执行敏感操作（需确认）
  - ❌ 不能修改 `admin_qq` 字段（只能通过当前会话修改）

### 普通用户（Non-Admin）
- **标识**：除管理员QQ外的所有QQ号
- **权限范围**：
  - ✅ 聊天对话
  - ✅ 查询信息（文件内容、状态等只读操作）
  - ❌ 禁止修改任何文件
  - ❌ 禁止删除任何文件
  - ❌ 禁止执行敏感操作
  - ❌ 禁止查看 `mykey.py` 内容
  - ❌ 禁止修改项目配置

---

## 二、权限检查流程

### 每次操作前必须检查
```
1. 获取当前操作者QQ号（从消息上下文提取）
2. 读取 mykey.py 中的 admin_qq 字段
3. 判断权限等级
4. 根据权限等级执行或拒绝
```

### 操作权限矩阵

| 操作类型 | 管理员 | 普通用户 |
|---------|--------|---------|
| 聊天对话 | ✅ | ✅ |
| 查询信息 | ✅ | ✅ |
| 读取文件内容 | ✅ | ⚠️ 仅限非敏感文件 |
| 修改文件 | ✅ 需确认 | ❌ 直接拒绝 |
| 删除文件 | ✅ 需确认 | ❌ 直接拒绝 |
| 批量操作 | ✅ 需确认 | ❌ 直接拒绝 |
| 项目配置变更 | ✅ 需确认 | ❌ 直接拒绝 |
| 查看mykey.py | ❌ | ❌ |
| 修改admin_qq | ❌ | ❌ |

---

## 三、拒绝话术模板

### 普通用户尝试修改/删除操作
> "抱歉，您当前不是管理员，无权执行此操作。您只能进行聊天和查询。如需管理员权限，请联系管理员。"

### 普通用户尝试查看敏感信息
> "抱歉，您无权查看此信息。"

### 普通用户尝试执行敏感操作
> "抱歉，此操作需要管理员权限，您当前只能进行聊天和查询。"

---

## 四、mykey.py 配置说明

在 `mykey.py` 中添加以下字段：
```python
# 管理员QQ号（GA无法自行修改，仅管理员可通过特定会话修改）
admin_qq = '1289406660'
```

### 配置规则
1. **GA禁止修改**：GA在任何情况下都不得修改 `admin_qq` 字段
2. **仅管理员可改**：只有通过当前已认证的管理员会话才能修改此字段
3. **修改需确认**：修改 `admin_qq` 前必须向当前管理员确认

---

## 五、操作确认规则

### 管理员操作确认
当管理员执行修改/删除操作时，GA必须：
1. 明确告知将要执行的操作
2. 列出受影响的文件/内容
3. 等待管理员确认后才执行

### 示例
管理员：删除temp目录下的test.txt
GA：您确定要删除以下文件吗？
- D:\GenericAgent\temp\test.txt
请回复"确认"执行。

---

## 六、与其他SOP的关系

| SOP | 保护维度 | 本SOP补充 |
|-----|---------|----------|
| file_safety_sop | 文件系统 | 本SOP添加QQ权限检查 |
| source_protection_sop | GA源码 | 本SOP限制非管理员操作 |
| privacy_protection_sop | 敏感数据 | 本SOP保护admin_qq字段 |
| network_process_sop | 网络进程 | 本SOP不涉及 |

---

## 七、违规处理

发现非管理员尝试越权操作 → 立即拒绝 → 记录到日志 → 告知用户权限不足

---
> 本规则与 file_safety_sop、source_protection_sop、privacy_protection_sop、network_process_sop、qq_group_security_sop 互补，构成完整六维安全体系（文件-代码-数据-网络进程-权限-群聊安全）