feat(doc): 飞书→inbox skill 与流程说明,并在 AGENTS 中引用
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# 飞书会议记录 → Inbox → Inbox 分析 流程
|
||||
|
||||
本文描述如何跑通:**飞书会议记录通过飞书/机器人进入 inbox,再走 inbox 分析**。
|
||||
|
||||
---
|
||||
|
||||
## 流程总览
|
||||
|
||||
```
|
||||
飞书(会议纪要/文档) → 进入 inbox/ → 执行 inbox 分析(阶段一:分析报告 → 阶段二:执行并归档)
|
||||
```
|
||||
|
||||
- **Inbox 分析**:按 `.cursor/skills/inbox-process/SKILL.md` 执行(识别实体、更新/新建 bible 与 beat、归档)。
|
||||
- **飞书 → inbox**:有两种方式,见下。
|
||||
|
||||
---
|
||||
|
||||
## 方式一:在 Cursor 里用飞书 MCP 拉取到 inbox(推荐先跑通)
|
||||
|
||||
无需在飞书里配置机器人,在 Cursor 对话中完成「拉取 + 分析」。
|
||||
|
||||
### 步骤
|
||||
|
||||
1. **把飞书文档拉到 inbox**
|
||||
- 对 AI 说:**「把飞书文档拉到 inbox」** 或 **「从飞书拉会议记录到 inbox」**,并给出:
|
||||
- 飞书文档链接(如 `https://xxx.feishu.cn/docx/XXXX` 或 `https://xxx.feishu.cn/wiki/YYYY`),或
|
||||
- 文档标题/关键词(由 AI 用 MCP 搜索后选一个)。
|
||||
- AI 会使用 **user-lark-mcp** 的 `docx_v1_document_rawContent`(或先 `wiki_v2_space_getNode` 再取正文)拉取正文,写入 `inbox/{文件名}.md`,并在文首注明来源(飞书 docx/wiki)。
|
||||
|
||||
2. **对刚进 inbox 的文件跑 inbox 分析**
|
||||
- 对 AI 说:**「对 inbox 的 {文件名} 跑 inbox 分析」** 或 **「处理 inbox / 处理 eureka」**(若只有一个待处理文件)。
|
||||
- AI 按 `inbox-process` skill:先做**阶段一(只读分析 + 输出报告)**,等你确认后做**阶段二(更新/新建 bible 与 beat、归档、摘要)**。
|
||||
|
||||
### 依赖
|
||||
|
||||
- Cursor 已启用 **user-lark-mcp**,且已配置好飞书应用与 token(用户身份拉 doc 需 useUAT)。
|
||||
- 文档链接中的 token:wiki 链接用 `wiki/` 后的节点 token;docx 链接用 `docx/` 后的 `document_id` 调 `docx_v1_document_rawContent`。
|
||||
|
||||
---
|
||||
|
||||
## 方式二:飞书机器人自动推到 inbox(后续扩展)
|
||||
|
||||
希望「会议结束或有人分享会议纪要到群」时,自动在仓库里生成 inbox 文件时,可做:
|
||||
|
||||
1. **飞书端**
|
||||
- 创建自定义应用,开通所需权限(如:云文档读、群消息接收、会议相关事件等)。
|
||||
- 机器人订阅事件,例如:
|
||||
- 群消息中有人发送会议纪要文档链接;或
|
||||
- 日历/会议结束后生成纪要 doc,通过 webhook 通知。
|
||||
2. **本地/服务器端**
|
||||
- 提供一个 HTTP 端点(或 GitHub App / 仓库 webhook),接收飞书发来的「文档 link 或 document_id」。
|
||||
- 该端点调用飞书 API 拉取文档正文,在仓库中创建 `inbox/{标题或日期}.md`(或先写临时文件再由 Cursor 移动)。
|
||||
3. **分析**
|
||||
- 你打开 Cursor 后对 AI 说「处理 inbox」或指定「对 inbox 的 xxx 跑 inbox 分析」即可。
|
||||
|
||||
当前 MCP 没有「会议事件」专用接口,机器人方案需要你在飞书开放平台配置事件与 webhook,并与仓库写入方式对接。
|
||||
|
||||
---
|
||||
|
||||
## 小结
|
||||
|
||||
| 阶段 | 做法 |
|
||||
|----------------|------|
|
||||
| 飞书 → inbox | **方式一**:在 Cursor 说「把飞书文档/会议记录拉到 inbox」并给链接或关键词,由 AI 用 Lark MCP 拉取并写入 `inbox/`。 |
|
||||
| Inbox 分析 | 说「对 inbox 的 {文件名} 跑 inbox 分析」或「处理 inbox」,按 `inbox-process` 做分析 → 确认 → 执行并归档。 |
|
||||
|
||||
先按方式一在 Cursor 里跑通一次「拉一条会议记录 → 跑 inbox 分析」,再如需自动化可扩展方式二。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
name: feishu-to-inbox
|
||||
description: Use when 把飞书文档拉到 inbox、从飞书拉会议记录、飞书文档进 inbox、Feishu doc to inbox、Lark doc to inbox. 通过飞书 MCP 拉取文档正文并写入项目 inbox 目录,便于后续走 inbox 分析。
|
||||
---
|
||||
|
||||
# 飞书文档拉取到 Inbox
|
||||
|
||||
当用户希望把飞书(Feishu/Lark)上的文档(如会议记录、Wiki 页面)拉取到本项目的 `inbox/` 目录时,按以下步骤执行。
|
||||
|
||||
## 触发表述
|
||||
|
||||
- 「把飞书文档拉到 inbox」「从飞书拉会议记录到 inbox」「飞书文档进 inbox」
|
||||
- 提供**飞书文档链接**或**文档标题/关键词**(用 MCP 搜索后选一个)
|
||||
|
||||
## 步骤
|
||||
|
||||
### 1. 确定要拉取的文档
|
||||
|
||||
- 若用户给了**完整链接**:
|
||||
- **Docx 链接**:`https://xxx.feishu.cn/docx/XXXX` → `document_id` = `XXXX`(即 `docx/` 后那一段)
|
||||
- **Wiki 链接**:`https://xxx.feishu.cn/wiki/YYYY` → 节点 token = `YYYY`;Wiki 节点可能关联底层 docx,需先查节点信息得到实际文档 token 再取正文
|
||||
- 若用户只给了**标题或关键词**:调用 **user-lark-mcp** 的 `docx_builtin_search`(`search_key` 为关键词),在结果中让用户确认要拉取哪一篇,或取第一篇,得到对应 `document_id`
|
||||
|
||||
### 2. 拉取正文
|
||||
|
||||
- **Docx**:调用 **user-lark-mcp** 的 `docx_v1_document_rawContent`,传入 `path.document_id`,**useUAT: true**(用户身份才能读个人/协作文档)
|
||||
- **Wiki 节点**:若链接是 wiki:
|
||||
- 先调用 `wiki_v2_space_getNode`,`params.token` = 链接中 `wiki/` 后的 token,`params.obj_type` = `wiki`
|
||||
- 若返回中有关联的 docx 文档 id,用该 id 调 `docx_v1_document_rawContent`;若节点即 docx 类型,按文档 token 取正文
|
||||
|
||||
### 3. 写入 inbox
|
||||
|
||||
- 文件名:优先用文档标题(去掉非法文件名字符),或 `会议记录-{日期}` / `飞书文档-{日期}.md`,避免与已有 inbox 重名
|
||||
- 保存路径:`inbox/{文件名}.md`(项目根下的 `inbox/`,不是 `kb/inbox/`)
|
||||
- 内容格式:
|
||||
- 文首可加一行来源说明,例如:`> 来源:飞书 Docx` 或 `> 来源:飞书 Wiki · docx`,若有链接可写 `> 链接:{用户提供的链接}`
|
||||
- 接着写 MCP 返回的正文(已是纯文本,可保留换行)
|
||||
|
||||
### 4. 建议下一步
|
||||
|
||||
- 告知用户已写入 `inbox/{文件名}.md`
|
||||
- 提示可对 AI 说:**「对 inbox 的 {文件名} 跑 inbox 分析」** 或 **「处理 inbox」**,按 `inbox-process` 流程做分析与归档
|
||||
|
||||
## 注意
|
||||
|
||||
- 未归档的 inbox 文件不要写入 `archived` frontmatter;归档由 inbox 分析流程在确认执行后完成
|
||||
- 若 MCP 返回错误(如无权限、文档不存在),如实报错并提示检查链接或飞书应用权限
|
||||
@@ -96,6 +96,8 @@ Templater 语法对应:`<% await tp.system.prompt("提示", "默认值") %>`
|
||||
|
||||
当被要求处理某个 inbox 文件时,按 **`.cursor/skills/inbox-process/SKILL.md`** 执行全流程(识别实体、更新/新建 bible、Beat→Bible 反向同步、归档、输出摘要)。流程与摘要格式以该 skill 为准。
|
||||
|
||||
若需将**飞书会议记录/文档**纳入 inbox 再分析:先用 **`.cursor/skills/feishu-to-inbox/SKILL.md`** 通过飞书 MCP 拉取文档到 `inbox/`,再对生成的文件跑 inbox 流程。端到端说明见 **`.cursor/FLOW-FEISHU-INBOX.md`**。
|
||||
|
||||
## 一致性检查
|
||||
|
||||
当被要求执行一致性检查时:
|
||||
|
||||
Reference in New Issue
Block a user