OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  lark-calendar:在飞书 (Lark) 中创建、更新并删除日历事件与任务

lark-calendar:在飞书 (Lark) 中创建、更新并删除日历事件与任务

 
  model ·  2026-02-06 19:43:42 · 3 次点击  · 0 条评论  

名称: lark-calendar
描述: 在 Lark(飞书)中创建、更新和删除日历日程与任务。包含员工目录,可自动将姓名解析为 user_id。
版本: 1.0.0
作者: Claw AI


Lark 日历与任务技能

在 Lark(飞书)中创建、更新和删除日历日程与任务。

概述

此技能提供完整的增删改查(CRUD)操作,支持:
- 日历日程 — 会议、预约、日程安排
- 任务(待办) — 带有截止日期的待办事项

配置

必需的环境变量(在 .secrets.env 文件中设置):

FEISHU_APP_ID=cli_a9f52a4ed7b8ded4
FEISHU_APP_SECRET=<你的应用密钥>

默认日历: feishu.cn_caF80RJxgGcbBGsQx64bCh@group.calendar.feishu.cn (Claw 日历)

默认时区: Asia/Singapore

快速参考

创建日历日程

node skills/lark-calendar/scripts/create-event.mjs \
  --title "团队会议" \
  --description "讨论 Q2 路线图" \
  --start "2026-02-03 14:00:00" \
  --end "2026-02-03 15:00:00" \
  --attendees "Boyang,RK" \
  --location "会议室 A"

参数说明:
| 参数 | 必需 | 描述 |
|-------|----------|-------------|
| --title | ✅ | 日程标题 |
| --description | ❌ | 日程描述 |
| --start | ✅ | 开始时间 (YYYY-MM-DD HH:MM:SS) |
| --end | ✅ | 结束时间 (YYYY-MM-DD HH:MM:SS) |
| --attendees | ❌ | 逗号分隔的姓名列表(自动解析为 user_id) |
| --attendee-ids | ❌ | 逗号分隔的 user_id 列表(直接指定) |
| --location | ❌ | 日程地点 |
| --timezone | ❌ | 时区(默认:Asia/Singapore) |
| --calendar | ❌ | 日历 ID(省略则使用默认日历) |

更新日历日程

node skills/lark-calendar/scripts/update-event.mjs \
  --event-id "f9900f6b-b472-4b17-a818-7b5584abdc37_0" \
  --title "更新后的标题" \
  --start "2026-02-03 15:00:00" \
  --end "2026-02-03 16:00:00"

删除日历日程

node skills/lark-calendar/scripts/delete-event.mjs \
  --event-id "f9900f6b-b472-4b17-a818-7b5584abdc37_0"

列出日历日程

# 列出未来 7 天的日程
node skills/lark-calendar/scripts/list-events.mjs

# 列出指定日期范围内的日程
node skills/lark-calendar/scripts/list-events.mjs \
  --start "2026-02-01" \
  --end "2026-02-28"

创建任务

node skills/lark-calendar/scripts/create-task.mjs \
  --title "评审 PR #123" \
  --description "认证模块的代码评审" \
  --due "2026-02-05 18:00:00" \
  --assignees "Boyang,jc"

参数说明:
| 参数 | 必需 | 描述 |
|-------|----------|-------------|
| --title | ✅ | 任务标题 |
| --description | ❌ | 任务描述 |
| --due | ✅ | 截止日期 (YYYY-MM-DD HH:MM:SS) |
| --assignees | ❌ | 逗号分隔的姓名列表(自动解析) |
| --assignee-ids | ❌ | 逗号分隔的 user_id 列表(直接指定) |
| --timezone | ❌ | 时区(默认:Asia/Singapore) |

更新任务

node skills/lark-calendar/scripts/update-task.mjs \
  --task-id "35fc5310-a1b1-49c7-be75-be631d3079ee" \
  --title "更新后的任务" \
  --due "2026-02-06 18:00:00"

删除任务

node skills/lark-calendar/scripts/delete-task.mjs \
  --task-id "35fc5310-a1b1-49c7-be75-be631d3079ee"

管理日程参与者

# 添加参与者
node skills/lark-calendar/scripts/manage-attendees.mjs \
  --event-id "xxx" --add "RK,jc"

# 移除参与者
node skills/lark-calendar/scripts/manage-attendees.mjs \
  --event-id "xxx" --remove "jc"

管理任务成员

# 添加成员
node skills/lark-calendar/scripts/manage-task-members.mjs \
  --task-id "xxx" --add "RK,jc"

# 移除成员
node skills/lark-calendar/scripts/manage-task-members.mjs \
  --task-id "xxx" --remove "jc"

员工目录

姓名会自动解析为 Lark 的 user_id。支持的姓名列表:

user_id 姓名 角色
dgg163e1 Boyang, by, 博洋 负责人
gb71g28b RK 领导层,研发
53gc5724 Ding 领导层,运营
217ec2c2 Charline 人力资源
f2bfd283 曾晓玲, xiaoling 人力资源
f26fe45d HH 研究
45858f91 zan, Eva -
7f79b6de Issac 运营
1fb2547g 王铁柱 运营
e5997acd 尼克, Nico 运营
438c3c1f Ivan 运营
17g8bab2 Dodo 研发,产品
73b45ec5 启超, QiChaoShi 研发,设计
d1978a39 chenglin 研发,前端
ef6fc4a7 冠林, Green 研发,前端
b47fa8f2 sixian, sx, Sixian-Yu 研发,前端
934fbf15 jc, sagiri, 俊晨 研发,后端
8c4aad87 大明, daming 研发,后端
ab87g5e1 Emily Yobal 实习生
55fa337f jingda, 景达 实习生
333c7cf1 刘纪源, 纪源, Aiden 实习生

业务规则

  1. Boyang 自动参与:每个日历日程都会自动添加 Boyang 作为参与者。
  2. 时区处理:使用 IANA 标识符(例如 Asia/SingaporeAsia/Shanghai)。
  3. 时间格式:始终使用 YYYY-MM-DD HH:MM:SS
  4. user_id 与 open_id:此技能使用 user_id 格式(例如 dgg163e1),而非 open_id 格式(例如 ou_xxx)。

编程使用

import { createEvent, updateEvent, deleteEvent } from './skills/lark-calendar/lib/calendar.mjs';
import { createTask, updateTask, deleteTask } from './skills/lark-calendar/lib/task.mjs';
import { resolveNames } from './skills/lark-calendar/lib/employees.mjs';

// 创建日程
const result = await createEvent({
  title: '团队同步会',
  description: '每周站会',
  startTime: '2026-02-03 10:00:00',
  endTime: '2026-02-03 10:30:00',
  attendeeIds: ['dgg163e1', 'gb71g28b'],
  location: 'Zoom',
  timezone: 'Asia/Singapore'
});

// 创建任务
const task = await createTask({
  title: '评审文档',
  description: 'Q2 规划文档',
  dueTime: '2026-02-05 18:00:00',
  assigneeIds: ['dgg163e1'],
  timezone: 'Asia/Singapore'
});

Lark API 参考

所需权限

确保你的 Lark 应用拥有以下权限范围:
- calendar:calendar — 读写日历 ✅ (已启用)
- calendar:calendar:readonly — 读取日历 ✅ (已启用)
- task:task:write — 写入任务 ⚠️ (需要添加以支持任务创建)
- task:task:read — 读取任务
- contact:user.employee_id:readonly — 读取用户信息 ✅ (已启用)

添加权限步骤:
1. 访问 Lark 开放平台
2. 添加权限范围:task:task:writecontact:contact:readonly(用于动态员工查找)
3. 重新发布应用版本

注意: 如果没有 contact:contact:readonly 权限,技能将使用静态的员工列表作为后备方案。团队人员变动时,请更新 lib/employees.mjs 文件。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor