Distilly飞书自动采集教程:一键蒸馏同事的消息、文档与多维表格(含私聊OAuth配置详解)
【免费下载链接】distillyDistilly — Distill how they think into reusable Skills for any Agent or Bot. Formerly Colleague Skill(原同事 Skill).项目地址: https://gitcode.com/gh_mirrors/co/distilly
Distilly 飞书自动采集是开源项目 Distilly(原同事 Skill)内置的数据采集能力:只需输入同事姓名,它就能通过飞书 API 自动拉取该同事的群聊消息、私聊消息、文档/Wiki 和多维表格,并整理成统一格式,直接送入 Distilly 蒸馏流程,生成可复用的 Agent Skill 人物画像。本教程面向新手,从零讲清配置、采集与私聊 OAuth 授权全流程,无需手写任何代码。
为什么选择 Distilly 的飞书自动采集?
很多团队的知识散落在飞书里:群聊里的技术方案、私聊里的决策讨论、文档里的设计评审、多维表格里的项目排期。当关键同事离职或转岗,这些经验往往随之流失。
Distilly 的定位是「把一个人怎么思考,蒸馏成 Agent 可复用的 Skill」。其中飞书(Lark)是唯一支持全自动 API 采集的办公平台——输入姓名即可,无需浏览器登录或手动导出:
| 采集项 | 是否自动 | 说明 |
|---|---|---|
| 群聊消息 | ✅ | 自动找到同事所在的共同群聊,只提取该同事发出的消息 |
| 私聊消息 | ✅(需 OAuth) | 以用户身份拉取,保留双方对话上下文 |
| 文档 / Wiki | ✅ | 按创建人搜索并拉取正文内容 |
| 多维表格 | ✅ | 自动遍历表、字段与记录,转为 Markdown 表格 |
💡 消息只保留文字类内容,自动过滤「[图片]」「[语音]」等占位消息;长消息(观点/决策类)与日常短消息会分类归档,方便后续蒸馏权重分配。
一键安装与初始化(最快配置方法)
第 1 步:安装 Distilly
将仓库克隆到 Agent 的 Skill 目录即可:
git clone https://gitcode.com/gh_mirrors/co/distilly ~/.agents/skills/distilly pip3 install -r requirements.txt核心依赖只有requests(见 requirements.txt),飞书自动采集零额外依赖。各宿主的详细安装路径见 INSTALL.md。
第 2 步:创建飞书企业自建应用
在飞书开放平台创建一个企业自建应用,并在权限管理中开通以下权限(--setup命令运行时会完整打印这份清单):
| 类别 | 权限 | 用途 |
|---|---|---|
| 消息 | im:message:readonly | 读取群聊消息 |
| 消息 | im:chat:readonly | 读取群聊信息 |
| 消息 | im:chat.members:readonly | 读取群成员 |
| 消息(用户权限) | im:message | 私聊采集,以用户身份读消息 |
| 消息(用户权限) | im:chat | 私聊采集,读取会话列表 |
| 用户 | contact:user.base:readonly | 读取用户基本信息 |
| 用户 | contact:department.base:readonly | 按姓名搜索同事(必需) |
| 文档 | docs:doc:readonly | 读取文档 |
| 文档 | wiki:wiki:readonly | 读取知识库 |
| 文档 | drive:drive:readonly | 搜索云盘文件 |
| 多维表格 | bitable:app:readonly | 读取多维表格 |
⚠️两个关键前提:① 需将应用的 Bot 加入目标群聊,Bot 才有权限读取群消息;② 按姓名搜索同事必须开通部门遍历权限,否则请用邮箱或手机号作为搜索词。
第 3 步:初始化配置
python3 tools/feishu_auto_collector.py --setup按提示输入 App ID 和 App Secret,配置会加密权限(0600)保存到~/.distilly/feishu_config.json。如果你已有旧版~/.colleague-skill/目录的 token,采集器会自动回退读取,无需重新配置。
一条命令完成飞书数据采集
配置完成后,只需运行:
python3 tools/feishu_auto_collector.py --name "张三" --output-dir ./knowledge/zhangsan采集器会依次执行 7 步:搜索用户 → 匹配共同群聊 → 拉取群消息 → 拉取私聊消息 → 搜索文档/Wiki → 拉取文档正文 → 汇总输出。可选参数:
--msg-limit 1000:消息条数上限(默认 1000)--doc-limit 20:文档篇数上限(默认 20)--open-id ou_xxx:直接指定用户 open_id,跳过搜索
输出结果长什么样?
采集完成后,./knowledge/zhangsan/目录下会生成三个文件:
knowledge/张三/ ├── messages.txt # 分类消息:长消息(观点/决策)+ 日常消息 + 私聊对话上下文 ├── docs.txt # 文档与Wiki正文,含标题、链接、创建人 └── collection_summary.json # 采集摘要:用户ID、部门、文件清单、时间其中messages.txt会自动把私聊消息按时间正序重排,并标注[张三]/[对方]发言人,保留完整对话语境——这正是蒸馏「表达方式」的关键素材。
私聊采集 OAuth 配置详解(新手必看)
为什么私聊需要额外配置?因为飞书的安全机制:应用身份(tenant_access_token)无权访问私聊会话,私聊消息必须通过user_access_token(以你个人身份授权)获取。整个过程分 3 步:
Step 1:确认用户权限已开通
回到飞书开放平台,确认应用已开通「用户权限」im:message和im:chat(注意是用户权限而非应用权限,见上表)。
Step 2:浏览器 OAuth 授权获取 code
在浏览器打开飞书开放平台的 OAuth 授权地址(格式为https://open.feishu.cn/open-apis/authen/v1/authorize,参数包含你的 App ID 与授权范围im:message im:chat,可从--setup的终端提示中直接复制)。登录并授权后,页面会跳转到你设置的回调地址,地址栏中的code参数就是授权码,复制它。
Step 3:用 code 换取 token 并写入配置
python3 tools/feishu_auto_collector.py --exchange-code {CODE}成功后终端会显示✅ user_access_token 已保存,token 自动写入配置文件。最后补上私聊会话 ID(oc_开头,可通过飞书发送消息 API 的返回值获取):
python3 tools/feishu_auto_collector.py --name "张三" --p2p-chat-id oc_xxx或者把p2p_chat_id提前写入配置文件,之后每次采集自动带上私聊。完整实现可查看 tools/feishu_auto_collector.py。
📌 如果只想采集私聊、跳过用户搜索,还支持
--open-id ou_xxx --p2p-chat-id oc_xxx --name "张三"组合,效率最高。
多维表格是怎么被采集的?
对于同事维护的项目排期表、需求池等多维表格(Bitable),采集器会:
- 遍历该表格应用下的所有数据表;
- 读取每张表的字段定义与全部记录;
- 将每条记录转换为 Markdown 表格(自动转义单元格内的
|和换行符)。
这意味着「表格里的判断依据」也能进入蒸馏语料,让生成的 Skill 不仅懂同事怎么说,还懂他怎么排优先级。
常见问题排查
| 现象 | 原因与解决 |
|---|---|
| 「未能找到用户」 | 未开通contact:department.base:readonly;或改用--name user@company.com邮箱搜索 |
| 群消息为 0 条 | Bot 未被加入相关群聊,把应用机器人拉进群即可 |
| 有 token 却提示「跳过私聊采集」 | 配置中缺少p2p_chat_id,参考上文 OAuth 三步补齐 |
| 内部文档拉不到 | 换用浏览器方案 tools/feishu_browser.py(复用登录态),或 MCP 方案 tools/feishu_mcp_client.py,选型指南见 INSTALL.md |
从采集到蒸馏:最后一步
材料采集完成后,回到你的 Agent(Claude Code、Hermes、OpenClaw、Codex 等均可,见 SKILL.md)说:
Use Distilly to create a Person Profile for
张三.
Distilly 会读取./knowledge/张三/下的消息与文档,按 colleague 家族的六层人格结构(硬规则 → 身份 → 表达 → 决策 → 人际 → 纠偏)蒸馏出 Work Skill + Persona,并打包成可安装、可版本回滚、可持续追加材料的 Agent Skill。从此,那位同事的思考方式,就是你的 Agent 的常驻能力。
🔗 相关延伸阅读:docs/lang/README_ZH.md(中文版项目说明)
【免费下载链接】distillyDistilly — Distill how they think into reusable Skills for any Agent or Bot. Formerly Colleague Skill(原同事 Skill).项目地址: https://gitcode.com/gh_mirrors/co/distilly
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考