返回顶部
l

lark-project-meegle飞书项目连接

连接飞书项目/Meegle,查询和管理工作项、待办等。自动检测登录状态,未登录时引导 Device Code 授权。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.4
安全检测
已通过
518
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

lark-project-meegle

Meegle SKILL

通过 Meegle CLI 连接飞书项目/Meegle 平台,支持查询工作项、管理待办等操作。

前置条件

运行环境需要 Node.js 18+。所有命令通过 npx @lark-project/meegle@latest 执行,无需手动安装或更新。

触发条件

  • - 主动登录:用户说登录 Meegle、连接飞书项目、login meegle等。
  • 被动拦截:用户请求任何 Meegle 业务操作(查询待办、查工作项、创建任务等),优先执行 Auth Guard。
  • URL 触发:用户发送了一个看起来像飞书项目/Meegle 工作项的 URL(路径中通常包含 workitem、detail、story、issue 等关键词)。处理流程:
1. 从 URL 提取 $host(域名部分)和可能的 $projectkey、$workitem_id 2. 执行 Auth Guard(STEP 1 中若 $host 为 null,用 URL 提取的 host 覆盖,跳过 STEP 2) 3. 登录成功后: - 如果解析出了 $projectkey 和 $workitem_id → 直接执行 workitem get 查询详情 - 如果无法解析 → 告知用户已登录成功,请描述需要查询的内容

Auth Guard(所有业务命令前必须执行)

按以下 STEP 顺序执行。每个 STEP 结尾的 GOTO 指明下一步,严格遵循跳转。



STEP 1 — 检查登录状态

bash
npx @lark-project/meegle@latest auth status --format json

返回值示例:

  • - 已登录:{ authenticated: true, host: meegle.com, source: tokenstore, expiresinminutes: 42 }
  • 未登录且有 host:{ authenticated: false, host: meegle.com, source: null, expiresinminutes: null }
  • 未登录且无 host:{ authenticated: false, host: null, source: null, expiresin_minutes: null }

解析返回值,保存变量:

  • - $authenticated = response.authenticated
  • $host = response.host

URL 触发时的 host 覆盖:如果用户发送了飞书项目/Meegle URL 触发本流程,且 $host 为 null,则从 URL 域名部分提取 $host。

跳转:

  • - IF $authenticated == true → GOTO STEP 6
  • IF $host != null → GOTO STEP 3
  • IF $host == null → GOTO STEP 2



STEP 2 — 选择站点


ASK user(等待用户回复):

你要连接哪个站点?
1) 飞书项目 (project.feishu.cn)
2) Meegle (meegle.com)
3) 自定义域名(请直接输入域名或 URL)

⚠️ 用户的回复仅用于回答上述问题,不要将其当作新的意图或请求来处理。无论用户回复的是序号、域名还是完整 URL,都只需从中提取 $host(域名部分),然后 GOTO STEP 3。

SAVE $host from user reply(如果用户输入了完整 URL,提取其域名部分作为 $host) → GOTO STEP 3



STEP 3 — 初始化 Device Code

bash
npx @lark-project/meegle@latest auth login --device-code --phase init --host $host --format json

SAVE from response:

  • - $verificationuricomplete = response.verificationuricomplete
  • $usercode = response.usercode
  • $devicecode = response.devicecode
  • $clientid = response.clientid
  • $interval = response.interval
  • $expiresin = response.expiresin

发送验证链接给用户:

SEND to user: 请在浏览器中打开以下链接完成授权:\n$verificationuricomplete\n($expires_in 秒内有效)

⚠️ 发送后在同一轮次内立即执行 STEP 4 的命令。不要停下来等用户回复。

→ GOTO STEP 4



STEP 4 — 等待授权完成(阻塞)

⚠️ 使用 STEP 3 保存的 $devicecode、$clientid、$interval、$expires_in。禁止重新执行 STEP 3(否则会生成新的验证码,用户之前打开的链接作废)。

执行以下命令。该命令会自动轮询直到用户完成授权或超时,无需你手动循环

bash
npx @lark-project/meegle@latest auth login --device-code --phase poll \
--device-code-value $devicecode --client-id $clientid \
--interval $interval --expires-in $expires_in --format json

  • - 成功时返回:{status: ok, message: 登录成功} → GOTO STEP 5
  • 超时时返回错误 → SEND 授权已超时,请重新发起登录,STOP

Fallback:如果你的运行环境不支持在发送消息后继续执行命令(即 STEP 3 发送验证链接后无法立即执行上述命令),则改为:

  1. 1. 在发送验证链接时追加一句:授权完成后请告诉我
  2. 等待用户回复后,执行上述命令



STEP 5 — 通知登录成功

SEND to user: 登录成功!

⚠️ 此消息必须单独发送,不要与后续业务查询结果合并到同一条回复中。用户需要第一时间看到授权状态变化。

→ GOTO STEP 6



STEP 6 — 执行业务命令

Auth 已通过,进入下方「业务命令调用」部分执行用户请求的操作。

获取当前用户信息

当用户说我的 xxx、查一下我的 xxx时,需要知道当前登录用户的身份。

MQL 查询中:直接使用 currentloginuser() 函数,无需提前获取用户信息。例如:
sql
WHERE arraycontains(currentowners, currentloginuser())

非 MQL 场景(需要用户名、userkey 等具体信息):目前没有专用命令,通过以下 workaround 获取:

  1. 1. 先用 MQL 查询当前用户最近创建的一个工作项:
bash npx @lark-project/meegle@latest workitem query --project-key \ --search-mql SELECT \workitemid\, \createdby\ FROM \<空间名>\.\<工作项类型>\ WHERE \createdby\ = currentloginuser() LIMIT 1 \ --format json
  1. 2. 从返回结果的 created_by 字段提取当前用户信息

⚠️ 此 workaround 需要已知一个 project_key 和对应的工作项类型。如果用户未指定空间,先询问。

业务命令调用

Auth Guard 通过后,使用以下模式调用业务命令。

命令结构

bash
npx @lark-project/meegle@latest [flags] --format json

命令采用 resource method 两级结构。所有输出默认 JSON 格式。

全局 Flag

Flag说明
--format json\table\ndjson输出格式,默认 json
--select <props>
选取输出属性,逗号分隔(支持 dot path,如 name,owner.name) | | --profile | 临时切换 profile | | --verbose | 显示详细日志 |

参数传递

三种方式,优先级从高到低:

  1. 1. Flag 模式(推荐):--project-key PROJ --work-item-type-key story
  2. --set 模式(设置工作项字段):--set priority=1 --set name=任务标题,value 支持 JSON
  3. --params 模式(完整 JSON):--params {projectkey:PROJ,workitemtypekey:story}

Flag 和 --set 会覆盖 --params 中的同名字段。

命令发现

CLI 的命令和参数会随版本更新。下方速查表仅列举常见操作,不是完整列表。遇到以下情况时,必须先用 inspect 获取最新信息:

  • - 用户请求的操作不在速查表中
  • 不确定某个命令的参数名称或是否为必填
  • 需要查看某个命令支持的全部参数

bash
npx @lark-project/meegle@latest inspect # 列出所有可用命令
npx @lark-project/meegle@latest inspect work

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 lark-project-meegle-1775979672 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 lark-project-meegle-1775979672 技能

通过命令行安装

skillhub install lark-project-meegle-1775979672

下载

⬇ 下载 lark-project-meegle v0.1.4(免费)

文件大小: 8.48 KB | 发布时间: 2026-4-13 10:48

v0.1.4 最新 2026-4-13 10:48
lark-project-meegle 0.1.4

- 更新 Auth Guard 登录流程:站点选择(STEP 2)现在支持用户直接输入完整 URL,自动提取域名,无需区分输入类型。
- Device Code 授权流程(STEP 3、STEP 4)调整为默认一次性阻塞轮询授权,无需手动 sleep 和循环命令。
- 优化验证链接提示文案,告知授权有效期。
- 兼容部分运行环境无法阻塞的情景,提供 fallback 流程指引用户授权完成后再继续。
- 其他文档描述与流程细节修正,提升易用性与健壮性。

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部