UNPKG

@lark-project/cli

Version:

飞书项目插件开发工具

73 lines (53 loc) 4.16 kB
# handoff:把带源事实落成交接包 「接飞书项目要哪些平台事实」齐了之后(webhook 端点来自点位配置、能调的 OpenAPI 来自 `lpm perm list`、写回 / 出入参形态来自知识 MCP),把它们落成一份**交接包** markdown——这是接后端这件事里**唯一脱离插件工程目录、持久留存**的产物:既给当前会话写代码用,也留给后续接手的人 / 另一个 agent(换机器 / 换 agent,凭这份就能继续写后端,不必重新汇总契约 / 重跑 `perm list`)。 ## 写哪里 + 怎么命名 写进**后端代码目录**(你自己的后端仓 / 服务目录,跟着后端代码走,不依赖 plugin-dir 的 cache): ``` <后端代码目录>/meegle-backend-handoff-<pluginId>-<YYYYMMDDHHmm>.md ``` 插件级、不带点位 id(一个插件一份,多点位在内部分段汇总);时间戳到分钟。 ## 模板(逐段填,每条平台事实都带源) 每条事实后标它的源(MCP doc 关键词 / `lpm perm list` 的 key / schema),让接手的人能复核、不必信你一面之词。 ````markdown --- plugin: <pluginId> siteDomain: <siteDomain> appType: normal | ai_node | ai_field generatedAt: <YYYY-MM-DD HH:mm> --- # 后端接入交接包:<插件名> > 本交接包里的**平台事实**(OpenAPI 清单、webhook 协议、写回路径)来自可验证源,已逐条标注。 > 据此写出的**后端代码不在本流程的保证范围内**——在你自己的环境里联调验证(验签过不过、OpenAPI 返不返预期、写回生不生效)。 ## 业务意图 <originalRequirement 原话 + 一句话目标> ## webhook(每个端点一行) | 端点 / 点位 | 事件 / 触发判据 | 验签要点 | 源 | |---|---|---|---| | … | … | … | MCP `<关键词>` / schema | ## 要调的 OpenAPI(能调清单 ∩ 本次用到) | 用途 | 接口(中文名) | 出入参源 | perm 现状 | |---|---|---|---| | … | … | MCP `<关键词>` | 已开通 / 待申请(normal) / 创建时全开(AI) | ## 写回路径 <work_item_id / task_id 怎么来调哪个写入接口回传什么字段> ## 运行环境 - 凭据:env `<变量名>`(真值由你设进后端 env;本流程不读、不回显) - 语言适配:Go/Java 用官方服务端 SDK;TS/Node 逐接口查文档手写(语言适配见 [`../SKILL.md`](../SKILL.md) 「用 SDK 还是手搓 HTTP」) ## 实现 checklist - [ ] 每个 webhook 端点:接收 + 验签 - [ ] token 获取(按语言用 SDK / raw) - [ ] 每个 OpenAPI 调用在能调清单内(`normal` 超出 = 回插件会话 `lpm perm apply` 申请;AI 应用权限全开,无此步) - [ ] 写回按上面路径 - [ ] `/api/proxy/*`(若前端组件有) - [ ] 联调:真 webhook url/token 指过去、产品里触发、看日志 ## 交接给后端会话执行(把本 md 整份贴进后端仓的新会话) /meegle-plugin-backend 按本交接包实现该插件的后端那一半。 - 先召回 meegle-plugin-backend skill 取知识索引 - 每个 OpenAPI 调用照「要调的 OpenAPI」段的 MCP 关键词查出入参 / 鉴权;webhook 验签照「webhook」段的源查 - 验签 / token / 出入参 / 写回每一处平台事实都带源(MCP doc);查不到就停下问,不猜签名、不编造协议 - Go / Java 用官方服务端 SDK,TS / Node 逐接口查文档手写 - 联调通过后把公网 webhook URL 回贴给插件会话(或去插件开发者后台改),由插件会话做第 2 次 `local-config set` 替换占位地址 ```` ## 产出后 - **你已坐在后端仓里(external-backend 入口)**:照这份交接包写代码——每个 OpenAPI 调用对着「要调的 OpenAPI」段的能调清单 + 源;怎么写(验签 / token / 出入参 / 写回 / 代理)走 [`../SKILL.md`](../SKILL.md) 的知识索引取。 - **从插件会话甩过来(跨仓)**:这份 md 自足(带源、可复核、末尾带执行 prompt),不必重新汇总契约 / 重跑 `perm list`——在后端仓**另起一个会话**贴进来,按末尾「交接给后端会话执行」段召回 `meegle-plugin-backend` skill 落地。