← 返回 Skills 市场
2. 日历交集计算器 (
3. 主动发包:排期卡片派发 (
337
总下载
0
收藏
0
当前安装
5
版本数
在 OpenClaw 中安装
/install easy-meeting
功能描述
飞书一句话智能排期与日程协调助手,基于事件驱动架构
使用说明 (SKILL.md)
📅 飞书智能排期助手 (Feishu Scheduler)
技能描述 (Skill Description)
这是专门用于 OpenClaw Agent 下发的飞书环境专属 AI 工具(Skill)。 它使大语言模型具备处理**“长程协调”、“涉及多位群内飞书用户”**复杂会议预约场景的能力。 主要能力有:计算多人的日历闲忙交集、发送附带时间选项的飞书交互式卡片、以及在成员意见不合时,作为 Webhook 中控台提供实时冲突情报通知 Agent 进行多轮自动斡旋处理。
🤖 运行时指令:Agent 执行策略 (Execution Strategy)
作为挂载此 Skill 的 Agent,处理用户的排期请求时,需要严格遵循以下工作流机制(请阅读你的系统提示词):
1. 意图解析与信息补足
- 对话用户输入:“帮我约刘总开个需求会”。
- Agent 必须检查是否满足:【参会人群(包含用户本人或其上级)】、【期望的时间范围(几号到几号,如没有则默认下周)】、【预计会议时长(单位分钟,如半小时或一小时)】。
- 如果信息不全,Agent 要利用大模型的自然语言主动拒绝工具调用,改口礼貌询问用户要求的内容。
2. 日历交集计算器 (POST /api/claw/calc-free-time)
- 向端点传入所需属性:
userIds,startTimeIso,endTimeIso,durationMinutes。 - 获取返回结果中提供的最近 3-5 个完全交集长短的空闲时间段 (Free Time)。
- 只有成功拿到选项列表(也就是时间不冲突)时,才可进入第三步。如果拿到的数组为空(没有任何共同闲时),将原因转化成友好长句推还给请求用户。
3. 主动发包:排期卡片派发 (POST /api/claw/dispatch-cards)
- Agent 根据上一步拿出的可选时间,加上排期会议的话题,组合成一段 “富有情商和商务礼仪” 的导语作为发包请求内容(如:“诸位大佬,刚跟李总沟通过看啥时间定方案比较好,礼拜四十点这个点您看行吗?”)。
- 将该
agentMessage传入卡片下发 API。 - API 响应
SessionID给 Agent。注意:收到 SessionID 意味着此任务挂起,当前 Agent 不需要再主动采取任何行动,请结束当前进程不要死等。
4. 冲突判定与反弹接力 (Webhook 触发机制)
- 会话对象可能在这张“确认时间选项卡片”中出现意见不合或全点“此时均冲突”。
- Webhook 服务器 (
/api/feishu/card-webhook) 会持续跟踪和监控所有人的投递票选比例,若出现异常分歧,Webhook 会把当前进展(包括具体的谁没投、谁选择了什么时间)组织成结构体,并带上同一SessionID去主动反向触发 (Wake up) 给我们的 Agent。 - Agent 在被异常唤醒之时,能够读取并判断:“噢,刘总说周三有事,周四行”,这要求 Agent 再一次使用大模型的推算能力和对话补全能力执行,带着全新计算好的时间槽二次调用第三步 (步骤3 发派卡片),继续向各方斡旋,直至全部投票意见统一。
📂 微服务结构说明 (Architecture Info)
目录已经过符合 Miaoda 规范和 OpenClawHub 打包分发处理:
index.js: 提供给 Agent 声明内主动发起交互动作的三组 API,以及直接供飞书开发者后台端点消费的 Webhook/api/feishu/card-webhook入口。feishuService.js: 包含所有包含 Feishu Open API 网关交互的核心认证 (TenantAccessToken Cache)、区间合并算法、卡片 Message Card DOM 构建和真实创建日历日程模块 (createMeeting)。dbStore.js: 依赖 Node.js 文件系统读写的轻量级事务/会话记录模块,实现各端异步状态管理的防丢落地与挂起机制追踪。openapi.yaml: OpenClaw 一键导入时的标准大模型能力边界规范元数据定义文件。_meta.json: Clawhub 及第三方 Agent UI 解析插件包属性的专用格式声明包。
安全使用建议
This skill appears to do what it claims (compute free/busy, send Feishu interactive cards, manage sessions and wake an agent), but review the following before installing:
- Required credentials: you must provide FEISHU_APP_ID and FEISHU_APP_SECRET and FEISHU_VERIFICATION_TOKEN. For production, also set FEISHU_ENCRYPT_KEY to enable HMAC signature validation (do not rely on token fallback).
- OUTBOUND WAKE: OPENCLAW_WAKE_ENDPOINT will be POSTed to when conflicts occur. Ensure that value points to a trusted, reachable agent endpoint and set ALLOWED_WAKE_DOMAINS to restrict targets.
- Bitable apps: the skill creates and deletes Feishu Bitable apps per session. Confirm your Feishu app permissions, tenant quotas, and that auto-deletion works in your tenant (to avoid many leftover apps). Consider switching to a centralized store (Redis or a single bitable) for high-volume use.
- Storage mismatch: the package contains a local file store implementation and also a bitable-based store; _meta.json lists store.json as required. Clarify which storage to use and remove unused code to reduce confusion.
- Security & production hardening: consider adding stricter URL whitelist, robust signature verification, request validation/rate-limiting, retry/error categorization, and monitoring. Test the skill in a limited environment and audit API scopes requested by the Feishu app before granting privileges.
If you are comfortable reviewing and applying the above operational/security changes, the skill is coherent with its purpose. If not, ask the developer to: (1) remove unused local store or update metadata, (2) require FEISHU_ENCRYPT_KEY by default, and (3) limit wake endpoints via ALLOWED_WAKE_DOMAINS.
功能分析
Type: OpenClaw Skill
Name: easy-meeting
Version: 1.0.4
The skill bundle provides a functional Feishu (Lark) scheduling assistant with well-structured code and clear documentation. It implements legitimate features for calendar coordination, including free/busy time calculation and interactive message cards. Notably, the code includes proactive security measures such as HMAC signature verification for webhooks and SSRF protection (via the `isSafeUrl` function in `index.js`) to validate the `OPENCLAW_WAKE_ENDPOINT`. While the bundle contains a security audit file (`codepreview1.md`) that identifies potential vulnerabilities, the actual implementation in `index.js` and `feishuService.js` appears to have addressed several of these concerns, and there is no evidence of intentional malice or data exfiltration.
能力评估
Purpose & Capability
The name/description (Feishu meeting scheduler) aligns with the code and declared envs: the code calls Feishu calendar and messaging APIs, builds interactive cards, computes free/busy intersections, persists session state, and can wake an OpenClaw agent. Required env vars (FEISHU_APP_ID/SECRET, VERIFICATION_TOKEN, OPENCLAW_WAKE_ENDPOINT) are appropriate for this functionality.
Instruction Scope
SKILL.md describes the same endpoints and event-driven flow implemented in code. It instructs the agent to call the skill's calc/dispatch endpoints and to accept webhook wakeups. The doc asks the agent to consult its system prompt for dialog style; otherwise instructions are bounded. One small mismatch: _meta.json and package metadata reference a local store.json file as required config, while the deployed index.js uses the BitableStore (Feishu bitable) by default — this should be clarified.
Install Mechanism
No install spec is provided (instruction-only in registry), which is lower risk. However the skill bundle includes runnable Node files (index.js, feishuService.js, bitableStore.js, etc.), so enabling the skill will cause that code to be executed by whatever runtime installs/starts it — there is no external download-from-unknown-URL step in the package itself.
Credentials
Requested environment variables are proportional to the stated purpose (Feishu app credentials, verification token, optional encrypt key, and an OPENCLAW_WAKE_ENDPOINT). The skill optionally accepts ALLOWED_WAKE_DOMAINS and FEISHU_CALENDAR_ID which are sensible. Minor inconsistency: _meta.json lists store.json as a required config path while the active runtime uses Feishu bitable; a local file-based store (dbStore.js) is present in the package but not used by index.js, which may confuse deployers about what secrets/configs are required.
Persistence & Privilege
The skill does not request always:true and uses normal autonomous invocation. It creates and deletes Feishu Bitable apps per session (bitable app creation/deletion via Feishu API) and therefore requires elevated Feishu permissions; this is coherent for the design but increases blast radius (many created apps and stored session data in your Feishu tenant). The skill also makes outbound HTTP POST to OPENCLAW_WAKE_ENDPOINT to wake agents — ensure that endpoint is trusted and whitelisted.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install easy-meeting - 安装完成后,直接呼叫该 Skill 的名称或使用
/easy-meeting触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.4
Version 1.0.3
- Added new file: bitableStore.js
- Added new file: codepreview1.md
- No changes to core logic or user-facing features
- Documentation and configuration remain unchanged except for removal of unused env/config blocks in SKILL.md
v1.0.3
easy-meeting 1.0.3
- Added _meta 2.json and config.js to the project.
- Removed legacy _meta.json file.
- No functional or feature changes to the main scheduling logic.
v1.0.2
No user-facing changes detected in this version.
- Documentation, configuration, and code files remain unchanged from the previous release.
v1.0.1
easy-meeting 1.0.1
- Added environment variable and config documentation to SKILL.md, clarifying deployment requirements.
- Removed the redundant workflow-analysis.md file for a cleaner codebase.
- No changes to core features or APIs; functionally remains the same.
v1.0.0
feishu-scheduler 1.0.0 started version release
- Supports complex meeting scheduling and calendar coordination among multiple Lark users, automatically calculating the overlap of available time on multiple users' calendars.
- Can generate and distribute Lark interactive cards with candidate times, facilitating multi-party voting to determine meeting times.
- Provides real-time conflict intelligence and supports multiple rounds of automatic mediation to ensure final consensus.
- Tracks voting progress through a Webhook mechanism, automatically reviving the process to continue coordination when disagreements arise.
- Implements lightweight file-based transactions and session state management, ensuring robust seamless transitions between asynchronous processes.
元数据
常见问题
feishu-meeting-scheduler 是什么?
飞书一句话智能排期与日程协调助手,基于事件驱动架构. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 337 次。
如何安装 feishu-meeting-scheduler?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install easy-meeting」即可一键安装,无需额外配置。
feishu-meeting-scheduler 是免费的吗?
是的,feishu-meeting-scheduler 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
feishu-meeting-scheduler 支持哪些平台?
feishu-meeting-scheduler 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 feishu-meeting-scheduler?
由 Lens-lzy(@lens-lzy)开发并维护,当前版本 v1.0.4。
推荐 Skills