概述
飞书集成把一个工作空间里的智能体接到您自己的飞书机器人上。接好之后,团队成员不必打开控制台:- 私聊机器人,或在飞书群里 @ 它,立刻拿到基于团队记忆库的回答
- 回答逐字打字机式呈现,不用干等一整段
- 发一份文档或一张截图给它,就能接着追问里面的内容
- 每次问答都会沉淀为记忆,同事再问时不必有人重复解释
飞书与 Lark 是两个独立平台。 国内版是飞书(
open.feishu.cn),国际版是 Lark(open.larksuite.com),账号与应用互不通用。本文针对飞书。您使用的是 Lark,请联系我们——连接哪一边由部署决定,不是在集成里选的。开始之前
MemoryLake 侧
- 团队的 owner 或 admin 角色(member 既看不到也改不了集成)
- 一个工作空间,里面至少有一个项目
- 至少一个已关联到该工作空间的智能体(在工作空间的「智能体」标签页关联)
飞书侧
- 飞书管理员权限:能创建应用、申请权限,并且发布版本要管理员审核
- 一个用于测试的飞书群(可选,但强烈建议)
第一部分:在飞书开放平台创建机器人
这部分全部在飞书侧完成,目的是拿到两样东西:App ID 和 App Secret。1
创建「企业自建应用」
用飞书管理员账号登录 飞书开放平台,创建企业自建应用。应用名称和图标会展示给您的同事,建议直接写团队认得出的名字,例如「记忆库助手」。
2
添加「机器人」能力
进入应用详情 → 添加应用能力 → 添加机器人。没有这一步,后面所有消息相关的权限都搜不到、点不亮。
3
复制 App ID 与 App Secret
左侧凭证与基础信息页面,复制 App ID(形如
cli_xxxxxxxxxxxxxxxx)与 App Secret。这两个值随时可以回到这个页面再看,不用担心记不住。4
开通权限
左侧权限管理,逐个搜索并开通。控制台支持粘贴 JSON 批量导入。关于
cardkit:card:write 现在就一起开。飞书每新增一个权限都要重新发版、重新审核一轮,现在多勾一个,比两周后再走一遍审批省事得多。流式回答不需要配置任何卡片模板。 这个权限到位就自动生效,没有别的步骤。
im:message:readonly: 上面那三个 im:message.*_msg 只管「收到消息事件」,不含「读取消息里的资源」。没有它,机器人连私聊里发给它自己的文件都下载不了。它属于「读消息」的宽权限,管理员审批时会看到这个范围,值得提前说明。关于两个 contact:*(可选,但要一起加): 飞书的消息事件里不带发言人姓名,只有一串 ou_ 开头的 id。不配这两个,控制台「记忆身份」里每个人都显示成 ou_c36c976b…,认不出是谁——功能一切正常,只是不好核对。5
配置事件订阅
左侧事件与回调 → 订阅方式选 「使用长连接接收事件」 → 添加事件
im.message.receive_v1(接收消息)。如果这一步保存不了,先跳过,把权限和发布做完,等集成在控制台里连上之后再回来配(届时要再发一次版本)。这是飞书侧的校验时序问题,不是故障。
6
发布版本并让管理员审核
左侧应用发布 → 版本管理与发布 → 创建版本 → 填版本号与更新说明 → 申请线上发布。然后让管理员在飞书管理后台 → 工作台 → 应用审核里通过。
第二部分:在控制台创建集成
1
打开工作空间的「集成」标签页
在 MemoryLake 控制台 里进入 MemoryLake → 工作空间,打开目标工作空间,切到 集成 标签页,点 开始接入。在「选择要接入的平台」里选 飞书。
2
第一步:填写飞书应用信息
填完点 下一步:智能体与记忆。
一个飞书机器人只能接入一处。如果这个 App ID 已经被别的集成用掉了,输入框下面会当场提示,并给一个「去编辑那一条」的入口。
3
第二步:选智能体与记忆范围
下拉里选不到智能体,说明当前工作空间还没关联任何智能体。先去工作空间的「智能体」标签页完成关联,再回来创建集成。
4
创建并连接
点 创建并连接。集成创建后默认就是启用状态,服务端会立刻去建立与飞书的连接。卡片上的状态会从「连接中」变成「已连接」——通常几秒,最长一分钟左右。如果状态变成「异常」并提示「凭证无效,请检查 App ID / App Secret」,回到编辑弹窗核对这两个值。
集成卡片上的状态徽标显示已连接。
第三部分:验证并开始使用
私聊
企业成员在飞书工作台里打开这个应用即可开始对话,直接发问题、不用 @。群聊
把机器人拉进群,之后 @ 它 + 问题。机器人会引用您那条提问来回复,并 @ 回您——群里消息刷得快时,这两样能保证您不会漏掉答案。 机器人在某个群里第一次被 @ 时,会额外附一句能力说明,之后不再重复。群里只有 @ 了机器人的消息才会投递给我们。这是飞书平台的机制,也意味着机器人看不到群里其他聊天内容。
发文档和截图给它
- 私聊:直接把文件或图片发给机器人,然后追问内容
- 群里:@ 机器人时可以同时贴一张图(「@机器人 + 一句话 + 一张图」是同一条消息)
群里想让它读文档,要用「引用」这个动作: 先把文件发到群里,再回复那条消息并 @ 机器人。直接发文件给群里的机器人是收不到的——飞书的文件消息带不了 @,平台不会投递。引用之后我们能从您那条回复里反查到文件。
会话与上下文
- 私聊是连续会话:不会因为隔了多久而断,隔夜再问也接着上下文。想从头开始,发
/new - 群聊按话题:同一个人连续提问会接着上下文;8 分钟没说话之后再提问算新话题(刚发过文件时这个窗口放宽到 30 分钟,方便围绕同一份文件追问)
- 群里每个人的上下文互相独立,多人同时提问不会串味
- 私聊里发过的文件不会过期,一直跟着这个会话;同时最多带最近 5 个,发第 6 个时最早那个就不再参与了。
/new会一并清掉
谁是谁
每个飞书用户在 MemoryLake 里对应一个独立的记忆身份,个人相关的记忆归到各自身上;写入项目里的团队记忆则是所有人共享的。 配了两个contact:* 权限的话,记忆身份会显示真实姓名,机器人也能答得上「我是谁」。
机器人暂时处理不了的
发语音、视频、表情包给它,会得到一句明确的提示(比如「我还听不了语音,请改用文字」),不会静默无反应。管理已有集成
App ID 创建后不可修改——它是这条集成的身份。要换成另一个飞书机器人,只能删掉重建。
常见问题
工作空间里找不到「集成」标签页
工作空间里找不到「集成」标签页
两个可能:
- 该部署没有启用 IM 渠道功能。 这个开关默认关闭,需要平台管理员开启。
- 您的角色是 member。 配置集成要写第三方凭证,属于敏感写操作,只有团队的 owner 与 admin 有权限。
订阅方式里只有「发送到开发者服务器」,没有「长连接」
订阅方式里只有「发送到开发者服务器」,没有「长连接」
大概率应用建成了商店应用而不是企业自建应用。长连接只支持自建应用。自建应用里如果也看不到,检查第 2 步的「机器人」能力是否已添加。
权限勾了但不生效 / 机器人说读不了文件
权限勾了但不生效 / 机器人说读不了文件
飞书的权限必须发布版本并通过审核之后才生效。应用状态是「待发布」或「有更改未发布」时,勾选的权限一个都不算数。到应用发布 → 版本管理与发布创建版本、申请线上发布,再让管理员在管理后台审核通过。注意这不是一次性的:后续每次新增权限,都要再走一遍。
控制台显示「已连接」,但机器人在飞书里毫无反应
控制台显示「已连接」,但机器人在飞书里毫无反应
按顺序检查:
- 事件订阅配了吗:需要
im.message.receive_v1,且订阅方式是「使用长连接接收事件」 - 应用发布通过了吗:未发布时权限不生效
- 群聊里真的 @ 了机器人吗:群里只有 @ 到机器人的消息才会投递
- 应用可见范围:如果设了白名单,要用的人得在范围里,否则他们看不到这个机器人
- 集成开关是否被停用(停用时机器人会回「机器人当前不可用,请联系管理员。」)
状态显示「凭证无效,请检查 App ID / App Secret」
状态显示「凭证无效,请检查 App ID / App Secret」
飞书侧拒绝了我们的建连请求,几乎总是这三种情况:
- App ID 或 App Secret 复制时多了空格、少了字符
- 密钥在飞书侧被重置过,控制台里还是旧值
- 填的是另一个应用的凭证
回答是一整段蹦出来的,没有打字机效果
回答是一整段蹦出来的,没有打字机效果
检查
cardkit:card:write 权限是否已开通并且已随版本发布生效。飞书这边流式不需要任何模板,只要这个权限到位就自动生效。权限不到位时我们会自动回落成普通消息——回答内容完整,只是没有逐字效果。「记忆身份」里显示的是 ou_xxx 这一串,不是姓名
「记忆身份」里显示的是 ou_xxx 这一串,不是姓名
需要
contact:contact.base:readonly 和 contact:user.base:readonly 两个权限都开通并发布生效。只加前者会「调用成功但没有姓名」,表现和完全没配一样。在群里发文件给机器人,它完全不理
在群里发文件给机器人,它完全不理
飞书的文件消息带不了 @,所以那条消息平台不会投递给我们,我们收不到任何东西。正确姿势:先把文件发到群里,再「回复」那条消息并 @ 机器人。 这样我们能从您的回复里反查到文件。私聊里直接发文件即可,没有这个限制。
私聊里问「我是谁」它答不上来,或答得莫名其妙
私聊里问「我是谁」它答不上来,或答得莫名其妙
答不上来:需要两个
contact:* 权限(见上)。配好之后新建立的记忆身份会带上姓名。答得莫名其妙:私聊是连续会话,上下文不会因为隔了多久而断。如果您发一个表情、一句「好的」这类没有新信息的内容,机器人可能会接着很久以前那轮的话题回答。发 /new 开一段新对话即可。同一个飞书机器人能接到两个工作空间吗
同一个飞书机器人能接到两个工作空间吗
不能。一个 App ID 在整个平台只能被一条集成占用——否则飞书会把消息随机投给其中一条连接,回答会串到别的团队去。如果提示这个 App ID 已被占用:
- 占用者在同一个工作空间:直接改那一条(提示里有「去编辑那一条」的入口)
- 占用者在同团队的其他工作空间:先删掉原来那条,再在这里接入
- 占用者在其他团队:出于安全考虑我们不会透露是谁,请在飞书开放平台新建一个应用
谁能用这个机器人?能不能配一份白名单
谁能用这个机器人?能不能配一份白名单
访问范围完全由飞书侧决定,我们刻意不做第二套白名单——两处配置漂移比没有配置更危险。具体来说:
- 私聊:由应用的可用范围决定(飞书开放平台里设置)
- 群聊:由群成员决定——机器人在群里,群成员就能 @ 它
成员之间的对话会互相看到吗
成员之间的对话会互相看到吗
分两层看:
- 对话上下文是按人隔离的。群里每个人各有独立上下文,A 的提问不会出现在 B 的对话里。
- 项目记忆是共享的。 沉淀进读写项目的记忆,所有能用这个机器人的人都能检索到——这正是这个功能的价值,也是为什么创建时要把读写项目当成一次授权决策来选。
机器人说「当前账户额度已用尽」或「当前请求较多」
机器人说「当前账户额度已用尽」或「当前请求较多」
两句话对应两件不同的事:
- 「当前账户额度已用尽,请联系管理员升级套餐后再试。」 团队的套餐额度耗尽了。不充值不会自动恢复,请联系管理员充值或升级套餐。
- 「当前请求较多,正在排队,请稍后再发一次。」 是我们这边一时繁忙,不是您发得太快,稍后重发即可。
删除集成会影响什么
删除集成会影响什么
会一并清除这条集成的会话记录、飞书用户与记忆身份的映射关系,以及会话里挂着的附件引用,且不可恢复。已经沉淀进项目的记忆和已入库的文件不会被删 ——它们属于项目,不属于集成。只是临时停用的话,用卡片上的开关就够了,不要删。