# 十二、协议自检机制

## 12.1 协议自检的重要性

> **使用协议时常常发现，有时候对话时会漏掉一些东西，比如没有记得提交 git，没有记得及时同步某个对应文档.md。**

协议自检机制帮助 AI 和用户确保遵循了协作协议中的各项要求。

## 12.2 自检触发方式

### 方式一：命令行检查

```bash
# 检查协议遵循情况
vibecollab check

# 严格模式（警告也视为失败）
vibecollab check --strict

# 含 Insight 一致性校验 (v0.7.0+)
vibecollab check --insights
```

### 方式二：对话中触发

在对话中使用以下触发词，AI 应主动执行协议自检：

- "检查协议"
- "协议自检"
- "检查是否遵循协议"
- "protocol check"
- "自检"

## 12.3 检查项说明

协议检查器会检查以下内容：

### Git 协议检查
- ✅ 项目是否已初始化 Git 仓库
- ✅ 是否有未提交的更改
- ⚠️  Git 提交频率（提醒长时间未提交）

### 文档更新检查
- ✅ 必需文档是否存在（CONTEXT.md, CHANGELOG.md 等）
- ⚠️  文档是否及时更新（24小时内）
- ✅ PRD.md 是否存在（如果启用）

### 对话流程检查
- ✅ 对话开始时应该读取的文件是否存在
- ✅ 对话结束时应该更新的文件是否存在

## 12.4 检查结果说明

检查结果分为三个级别：

| 级别 | 符号 | 说明 | 处理方式 |
|------|------|------|---------|
| **错误** | ❌ | 违反协议要求 | 必须修复 |
| **警告** | ⚠️  | 可能遗漏的协议步骤 | 建议处理 |
| **信息** | ℹ️  | 提醒信息 | 可选择性处理 |

## 12.5 AI 自检行为规范

当用户触发协议自检时，AI 应：

1. **执行检查**: 运行协议检查器，获取检查结果
2. **展示结果**: 清晰展示所有检查项的状态
3. **提供建议**: 对于未通过的检查项，提供具体的修复建议
4. **主动修复**: 对于可以自动修复的问题（如更新文档），主动执行修复
5. **记录提醒**: 对于需要人工处理的问题，明确提醒用户

## 12.6 自检最佳实践

### 对话开始时
- 在恢复上下文后，可以执行一次快速自检，确保环境正常

### 对话结束时
- 在执行 git commit 前，执行自检确保所有协议要求都已满足

### 定期检查
- 如果长时间未对话，重新开始对话时执行完整自检

---

