Skip to content

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

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

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

如果所有用户只需分开对话,可以让渠道账号使用一个已经验证的智能体实例,不要仅为分开对话采用按用户开通。选择方法参见通过渠道提供智能体

本实战将帮助你理解

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

注意

先理解按用户开通

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

准备条件

开始前需要:

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

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

注意

保护飞书应用凭证

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

理解创建和路由关系

下面的关系图展示两位用户首次使用和后续路由的不同阶段:

图表预览

创建渠道账号时不会批量创建用户实例。每位用户第一次完成 /init 时,平台才为该用户创建一个智能体实例并保存用户绑定;后续消息根据这条绑定进入同一实例。

按钮会在新标签页打开控制台。若先进入登录页,控制台目前不会在登录后自动返回目标页面;请登录后返回本文,再次选择按钮。

配置按用户开通

本阶段由 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 中只填写两位测试用户,并选择 禁用群聊

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

验证按用户开通

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

让第一位用户开通会议行动项助手

第一位测试用户执行以下操作:

  1. 在飞书中发送:

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

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

    language-text
    请整理以下会议记录:小林在周五前整理需求清单。接口负责人和上线日期尚未确定。
  4. 确认回答包含小林负责的事项和周五截止时间,并把接口负责人和上线日期列为待确认。

让第二位用户开通需求澄清助手

第二位测试用户执行以下操作:

  1. 在飞书中发送:

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

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

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

AgentWorks 配置者执行以下操作:

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

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

注意

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

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

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

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

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

要把这个实验扩展为真正可持续使用的个人工作助手,通常还需要:

  • 识别用户并保护数据边界:把渠道身份与业务身份可靠关联,并确认每位用户只能访问自己的私有资料、凭证和操作结果。
  • 保留可管理的长期记录:将偏好、行动项和历史决策保存到能够查看、更正、删除和审计的持久化系统。对话历史不能代替长期记录。
  • 保存和取回工作产物:需要跨会话使用的文件应写入经过批准的持久化系统,而不是只保留在临时工作区中。
  • 连接真正有用的业务能力:根据目标接入日历、任务、文档或其他业务系统,并为每位用户配置适当的权限、操作确认和审计记录。
  • 补充生产运行保障:明确数据保留、用户解绑和离职处理、资源清理、失败恢复、用量限制、监控和告警方式。

扩展时,先选择一个明确结果,例如“持续维护个人行动项”或“读取个人日历并创建待办”,再只添加完成该结果所需的存储和业务能力。

可选:验证重复初始化和长回复

本节不影响前面的完成结果。需要进一步检查初始化边界或飞书长内容展示时,再选择对应练习:

  • 重复初始化:让任意一位已初始化用户再次发送原 /init 命令。机器人应提示用户已经初始化,用户绑定不变,也不应创建第三个该用户的实例。
  • 长回复:发送一条只包含非敏感样例内容、且预计超过一张飞书卡片的请求。出现续接卡片时,确认内容顺序连续且没有缺失或重复;不要把某个固定字数当作分页阈值。更多验证方法参见验证消息往返

可选:练习解绑和重新初始化

这是可选的生命周期练习,会改变测试用户的消息路由,只能对本实战的非生产用户执行。

配置者删除用户绑定

  1. 用户绑定 中记录第二位用户的原实例 ID。
  2. 选择 删除绑定并确认删除。
  3. 确认绑定列表中不再显示该用户,而原智能体实例仍然存在。

第二位用户重新初始化

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

配置者核对新路由

  1. 用户绑定 中记录新实例 ID。
  2. 确认新实例 ID 与原实例 ID 不同,原实例仍然保留。

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

如果验证没有通过

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

调整、上线与清理

先保留已经验证的最小路径,再按实际身份、数据和能力范围扩展。

调整为自己的交付方式

  • 只需为不同用户保留不同对话时,改用实例绑定和不同渠道会话。
  • 需要用户在 /init 时提供业务参数时,只开放必要参数,并说明参数来源和校验规则。
  • 需要保存用户私有数据时,分别设计知识、记忆、沙箱、凭证和业务系统的访问范围,不要只依赖不同实例 ID。
  • 需要调用业务系统时,为写操作配置工具确认、最小权限和实际结果核对。

准备上线和清理

上线前确定飞书应用负责人、App Secret 轮换、允许名单、用户参数来源、实例配额、Trace 与告警、解绑流程、离职用户处理和数据保留策略。参见管理渠道账号与用户绑定将智能体投入生产

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

了解更多