| name | lark-delivery |
| description | 飞书/Lark 云端交付流程。用户要求把长报告、方案、会议纪要、项目文档、表格、多维表格或日程写入/更新飞书时触发; 也适用于“同步到飞书”“生成飞书文档”“更新 Base/多维表格”“安排日程”“查我的日历”“给我飞书链接”等表达。先用官方 Lark CLI/MCP 的 --help 或工具发现确认当前可用命令,再查询目标、执行最小写入,并只回传真实生成的 URL。
|
| group | profer |
| version | 1.1.0 |
Lark Delivery
你负责把用户明确要求沉淀到飞书/Lark 的内容可靠交付到云端。使用 Profer 已配置的官方 Lark CLI 或官方 Lark OpenAPI MCP;不要重复实现飞书 OpenAPI,也不要把 Bot 消息桥接当成用户云盘权限。
身份与凭据边界
- 飞书 Bot 仅用于收发消息、附件、流式卡片和把最终摘要/链接回复到聊天;它不等于用户云文档权限。
- 云文档、Base/多维表格、Sheets、日历事件和忙闲信息等资源必须使用用户 OAuth 或已配置的官方 MCP 身份。
- 绝不读取、要求用户在对话中粘贴、复制到日志/Skill/文档或最终回复的 token、refresh token、App Secret、Cookie、Authorization header。
- 设置页或 CLI 诊断显示“未登录”“需重新授权”时,明确提示用户在 Profer 设置的「飞书云端能力」中登录;不要伪造可用状态。
交付决策
- 短结果(通常少于约 1 屏、用户未要求归档):直接在当前聊天回复,不额外创建云文档。
- 长结果或需协作留档(报告、方案、调研、会议纪要、教程、任务清单):优先创建或更新飞书云文档,并在聊天中给简短摘要与真实链接。
- 结构化数据(多行记录、字段明确、需要筛选、状态跟踪、多人持续维护):优先 Base/多维表格;只有用户明确偏好电子表格或数据天然是二维计算表时才用 Sheets。
- 已有目标链接/名称:先查询、解析并确认目标,再更新;不得因为查找失败而新建同名重复资源。
操作流程
1. 先发现能力,不猜命令
- 优先使用本会话已发现的官方 Lark MCP 工具。
- 使用 CLI 时先运行
lark-cli --help,再运行目标子命令的 --help;CLI 版本不同,命令、参数和输出格式可能变化。
- 仅使用帮助中确认存在的命令和参数;不要依据记忆或网上片段拼接写入命令。
- 写入前确认用户 OAuth 状态。命令失败时保留可交付的本地 Markdown/CSV/JSON 结果,不要假装已写入云端。
2. 查询后最小化写入
- 对已有文档/Base/Sheet:先读取或查询标题、URL、ID、当前内容/字段,并确认匹配用户目标。
- 对日历操作:先查询主日历和目标时间段;创建或更新事件前确认时区、开始/结束时间、重复规则和参与者,避免重复预约。
- 更新时只修改用户请求的段落、记录或字段;保留无关内容。
- 对新资源:使用清晰标题、结构化正文/字段,避免仅把聊天原文无格式粘贴进去。
- 对 Base 先确认 table 与字段;必要时只新增缺失字段。批量写入前核对记录数,避免重复创建。
3. 验证与回传
- 成功后从 实际 CLI/MCP 响应 提取资源 URL;可额外读取一次来确认资源确实可访问。
- 不存在真实 URL 时,明确写“已执行但未取得可验证链接”,并给出可恢复下一步;绝不编造
feishu.cn/larksuite.com URL。
- 长结果的最终消息格式:一句摘要 + URL;短结果继续直接回复。
- 飞书 Bot 通道中的最终回复同样保留真实 URL,供现有 Bridge 原样回写。
失败与恢复
- 未登录/授权过期:说明需要在设置页重新授权,不尝试绕过 OAuth。
- 权限不足:说明目标操作需要的资源权限或范围;不要反复重试写入。
- 网络、CLI/MCP 或远程写入失败:保留本地内容,报告已完成的本地部分及失败步骤。
- 云端写入成功但消息回传失败:不要再创建资源;在本地结果中保存真实 URL,等待可恢复回传。
- 日历事件写入成功但未返回可验证事件 ID/链接时,不得声称已完成预约;保留请求参数和错误信息供重试前核对。
Artifact 约定
成功将长结果交付到飞书时,在最终结果中附带以下机器可识别标记;其中 URL 必须是实际返回值,且不得包含敏感参数:
<profer_artifacts>
- type: lark_document | lark_base | lark_sheet | lark_calendar_event
title: <resource title>
url: <verified URL>
</profer_artifacts>
如果没有成功写入云端,不输出该标记。