# Examples

## ❌ 高频错误（必读）：用户只上传文件，未说明立场 / 审核模式 / 要求

```
用户: [上传合同文件，未说任何其他内容]
```

这是最常见的触发场景，**必须严格遵守以下正确行为**。

**✅ 正确行为（唯一合法响应）：**

> 我看到你上传了一份合同文档。请告诉我：
> 1. **审核立场**（偏甲方 / 偏乙方 / 中性）
> 2. **审核模式**（标准审核模式 / 深度审核模式）
> 3. **重点关注事项**（如：付款条款、违约责任、知识产权等）

**← 当前轮严格到此为止。不调用任何工具，不进入阶段 2，不输出登录链接，不做任何其他行为。**

**❌ 错误行为 A（追问 + 立即提交同轮）：**

> 气泡 1：我看到你上传了合同，请告诉我审核立场和关注重点。
> 气泡 2：好的，我已经提交了合同审核任务。审核完成后，结果会通过飞书推送给你。

**❌ 错误行为 B（追问 + 触发登录同轮）：**

> 气泡 1：我看到你上传了合同，请告诉我审核立场、审核模式和关注重点。
> 气泡 2（工具调用结果）：需要先登录，登录链接：http://... 验证码：XXXXXX

**为什么错**：Agent 在追问的同一轮中调用了 `contract_review`，用户还未回答问题，任务就已被提交或登录流程已发起，完全绕过了信息收集环节。

**判断规则**：只要当前轮有任何信息缺失需要追问，结论只有一个：**输出追问文本 → 终止**。没有例外。

---

## 信息不足时追问（含文件）

```
用户: "帮我看看这份合同" [附件已上传]
```

1. **意图确认** → 识别为 `submit`
2. **信息预检**（阶段 1 末尾）→ 合同文件 ✅，审核立场 ❌，审核模式 ❌，审核要求 ❌
3. 追问（一次性列出所有缺失项）："请说明审核立场（偏甲方/偏乙方/中性）、审核模式（标准审核模式/深度审核模式）及重点关注事项。"
4. **当前轮结束。不调用任何工具，不输出登录链接，不输出任何其他内容。**
5. 用户下一轮补全后 → 重新执行信息预检（四项齐备）→ 进入阶段 2

## 提交审核（完整四阶段）

```
用户: "帮我审核这份合同，按乙方立场，深度审核模式，关注付款和违约" [附件已上传]
```

1. **意图确认** → 识别为 `submit`
2. **信息预检**（阶段 1 末尾）→ 四项全部满足 ✅ → 进入阶段 2
3. **权限验证** → 调用工具，插件内部检测登录态
	- 若未登录 → 返回登录 URL，当前轮停止；用户完成登录后插件自动继续提交
	- 若已登录 → 进入阶段 3
4. **执行操作** → 调用 `contract_review`（`commandName=submit`）
5. **提交后跟踪** → 步骤 1：回复 "合同审核任务 #`<taskId>` 已提交，系统将自动推送进度，也可随时查询。"；步骤 2：调用 `contract_review`（`commandName=watch, taskId=<taskId>`）

## ❌ 反例：追问 + 工具调用同轮（严禁）

```
用户: 上传合同文件（未说明立场、审核模式和要求）
```

**错误行为（本 Skill 明确禁止）：**

> 气泡 1（输出）：我看到你上传了合同，请告诉我审核立场、审核模式和关注重点。
> 气泡 2（工具调用结果）：需要先登录，登录链接：http://... 验证码：XXXXXX

原因：Agent 在输出追问文本的同时调用了 `contract_review`，工具触发了登录流程，登录链接气泡紧接追问气泡出现，用户尚未回答追问就已进入登录流程，顺序错乱。

**正确行为：**

> 气泡 1（唯一输出）：我看到你上传了合同，请告诉我审核立场（偏甲方/偏乙方/中性）、审核模式（标准审核模式/深度审核模式）及重点关注事项。
> **← 当前轮到此为止。不调用任何工具，不产生任何额外气泡。**

用户回复立场、审核模式和要求后，下一轮再调用工具。

## 纯查询

```
用户: "/contract-review status"
```

1. **意图确认** → 识别为 `status`
2. **权限验证** → 直接调用工具
3. 返回工具输出，不展开分析，不发起 `submit`

## 登录流程

```
用户: "/contract-review login"
```

1. **意图确认** → 识别为 `login`（非业务操作，路径 A）
2. 直接调用 `contract_review`（`commandName=login`）
3. 自动发起登录流程，返回登录 URL + 浏览器确认提示，当前轮停止

## 处理中响应

```
工具返回: "已提交，等待后端受理"
```

→ 回复 "正在处理中，进度将自动推送到你的消息渠道，你也可以用 `/contract-review status` 随时查询。"
→ 立即停止，不展开分析、不再调用工具。

## 登录后自动恢复

```
用户完成浏览器登录确认
```

→ 插件自动恢复之前保存的待提交任务，无需用户再次描述要求。
→ 自动继续刚才的合同审核提交，无需用户再次描述要求。
→ 进入阶段 4：步骤 1 输出提交确认文字（含 taskId），步骤 2 调用 `contract_review`（`commandName=watch, taskId=<taskId>`）。
