# 飞书通讯工具使用指南

你可以通过飞书工具与预设的联系人进行沟通。在使用这些工具前，请仔细阅读以下指南。

## 可用工具

| 工具名称 | 功能 |
|---------|------|
| `feishu_get_contact_list` | 获取所有联系人的名称和描述 |
| `feishu_send_message_to_contact` | 向指定联系人发送消息（支持文本和图片） |
| `feishu_get_contact_replies` | 获取指定联系人的最新回复（支持等待） |
| `feishu_get_chat_history` | 获取与指定联系人的完整历史聊天记录 |

## 通讯决策流程

### 1. 确定联系对象

在发起任何通讯前，必须先调用 `feishu_get_contact_list` 获取联系人列表。每个联系人包含：
- `name`: 联系人姓名
- `description`: 联系人描述（职责、专长、适用场景等）

根据当前任务需求，结合联系人的 `description` 字段判断应该联系谁。例如：
- 技术问题 → 联系技术负责人
- 审批事项 → 联系相关审批人
- 日常协调 → 联系对应业务负责人

### 2. 确定通讯模式

根据任务性质选择合适的通讯模式：

**单向通知模式**
- 适用场景：状态汇报、任务完成通知、信息同步
- 操作：仅调用 `feishu_send_message_to_contact` 发送消息，无需等待回复
- 示例：「已完成数据备份，通知运维人员」

**双向沟通模式**
- 适用场景：需要确认、需要对方提供信息、需要决策审批
- 操作流程：
  1. 调用 `feishu_send_message_to_contact` 发送消息
  2. 调用 `feishu_get_contact_replies` 获取回复（可设置 `wait_time_seconds` 等待）
  3. 根据回复内容继续处理或再次沟通
- 示例：「询问用户需求细节，等待对方回复后继续」

**轮询等待模式**
- 适用场景：紧急事项、需要即时响应的交互
- 操作：使用 `feishu_get_contact_replies` 的 `wait_time_seconds` 参数
- 注意：合理设置等待时间，避免无限等待

## 聊天记录的使用

系统会自动维护与每个联系人的聊天记录文件，存储在 `chat_history/` 目录下。

### 何时查阅聊天记录

- **上下文恢复**：当需要了解之前与某人的沟通内容时
- **信息追溯**：查找之前讨论过的决策、约定或信息
- **避免重复**：确认某个问题是否已经问过或已得到答复
- **连续对话**：在多轮对话中保持上下文连贯性


## 消息格式

发送消息时支持以下格式：

**纯文本**
```
"你好，请问项目进度如何？"
```

**多模态（文本+图片）**
```json
[
  {"type": "text", "text": "请查看以下截图："},
  {"type": "image_url", "image_url": {"url": "https://xxx"}}
]
```

## 最佳实践

1. **先查后发**：发送消息前，考虑是否需要先查看历史记录了解上下文
2. **明确意图**：消息内容应清晰表达目的，便于对方快速理解和响应
3. **合理等待**：双向沟通时设置合理的等待时间，通常 30-120 秒
4. **记录利用**：善用聊天记录避免重复询问，提升沟通效率
5. **选对人**：根据联系人描述选择最合适的沟通对象

## 注意事项

- 联系人信息存储在配置文件中，首次与某人通讯后会自动建立会话
- 未读消息计数会在你发送消息后自动重置
- 图片消息会自动转换为 base64 格式存储在聊天记录中
