连接飞书项目/Meegle,查询和管理工作项、待办;自动检测登录状态,未登录时引导设备码授权。
Meegle SKILL
功能概述
Meegle SKILL是一项面向实际任务的技能,主要用于通过 Meegle CLI 连接飞书项目/Meegle 平台,支持查询工作项、管理待办等操作;运行环境需要 Node.js 18+;
核心要点
- 所有命令通过 npx @lark-project/meegle@latest 执行,无需手动安装或更新;
- 主动登录 :用户说"登录 Meegle"、"连接飞书项目"、"login 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等关键词)。处理流程:- 从 URL 提取
$host(域名部分)和可能的$project_key、$work_item_id - 执行 Auth Guard(STEP 1 中若
$host为 null,用 URL 提取的 host 覆盖,跳过 STEP 2) - 登录成功后:
- 如果解析出了
$project_key和$work_item_id→ 直接执行workitem get查询详情 - 如果无法解析 → 告知用户已登录成功,请描述需要查询的内容
- 如果解析出了
- 从 URL 提取
Auth Guard(所有业务命令前必须执行)
按以下 STEP 顺序执行。每个 STEP 结尾的 GOTO 指明下一步,严格遵循跳转。
STEP 1 — 检查登录状态
npx @lark-project/meegle@latest auth status --format json
返回值示例:
- 已登录:
{ "authenticated": true, "host": "meegle.com", "source": "token_store", "expires_in_minutes": 42 } - 未登录且有 host:
{ "authenticated": false, "host": "meegle.com", "source": null, "expires_in_minutes": null } - 未登录且无 host:
{ "authenticated": false, "host": null, "source": null, "expires_in_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(等待用户回复):
你要连接哪个站点?
- 飞书项目 (project.feishu.cn)
- Meegle (meegle.com)
- 自定义域名(请直接输入域名或 URL)
⚠️ 用户的回复仅用于回答上述问题,不要将其当作新的意图或请求来处理。无论用户回复的是序号、域名还是完整 URL,都只需从中提取
$host(域名部分),然后 GOTO STEP 3。
SAVE $host from user reply(如果用户输入了完整 URL,提取其域名部分作为 $host) → GOTO STEP 3
STEP 3 — 初始化 Device Code
npx @lark-project/meegle@latest auth login --device-code --phase init --host $host --format json
SAVE from response:
$verification_uri_complete= response.verification_uri_complete$user_code= response.user_code$device_code= response.device_code$client_id= response.client_id$interval= response.interval$expires_in= response.expires_in
发送验证链接给用户:
SEND to user: 请在浏览器中打开以下链接完成授权:n$verification_uri_completen($expires_in 秒内有效)
⚠️ 发送后在同一轮次内立即执行 STEP 4 的命令。不要停下来等用户回复。
→ GOTO STEP 4
STEP 4 — 等待授权完成(阻塞)
⚠️ 使用 STEP 3 保存的
$device_code、$client_id、$interval、$expires_in。禁止重新执行 STEP 3(否则会生成新的验证码,用户之前打开的链接作废)。
执行以下命令。该命令会自动轮询直到用户完成授权或超时,无需你手动循环:
npx @lark-project/meegle@latest auth login --device-code --phase poll --device-code-value $device_code --client-id $client_id --interval $interval --expires-in $expires_in --format json
- 成功时返回:
{"status": "ok", "message": "登录成功"}→ GOTO STEP 5 - 超时时返回错误 → SEND "授权已超时,请重新发起登录",STOP
Fallback:如果你的运行环境不支持在发送消息后继续执行命令(即 STEP 3 发送验证链接后无法立即执行上述命令),则改为:
- 在发送验证链接时追加一句:"授权完成后请告诉我"
- 等待用户回复后,执行上述命令
STEP 5 — 通知登录成功
SEND to user: "登录成功!"
⚠️ 此消息必须单独发送,不要与后续业务查询结果合并到同一条回复中。用户需要第一时间看到授权状态变化。
→ GOTO STEP 6
STEP 6 — 执行业务命令
Auth 已通过,进入下方「业务命令调用」部分执行用户请求的操作。
获取当前用户信息
当用户说"我的 xxx"、"查一下我的 xxx"时,需要知道当前登录用户的身份。
MQL 查询中:直接使用 current_login_user() 函数,无需提前获取用户信息。例如:
WHERE array_contains(`current_owners`, current_login_user())
非 MQL 场景(需要用户名、userkey 等具体信息):目前没有专用命令,通过以下 workaround 获取:
- 先用 MQL 查询当前用户最近创建的一个工作项:
npx @lark-project/meegle@latest workitem query --project-key--search-mql "SELECT `work_item_id`, `created_by` FROM `<空间名>`.`<工作项类型>` WHERE `created_by` = current_login_user() LIMIT 1" --format json
- 从返回结果的
created_by字段提取当前用户信息
⚠️ 此 workaround 需要已知一个
project_key和对应的工作项类型。如果用户未指定空间,先询问。
业务命令调用
Auth Guard 通过后,使用以下模式调用业务命令。
命令结构
npx @lark-project/meegle@latest[flags] --format json
命令采用 resource method 两级结构。所有输出默认 JSON 格式。
全局 Flag
| Flag | 说明 |
|---|---|
--format json|table|ndjson |
输出格式,默认 json |
--select |
选取输出属性,逗号分隔(支持 dot path,如 name,owner.name) |
--profile |
临时切换 profile |
--verbose |
显示详细日志 |
参数传递
三种方式,优先级从高到低:
- Flag 模式(推荐):
--project-key PROJ --work-item-type-key story - --set 模式(设置工作项字段):
--set priority=1 --set name="任务标题",value 支持 JSON - --params 模式(完整 JSON):
--params '{"project_key":"PROJ","work_item_type_key":"story"}'
Flag 和 --set 会覆盖 --params 中的同名字段。
命令发现
CLI 的命令和参数会随版本更新。下方速查表仅列举常见操作,不是完整列表。遇到以下情况时,必须先用 inspect 获取最新信息:
- 用户请求的操作不在速查表中
- 不确定某个命令的参数名称或是否为必填
- 需要查看某个命令支持的全部参数
npx @lark-project/meegle@latest inspect # 列出所有可用命令 npx @lark-project/meegle@latest inspect workitem.create # 查看具体命令的参数 schema
常用命令速查
查询待办
npx @lark-project/meegle@latest mywork todo --format json
查询工作项
npx @lark-project/meegle@latest workitem get --project-key--work-item-id --format json
搜索工作项(MQL)
MQL 语法详见
references/mql-syntax.md。--search-mql参数必须是完整的 SQL 语句(含 SELECT/FROM),不接受 JSON 或片段。
npx @lark-project/meegle@latest workitem query --project-key--search-mql " " --format json
创建工作项
npx @lark-project/meegle@latest workitem create --project-key--work-item-type-key --set name="标题" --set priority=1 --format json
更新工作项字段
npx @lark-project/meegle@latest workitem update --project-key--work-item-id --set name="新标题" --format json
查询项目信息
npx @lark-project/meegle@latest project get --project-key--format json
查询工作项类型和字段元数据
npx @lark-project/meegle@latest workitem meta-types --project-key--format json npx @lark-project/meegle@latest workitem meta-fields --project-key --work-item-type-key --format json
输出处理
- 始终使用
--format json获取结构化输出,方便解析 - 使用
--select精简返回字段,如--select id,name,current_nodes.name - 命令返回错误时,JSON 中包含
error和message字段
错误处理
- 如果 bash 返回
command not found或 npx 不可用,提示用户安装 Node.js 18+。 - 如果
--phase init返回错误(站点不支持 Device Code),提示用户在终端中执行npx @lark-project/meegle@latest auth login。 - 如果
--phase poll超时,提示用户重试登录流程。
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.4万人学习
共6课时 | 54.7万人学习
