← Back to Skills Marketplace
gooodplus

lark-meeting

by gooodplus · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
105
Downloads
1
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install lark-meeting
Description
帮助用户预约会议室, 当用户需要预约会议室时执行此技能
README (SKILL.md)

预约会议室

通过本仓库脚本调用飞书会议室与日历能力完成初始化(层级 + 会议室列表)与按忙闲自动预约。依赖本机已配置且已登录的 lark-cli 及相应 API 权限。

仓库内配置文件(conf/

文件 作用
meeting.json 城市/大厦/楼层与 rooms 顺序;预约脚本默认读取
meeting_room_blacklist.json 会议室黑名单(初始化写列表、预约时再次过滤),可直接编辑;技能更新黑名单即改此文件

meeting_room_blacklist.json 字段

meeting.json 同目录(默认均为 conf/)。若文件不存在,脚本使用内置默认(等价于仓库内示例)。

字段 类型 说明
name_substrings 字符串数组 会议室名称包含其中任一字串则排除;设为 [] 可关闭名称规则
exclude_if_capacity_gt 整数或 null 飞书返回的 capacity 大于该值则排除;设为 null 可关闭人数规则(预约阶段配置里的 rooms 通常无 capacity,此项主要在重新初始化拉取会议室时生效)
room_ids 字符串数组 显式按 room_id 排除

**维护方式:**用户说「不要某会议室 / 排除面试间 / 拉黑某 room_id」时,由 AI 编辑 conf/meeting_room_blacklist.json(保持合法 JSON)。

  • 名称 / room_id 规则后,无需重跑初始化即可影响下次预约(预约脚本会读黑名单)。
  • 容量规则或希望 从飞书重新拉全量列表 时,在用户确认后再执行一次 meeting_init_processor.py(同城市/大厦/楼层),以刷新 meeting.json 中的 rooms

**权限提示:**若无法写入 conf/,可提示用户在终端授权,例如:sudo chown -R $(whoami):staff \x3C技能仓库>/conf/(路径按实际技能目录替换)。

入口命令(在仓库根目录执行)

能力 命令 说明
初始化 python scripts/meeting_init_processor.py 交互:按提示选城市 → 职场(大厦)→ 楼层。非交互:同时传 --city--workplace--building--floor;写入 meeting.json,并按黑名单过滤 rooms
预约 python scripts/meeting_processor.py --start-time \x3CISO> --end-time \x3CISO> --summary "\x3C主题>" rooms 顺序查忙闲;应用同目录黑名单后取首个空闲并创建日程

初始化脚本参数:--top-n--page-size;非交互三项见上。预约脚本参数:--description--config(默认 conf/meeting.json)、--calendar-id(默认 primary)。

**首次使用:**若未配置 lark-cli,先按 lark-shared 完成 lark-cli config initlark-cli auth login

AI 工作方式

初始化

  • 优先非交互:用户已给出城市、大厦、楼层且名称不易歧义时,确认后执行:
    python scripts/meeting_init_processor.py --city "…" --building "…" --floor "…"
    匹配失败时脚本会打印参考列表(Top 10 等),再据报错收窄名称。
  • 缺信息或易歧义:请用户补全或自行交互运行初始化脚本。
  • 成功后可简述 meeting.json 关键信息(城市/楼层/会议室数量),并提醒可开始预约。

预约

  • **时间:**默认东八区 +08:00 解析自然语言为 ISO(精确到秒),缺时长/结束须追问。
  • 执行前向用户一句话确认起止时间与主题。
  • **约束:**单次时长 ≤ 4 小时;meeting.json 不存在时引导先初始化。

黑名单

  • 按用户口述增删规则时,直接改 conf/meeting_room_blacklist.json(与当前使用的 meeting.json 同目录;若用户自定义 --config,则黑名单为该文件同目录下的 meeting_room_blacklist.json)。
  • 改完后预约立即生效;若用户依赖「容量」过滤或要重拉会议室列表,说明需再跑一次初始化

示例话术

  • 「用北京某某大厦 17 楼初始化」→ 确认无歧义后执行带 --city / --building / --floor 的非交互命令。
  • 「明天下午 3 点会议室开周会」→ 解析 ISO + --summary,缺时长先问。
  • 「别给我订面试间」→ 确认 name_substrings面试间(默认已有);若无则写入并说明已生效。

脚本说明

  • scripts/meeting_room_blacklist.py:加载/解析黑名单规则(初始化与预约共用)。
  • scripts/meeting_init_processor.py:写 meeting.json;黑名单路径固定为仓库内 conf/meeting_room_blacklist.json
  • scripts/meeting_processor.py:读 meeting.json;黑名单为 config 文件同目录的 meeting_room_blacklist.json
  • scripts/lark_cli.py:API 封装。

限制

  • 依赖 lark-cli 可用及会议室/日历权限。
  • 层级名称可能重名,非交互匹配失败时需用户改用更精确名称或交互初始化。
Usage Guidance
This skill appears to do what it says: it calls the local 'lark-cli' to list rooms, check availability, and create calendar events, and it edits conf/meeting.json and conf/meeting_room_blacklist.json. Before installing/running: 1) Ensure you have lark-cli installed from a trusted source and are logged in; the skill will act with the bot/user identities configured in your lark-cli. 2) Install required Python dependencies (the code uses loguru and other stdlib modules) or run the scripts in a controlled environment. 3) Be aware the skill will write to the repo's conf/ directory (it may suggest changing ownership if permission is lacking). 4) If you need more assurance, ask the author to add an install spec that lists required binaries and Python packages and to include a README on the exact lark-cli scopes needed. 5) Do not grant more privileged bot/user tokens to lark-cli than necessary for meeting/calendar operations.
Capability Assessment
Purpose & Capability
The name/description (预约会议室) matches the code: scripts call lark-cli to list rooms, check availability, and create calendar events. The skill edits local conf/meeting.json and meeting_room_blacklist.json as described. One minor mismatch: registry metadata lists no required binaries while SKILL.md and the code require the 'lark-cli' binary and a Python runtime with dependencies (e.g., loguru).
Instruction Scope
SKILL.md instructs running the included scripts, performing initialization, and editing the blacklist JSON. The runtime instructions and the scripts align: they read/write only the repo's conf/ files and invoke lark-cli. The code does not attempt to read unrelated system files or send data to endpoints other than via lark-cli. It will invoke lark-cli as bot and user (so actions are performed under those identities).
Install Mechanism
There is no install spec. The skill includes Python scripts but does not declare Python dependencies (loguru) or mention installing them. The SKILL.md notes dependency on an already-configured 'lark-cli' but the registry metadata doesn't list it as a required binary. This missing install/dependency information is an engineering gap (not an obvious malicious signal) and may cause runtime failures or confusion.
Credentials
The skill does not request environment variables or unrelated credentials. It relies on local lark-cli authentication (the user's configured bot/user tokens/accounts) which is proportionate to the stated purpose. Note: the skill will run lark-cli with '--as bot' and '--as user', so it will act with whatever privileges those local credentials confer — users should ensure those accounts are appropriately scoped.
Persistence & Privilege
always is false and the skill edits only its own repository conf/ files (meeting.json and meeting_room_blacklist.json). It suggests a sudo chown example only as a permission hint; it does not modify other skills or global agent settings. No elevated persistent system presence is requested.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install lark-meeting
  3. After installation, invoke the skill by name or use /lark-meeting
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- 新增配置文件:增加了 conf/meeting_room_blacklist.json,用于管理会议室黑名单规则。 - 支持通过黑名单文件灵活排除指定会议室(按名称、容量、room_id)。 - 黑名单配置无需重启或重新初始化即可生效于后续预约流程。 - 文档详细说明了黑名单字段和维护方法,提升灵活性和易用性。
v1.0.0
lark-meeting 1.0.0 初始版本发布 - 支持通过命令行脚本,基于飞书 API 完成会议室初始化与预约,并可根据忙闲自动选择会议室。 - 提供会议室黑名单配置功能,可通过 AI 根据用户指令自动编辑黑名单,不需重启即可生效。 - 支持按城市/大厦/楼层分层级初始化会议室列表,预约支持自定义起止时间和会议主题。 - 详细文档覆盖配置、命令用法、黑名单规则、AI处理流程及示例话术。 - 依赖本地已配置的 lark-cli 和相关权限,若 meeting.json 未初始化会自动引导用户。
Metadata
Slug lark-meeting
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is lark-meeting?

帮助用户预约会议室, 当用户需要预约会议室时执行此技能. It is an AI Agent Skill for Claude Code / OpenClaw, with 105 downloads so far.

How do I install lark-meeting?

Run "/install lark-meeting" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is lark-meeting free?

Yes, lark-meeting is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does lark-meeting support?

lark-meeting is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created lark-meeting?

It is built and maintained by gooodplus (@gooodplus); the current version is v1.0.1.

💬 Comments