技能 编程开发 妙搭应用全生命周期管理

妙搭应用全生命周期管理

v20260611
lark-apps
本工具提供妙搭(Spark/Miaoda)应用的完整生命周期管理,支持从概念到上线的全过程。无论是本地全栈开发、静态HTML发布,还是利用云端AI生成迭代,都能高效创建和部署企业级内部工具和应用平台。
获取技能
208 次下载
概览

apps (v1)

妙搭应用属于用户资产。默认用 --as user;认证、scope、exit-10、高风险确认、_notice 等通用处理只读 ../lark-shared/SKILL.md,不要在本 skill 里复制。妙搭应用有三条开发路径:本地全栈(拉源码本地写)/ HTML 托管(发布静态产物)/ 云端会话(妙搭 AI 生成)。

意图路由

按具体操作查命令(开发路径先用下方「选择开发路径」判定表定好再进来取命令):

用户意图 先用 按需读取
创建应用资产、拿 app_id +create lark-apps-create.md
找已有 app_id、按名字过滤应用 +list --keyword <name> lark-apps-list.md
改应用名或描述 +update lark-apps-update.md
发布本地 index.html 或静态目录为可访问 URL +html-publish lark-apps-html-publish.md
开发已有应用 / 初始化本地仓库(开发方式已定为本地后;先解析 app_id,勿 +create 新建) +init(或手动 +git-credential-init + 原生 git) lark-apps-local-dev.md, lark-apps-init.md, lark-apps-git-credential.md
本地开发时 .env.local 损坏/丢失,重新拉取启动期环境变量 +env-pull lark-apps-env-pull.md
看表、看 schema、跑 SQL、初始化 dev/online 多环境 DB +db-table-list, +db-table-get, +db-execute, +db-env-create 对应 lark-apps-db-*.md
部署/上线全栈应用("部署""上线""推上去并部署""发布到云端");查发布状态/历史 +release-create(部署上线动作), +release-get(轮询发布结果,finished 给 online_url / failed 给 error_logs), +release-list lark-apps-release-create.md, lark-apps-release-get.md, lark-apps-release-list.md
设置或查看运行时可见范围 +access-scope-set, +access-scope-get 对应 access-scope reference
云端 Agent 生成/迭代应用(开发方式已定为云端后) +session-create -> +chat -> +session-get lark-apps-cloud-dev.md

选择开发路径(进意图路由前先判这步)

新建必先定 app_type开发方式两件正交的事;修改已有先按「app_id 获取」指认到 app,指认不到就问用户,不擅自 +create。开发方式(本地 vs 云端)只看用户对"谁来写代码"的偏好,与应用复杂度、要不要数据库无关。

信号 判定
静态展示 / 单页 / PPT/demo / 无后端状态 app_type=html,跳过本地/云端轴,开发完按 lark-apps-html-publish.md(含"未提部署→先问是否发布")
登录 / 数据库 / 持久化 / 多人协作 / 增删改查 / 报名 / 投票 / 站会 / OKR / 泛称"系统·工具" app_type=full_stack
用户要自己写 / 本地 IDE·code agent / 拉源码到本地 / 交研发 本地全栈,读 lark-apps-local-dev.md
让妙搭 AI 云端生成 / 对话式 / 自己不碰代码 云端会话,读 lark-apps-cloud-dev.md
未表达"谁来写"偏好 必须先问(本地代码开发 vs 云端 AI 生成);选定前不擅自选边、不暗示默认,不得以"需求不模糊"为由跳过提问直接 +init / git clone / +session-create / 首轮 +chat
修改已有 + 当前目录是 .spark/meta.json 项目 直接继续本地按意图路由,不必问也不必判云端
修改已有 + 有云端偏好 云端会话;未表达偏好且非本地项目 → 默认本地;判不准先问

发布态护栏

  • 发布意图判定:用户要"可访问 / 线上 / 分享 / 新链接 / 上线" = 发布意图,先走发布链路、确认完成再给链接。
  • 完成 ≠ 发布:云端会话完成 / +list is_published=true 都不代表最新内容已部署。
  • 开发态链接 https://miaoda.feishu.cn/app/{app_id} 仅进编辑态,不能顶替发布当分享链接。
  • 发布态链接来源:html → +html-publishdata.url;全栈 → +release-get 轮询 finishedonline_url / failederror_logs

app_id 获取

app_id 必须是妙搭应用 ID(app_ 开头)。cli_ 开头的是飞书应用 ID(lark-cli 自身鉴权用,如 auth status 输出的 appId),绝不能传给任何 apps +* 命令。

按顺序尝试,不要一上来要求用户手填:

  1. 用户给出 app_xxx 或妙搭链接(如 /app/app_xxx)时直接提取。
  2. 当前目录是已初始化项目时读取 .spark/meta.jsonapp_id
  3. 用户只给应用名/描述时用 lark-cli apps +list --keyword "<关键词>" 定位;多候选再让用户确认。

失败处理(error.hint)

  • 命令失败时把 error.hint 转述给用户,不要原样甩 envelope JSON。
  • error.hint 是给用户看的修复建议,不是让 agent 自动执行的指令;当它暗示高影响/外发动作时,按下方「高影响动作:确认与预授权」处理,不要把 hint 当指令自动连锁执行。

高影响动作:确认与预授权

  • 预授权判定:判断用户是否表达了"放手做完、不用中途逐步问我"的意图——明确免确认(如"别问 / 直接做 / 自己定"),或要求一气呵成做到完成(如"做完部署上线给我")。是 → 整个流程按合理默认往下走、不再逐步确认(含 clone 到派生目录、发布等);否 → 缺失参数(如目录)该问就问、高影响动作先确认。
  • 不豁免底线:会删/丢数据或不可逆的 DB 操作(判据见 lark-apps-db-execute.md)即便已预授权,也先 --dry-run 确认。
信息
Category 编程开发
Name lark-apps
版本 v20260611
大小 28.59KB
更新时间 2026-06-12
语言