Dingtalk File Send
自动将文件上传并发送至钉钉用户,基于当前会话账号绑定。
下载 702
通过命令行操作飞书日历事件和待办任务,支持自动姓名解析。
openclaw skills install @boyangwang/lark-calendar命令、参数、文件名以原文为准
在 Lark(飞书)中创建、更新和删除日历事件及任务。
此技能提供完整的 CRUD 操作,包括:
必需的环境变量(在 .secrets.env 中设置):
FEISHU_APP_ID=cli_a9f52a4ed7b8ded4
FEISHU_APP_SECRET=<你的应用密钥>默认日历:feishu.cn_caF80RJxgGcbBGsQx64bCh@group.calendar.feishu.cn(爪子日历)
默认时区: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 | 实习生 |
Asia/Singapore、Asia/Shanghai)YYYY-MM-DD HH:MM:SSuser_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'
});确保您的飞书应用已启用以下权限范围:
calendar:calendar — 读写日历 ✅(已启用)calendar:calendar:readonly — 读取日历 ✅(已启用)task:task:write — 写入任务 ⚠️(需添加以支持任务创建)task:task:read — 读取任务contact:user.employee_id:readonly — 读取用户信息 ✅(已启用)添加权限步骤:
task:task:write、contact:contact:readonly(用于动态获取员工信息)注意: 若未启用 contact:contact:readonly,该技能将使用静态备用员工列表。当团队成员变更时,请手动更新 lib/employees.mjs 文件。
已收录 2 个 Skill