> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpertai.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 搭建编码通知机器人（MyCoder）

## 一、创建并配置应用

1. **创建企业自建应用**
   * 登录[飞书开发者后台](https://open.feishu.cn/app)
   * 点击"创建企业自建应用"，填写应用名称"MyCoder"及描述，完成创建

2. **添加机器人能力**
   * 在应用详情页的**应用能力** > **添加应用能力**中，找到**机器人**卡片并点击**添加**
   * 参考[机器人能力](https://go.feishu.cn/s/6dFbxHpwQ02)文档完成基础配置

3. **申请API权限**
   * 在**开发配置** > **权限管理**页面，为应用开通以下权限：
     * `im:message.p2p_msg:readonly`（读取用户发给机器人的单聊消息）
     * `im:message.group_at_msg:readonly`（接收群聊中@机器人消息事件）
     * `im:message:send_as_bot`（以应用身份发送消息）
     * `contact:contact.base:readonly` (获取通讯录基本信息)
     * `contact:user.base:readonly` (获取通讯录用户基本信息)

4. **订阅接收消息事件**
   * 在**事件与回调** > **事件配置**页面：
     * 选择**将事件发送至 开发者服务器**（暂仅支持此方式）填写创建应用时的 `Webhook Url`
       <img src="https://mintcdn.com/xpertai/EbaiMt_MkG_wDSfW/public/img/code/edit-integration.png?fit=max&auto=format&n=EbaiMt_MkG_wDSfW&q=85&s=6350b7f35370c9c0a99ce5e332fac6c2" alt="" width="1492" height="1266" data-path="public/img/code/edit-integration.png" />
     * 添加**接收消息事件**（`im.message.receive_v1`）
   * 在**事件与回调** > **回调配置**页面，填写创建应用时的 `Webhook Url`
     * 启用订阅方式：**将回调发送至 开发者服务器**
     * 添加回调 **卡片回传交互**(`card.action.trigger`)

## 二、发布应用

1. **配置可用范围**
   * 在**应用发布** > **版本管理与发布**页面创建版本
   * 设置应用可用范围（如指定部门或全员可见），参考[配置应用可用范围](https://go.feishu.cn/s/63g3FAPNE01)

2. **发布上线**
   * 提交版本审核，等待企业管理员审批通过
   * 测试环境可使用[测试企业功能](https://go.feishu.cn/s/6hRFcubyk04)免审核发布

## 三、配置通知用户

当任务在后端自动运行时如果有需要通知用户的情况，可以在集成提供商页面编辑通知用户，选择需要通知的用户后保存即可。

<img src="https://mintcdn.com/xpertai/EbaiMt_MkG_wDSfW/public/img/code/integration-providers.png?fit=max&auto=format&n=EbaiMt_MkG_wDSfW&q=85&s=50d86459e2d55b5911485bc5b25f01fd" alt="" width="2294" height="948" data-path="public/img/code/integration-providers.png" />

将所使用的飞书集成设为激活，并配置通知用户

<img src="https://mintcdn.com/xpertai/EbaiMt_MkG_wDSfW/public/img/code/select-notification-user.png?fit=max&auto=format&n=EbaiMt_MkG_wDSfW&q=85&s=da8e07d1cd879d3fdfb64ffddd69cb60" alt="" width="966" height="674" data-path="public/img/code/select-notification-user.png" />

当系统需要通知用户消息时，飞书集成会自动发送消息通知用户。然后用户便可以在通知消息后回复消息，飞书集成会将用户的回复消息发送到后端，后端可以根据用户的回复消息进行相应的处理。

## 四、配置智能体中间件

在 Xpert 平台中配置飞书机器人时，标准模板建议在“飞书触发器 -> 智能体”的基础上，默认添加以下两个中间件：

```text theme={null}
飞书触发器 -> 智能体
             + 飞书会话上下文中间件
             + 飞书通知中间件
```

这两个中间件用于把飞书会话上下文、消息查询能力和通知/更新工具注入给智能体。缺少这些中间件时，机器人可能可以收到事件，但在单聊、群聊回复、消息更新或通知链路中表现不完整。

### 飞书会话上下文中间件

飞书会话上下文中间件负责向智能体提供当前飞书会话的基础上下文，包括：

* 当前 `chat_id`
* 当前 `chat_type`
* 发送者 `sender_open_id`
* 发送者名称 `sender_name`

同时提供消息读取相关工具：

* `lark_list_messages`
* `lark_get_message`
* `lark_get_message_resource`

### 飞书通知中间件

飞书通知中间件负责向智能体提供飞书消息发送、更新和撤回能力，包括：

* `lark_send_text_notification`
* `lark_send_rich_notification`
* `lark_update_message`
* `lark_recall_message`

该中间件还支持根据当前群聊中出现过的姓名或 `@` 记录解析接收人，适合在群聊场景中把通知发送给特定用户。

## 五、测试机器人

1. **添加机器人到群聊**
   * 在飞书客户端群设置中搜索"MyCoder"机器人并添加

2. **运行编码任务或审查任务**
   * 触发后端自动运行的编码任务或审查任务，确保飞书集成能够发送通知消息给用户

3. **回复通知消息**
   * 单聊：直接向机器人发来的通知消息回复
   * 群聊：@机器人并发送消息，验证回复功能

### 关键文档参考

* [机器人概述](https://go.feishu.cn/s/6aRonz2AA04)
* [发送消息接口](https://go.feishu.cn/s/61BYfgpwE01)
* [回复消息接口](https://go.feishu.cn/s/61BYfeQRw0s)
* [事件订阅流程](https://go.feishu.cn/s/5_sDxkQ3802)
* [配置应用可用范围](https://go.feishu.cn/s/63g3FAPNE01)

通过以上步骤，即可搭建一个能够自动接收通知消息的机器人应用。
