Skip to content

构建按用户开通的飞书个人工作助手 ​

连接 AI 助手

本实战把一个可按用户配置的个人工作助手模板接入飞书。两位飞书测试用户 Alex 和 Sam(均为虚构姓名)分别把自己的实例配置为会议行动项整理助手和需求澄清助手。两人分别完成 /init 后,会获得不同的智能体实例;后续任务会进入各自配置的实例。你将作为智能体开发服务平台(AgentWorks)配置者,核对用户绑定(飞书用户与智能体实例的对应关系)和实例 ID,确认按用户开通和配置已经生效。

本页只使用非生产飞书应用、飞书测试用户和非敏感数据。

本实战将帮助你理解 ​

  • 什么情况下应使用模板绑定(agent_id 指向 Agent 模板,用户需 /init),而不是让飞书用户使用一个已有智能体实例。
  • /init 如何为飞书用户创建并绑定智能体实例,以及同一个实例如何处理不同会话。
  • 哪些内容随智能体实例分别管理,以及为什么按用户创建实例不会自动拆分模板中共享的知识、记忆、凭证或外部账号。

注意

先理解按用户开通

如果你想为每位飞书用户按需创建可单独配置的个人工作助手,或者先验证 /init、用户绑定和消息路由,请继续完成本实战。如果还要让这些飞书用户通过自己的实例访问同一套统一维护的制度资料,可以改为完成构建共享制度知识的飞书员工服务助手。

准备条件 ​

开始前需要:

  • 一个已经通过实际回复验证的模型凭证和模型。尚未验证时,先完成创建第一个智能体并完成基础验证。
  • 创建智能体模板和渠道账号的权限。
  • 一个非生产飞书企业自建应用。该应用已启用机器人能力,使用长连接订阅 im.message.receive_v1,具有接收单聊和以机器人身份回复所需的权限,并已发布给两位飞书测试用户。
  • 同一测试企业中的两位飞书测试用户,以及两人在当前飞书应用中的发送者 ID。下文用 Alex 和 Sam 指代这两位飞书测试用户,不要求实际账号使用这些姓名。
  • 一个未被占用的测试资源名称前缀,例如 recipe-feishu-per-user-v1。

完整的飞书应用准备方法参见接入飞书机器人。

注意

保护飞书应用凭证

App Secret 只填写到 AgentWorks 的渠道账号中,不要放入智能体提示词、聊天消息、截图或测试记录。一个飞书应用只能连接一个启用的 AgentWorks 渠道账号;不要把已由其他账号使用的应用接入本实战。

理解创建和路由关系 ​

本实战使用飞书单聊。智能体模板保存可重复使用的配置,智能体实例是实际处理消息的助手,会话(Session)保存一段对话中的消息和回复。同一个智能体实例可以处理多段会话,因此,“使用同一个助手”和“接着同一段对话”是两回事。

按用户开通,分别配置助手 ​

创建飞书渠道账号并绑定智能体模板时,平台不会提前为所有飞书用户创建实例。Alex 和 Sam 分别在飞书中与机器人单聊,首次完成 /init 后,平台才根据同一个模板为两人各创建一个智能体实例,并保存各自的用户绑定。

本实战允许飞书用户在初始化时填写系统提示词,因此 Alex 可以得到会议行动项整理助手,Sam 可以得到需求澄清助手。后续收到 Alex 的消息时,平台根据用户绑定找到 Alex 的实例,再使用 Alex 当前会话的历史处理消息;Sam 的消息同样进入 Sam 自己的实例和当前会话。

图表预览

箭头表示首次开通,无箭头的线表示实例与会话的对应关系。

Alex 可以用同一个会议助手处理不同项目。例如,会话 1 用于项目一周会;发送 /session new 项目二周会 后,平台创建并切换到会话 2,用于讨论项目二。原会话仍然保留,但新会话不会自动接着原会话的对话历史。

这时使用的仍是 Alex 原来的智能体实例,助手配置没有改变,也不需要重新执行 /init。新建会话只是开始另一段对话,不是再创建一个助手。

共用一个助手,分别保留单聊历史 ​

如果 Alex 和 Sam 需要相同的提示词和能力配置,可以让飞书渠道账号直接绑定一个已有智能体实例,不必为每人再创建一个实例。

注意

仅供对照理解

本节帮助你理解共享实例的用法;本实战不采用这种模式,后续仍按用户开通专属实例。

两人的消息都由这个实例处理,但平台会根据当前渠道账号中的发送者,选择各自的单聊会话。Alex 的消息接着 Alex 的对话历史,Sam 的消息接着 Sam 的对话历史,不会因为共用一个实例就合并成同一段对话。

图表预览

因此,只需要分别保留单聊历史时,可以共用实例;需要像本实战一样为不同飞书用户配置不同的助手时,再按用户创建实例。选择方法参见通过渠道提供智能体。

会话分开并不代表能力资源也分开:同一个实例使用的记忆库、沙箱或外部账号仍可能由这些飞书用户共同使用。

配置按用户开通 ​

本阶段由 AgentWorks 配置者完成。先创建智能体模板,再创建一个绑定该模板的飞书渠道账号。

创建可按用户配置的智能体模板 ​

  1. 打开创建智能体模板页面。

    也可以打开 智能体模板,再选择 创建智能体模板。

  2. 在 模板名称 中输入带有测试前缀的名称。

  3. 选择已经通过实际回复验证的 模型凭证和模型。

  4. 在 系统提示词 中输入:

    language-text
    你是飞书个人工作助手。
    按照当前实例的配置处理飞书用户提供的非敏感工作样例。
    信息不足时说明需要补充什么,不要编造业务信息。
  5. 把系统提示词标记为 可配置。

    注意

    为什么把系统提示词设为可配置?

    飞书用户执行 /init 时,可以为自己的实例提供这个参数。参数值只会改变实例配置,不会验证飞书用户的业务身份或授予业务权限;身份和权限仍应由飞书组织、渠道允许名单和业务系统控制。

  6. 关闭默认开启的 启用文件系统,不添加其他能力。本实战只验证按用户创建和路由。

  7. 选择 创建智能体模板,确认模板已经保存。

创建模板绑定的飞书渠道账号 ​

新建飞书渠道账号时选择需要飞书用户执行 /init 的模板绑定
  1. 打开 渠道账号。

  2. 选择 新建账号,在 渠道类型 中选择 飞书。

  3. 输入带有测试前缀的 账号名称,再填写测试应用的 应用 ID(凭证)和应用密钥。

  4. 在 绑定模式 中选择 模板绑定(agent_id 指向 Agent 模板,用户需 /init)。

    注意

    飞书用户发送 /init 后才创建实例

    这里选择的是智能体模板,不是运行中的智能体实例。渠道账号创建完成后,还没有为飞书用户创建专属实例;每位飞书用户第一次完成 /init 时,平台才根据模板创建实例。参见首次使用时创建专属实例。

  5. 在 Agent 模板 中选择刚创建的智能体模板。

  6. 在 单聊允许的发送者 ID 中只填写 Alex 和 Sam 的飞书发送者 ID,并选择 禁用群聊。

    单聊支持分别新建会话。群聊中的对话上下文按群共享,不按发言者分别保存,也不支持通过 /session new 新建另一段群聊会话。详见管理群聊会话。

  7. 选择 创建并启用渠道账号,等待状态变为 在线。

验证按用户开通 ​

下面先由飞书测试用户 Alex 和 Sam 分别完成首次使用,再由 AgentWorks 配置者核对用户绑定和智能体实例。不要在同一个飞书账号中模拟两位飞书用户。

让 Alex 开通会议行动项助手 ​

飞书测试用户 Alex 执行以下操作:

  1. 在飞书中发送:

    language-text
    /init
  2. 根据机器人返回的参数名发送:

    language-text
    /init system_prompt=你是会议行动项整理助手。收到会议记录后,只提取负责人、事项和截止时间;缺少的信息列为待确认。不要编造。

    注意

    重复初始化不会创建新实例

    初始化成功后,Alex 或 Sam 再次发送原 /init 命令时,机器人会提示该飞书用户已经初始化;用户绑定不变,也不会创建新实例。

  3. 收到初始化成功提示后发送:

    language-text
    请整理以下会议记录:小林在周五前整理需求清单。接口负责人和上线日期尚未确定。

    注意

    长回复可能分成多张卡片

    如需测试长回复,可发送只包含非敏感样例、且预计回复较长的请求。出现续接卡片时,确认内容顺序连续,没有缺失或重复;不要把固定字数当作分页阈值。更多方法参见验证消息往返。

  4. 确认回答包含小林负责的事项和周五截止时间,并把接口负责人和上线日期列为待确认。

让 Sam 开通需求澄清助手 ​

飞书测试用户 Sam 执行以下操作:

  1. 在飞书中发送:

    language-text
    /init system_prompt=你是需求澄清助手。收到模糊需求后,先列出需要确认的目标用户、使用场景和验收标准,不直接给出实施方案。
  2. 收到初始化成功提示后发送:

    language-text
    我们想做一个内部问答机器人,请帮我明确还需要确认什么。
  3. 确认回答询问目标用户、使用场景和验收标准,没有直接给出实施方案,也没有沿用 Alex 的会议行动项格式。

核对用户绑定和智能体实例 ​

AgentWorks 配置者执行以下操作:

  1. 打开渠道账号详情的 用户绑定,记录 Alex 和 Sam 各自对应的智能体实例 ID。
  2. 确认两个实例 ID 不同。
  3. 打开 智能体实例,确认两个实例都存在。

完成结果:飞书测试用户 Alex 和 Sam 分别绑定到不同的智能体实例;Alex 的实例整理会议行动项,Sam 的实例提出需求澄清问题,后续消息按照用户绑定进入各自配置的个人工作助手。

注意

专属实例不等于所有资源都已分开

按用户开通会创建不同的智能体实例和用户绑定,但不会自动拆分已经共享的能力资源;新建会话也不会拆分这些资源。以后添加知识、记忆、沙箱、MCP 凭证或业务账号时,还需要分别确认这些资源的创建和访问范围。参见渠道应该绑定已有实例,还是按用户创建实例?。

如何解绑和重新初始化 ​

需要重新开通助手时,可以先解绑,再执行 /init 创建新实例;后续消息将进入新实例。请只对本实战的非生产飞书测试账号操作。

配置者删除用户绑定 ​

  1. 打开 渠道账号,进入本实战创建的飞书账号详情,在 用户绑定 中记录 Sam 的原实例 ID。

  2. 选择 删除绑定并确认删除。

  3. 确认绑定列表中不再显示 Sam,而原智能体实例仍然存在。

Sam 重新初始化 ​

飞书测试用户 Sam 执行以下操作:

  1. 发送一条普通消息,确认机器人提示“您尚未初始化,请先发送 /init 创建您的智能体实例”。
  2. 重新发送有效 /init,等待平台创建新实例。
  3. 发送一条普通消息,确认机器人可以回复。

配置者核对新路由 ​

  1. 返回 渠道账号,进入同一个飞书账号详情,在 用户绑定 中记录 Sam 的新实例 ID。

  2. 确认新实例 ID 与原实例 ID 不同,原实例仍然保留。

删除绑定只会移除飞书用户与实例的路由关系,不会删除原智能体实例。运营操作和后续清理参见管理用户绑定。

常见问题排查 ​

  • 渠道账号无法保持在线:检查 App ID、App Secret、应用版本、机器人能力和长连接事件订阅,并确认同一飞书应用没有连接另一个启用的渠道账号。
  • 飞书用户没有收到回复:检查该飞书用户在当前应用中的发送者 ID、单聊允许名单和机器人可见范围。
  • /init 提示缺少或不认识参数:按机器人返回的参数名重新发送,不要猜测字段名。
  • 初始化成功但没有用户绑定:记录飞书用户、发送时间和完整提示,再检查渠道账号状态;不要重复创建渠道账号。

从开通实验走向真正的个人助手 ​

本实战验证了两位飞书用户可以分别创建、配置并持续访问自己的智能体实例。与所有飞书用户共用一个聊天机器人相比,这种方式还可以分别管理实例配置、运行状态和生命周期。

不过,本实战关闭了文件系统,也没有添加知识、记忆或业务工具(可通过 MCP 或用户工具包接入)。因此,当前结果还不能长期保存飞书用户的资料和工作记录,也不能访问日历、任务、文档等业务系统。开始新会话后,助手能够使用什么信息,仍取决于后续接入的能力和数据资源。

按实际需求扩展助手 ​

先选择一个明确目标,例如“持续维护个人行动项”或“读取个人日历并创建待办”,再只添加完成该目标所需的能力:

  • 选择共享还是按用户配置:只需分别保留单聊历史时,可以使用实例绑定和不同渠道会话;需要飞书用户在 /init 时提供业务参数时,只开放必要参数,并说明参数来源和校验规则。
  • 保护飞书用户的资料和账号:把飞书身份与业务身份可靠关联,分别设置知识、记忆、沙箱、凭证和业务系统的访问范围,确保飞书用户只能访问有权使用的资料和操作结果。不要只依赖不同实例 ID。
  • 保留可管理的长期记录:将偏好、行动项和历史决策保存到能够查看、更正、删除和审计的持久化系统。对话历史不能代替长期记录。
  • 保存和取回工作产物:需要跨会话使用的文件应写入经过批准的持久化系统,而不是只保留在临时工作区中。
  • 连接业务系统:根据目标接入日历、任务、文档等工具,为每位飞书用户配置最小权限;涉及写操作时,设置操作确认,核对实际结果并保留审计记录。

准备上线和清理 ​

上线前,确定飞书应用负责人、App Secret 轮换方式、允许名单、实例配额、用量限制、Trace 与告警、失败恢复、用户解绑和离职处理,以及数据保留与清理策略。参见管理渠道账号与用户绑定和将智能体投入生产。

清理本实战时,先停用测试渠道账号,再删除用户绑定并分别处理对应智能体实例;随后删除渠道账号和智能体模板,最后在飞书开放平台停用测试应用并撤销 App Secret。

了解更多 ​