飞书日历技能:通过 Openclaw Skills 自动化日程安排
作者:互联网
2026-03-30
什么是 飞书日历技能?
飞书日历技能是一个强大的技术解决方案,旨在将飞书 (Lark) 日历直接集成到您的 AI 驱动工作流中。作为 Openclaw Skills 集合的一部分,它提供了一整套管理工具,可与个人及企业日历进行交互,确保您的 AI 智能体能够精确地读取、创建和修改日程。
该技能专为需要在 AI 智能体与专业生产力平台之间同步时间敏感型数据的开发者而设计。它能够处理飞书 API 的细微差别,包括令牌管理、时区同步和复杂的重复规则,使其成为自动化调度助手的核心组件。
下载入口:https://github.com/openclaw/skills/tree/main/skills/teweitao/feishu-calendar-event
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install feishu-calendar-event
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 feishu-calendar-event。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
飞书日历技能 应用场景
- 根据对话上下文自动安排团队会议和项目截止日期。
- 将外部任务管理系统与中心化飞书日历同步。
- 通过多阶段通知创建自动化的生日或周年纪念提醒。
- 通过 AI 智能体查询即将发生的事件来生成每日行程简报。
- 无需手动输入即可管理重复同步和定期的办公时间。
- 该技能使用配置的应用凭据向飞书开放平台请求 Tenant Access Token。
- 获取用户的日历列表以识别操作的目标日程。
- AI 智能体将自然语言意图转换为飞书 API 所需的结构化 JSON 负载。
- 处理事件数据,将 JavaScript 时间戳转换为平台要求的 Unix 秒格式。
- 技能执行请求的操作(创建、读取、更新或删除),同时应用时区和重复逻辑。
飞书日历技能 配置指南
要将此工具与 Openclaw Skills 集成,请按照以下步骤操作:
- 将
feishu-calendar目录复制到您的本地技能目录中。 - 在 飞书开放平台 上创建一个“企业自建应用”。
- 启用以下权限:
calendar:calendar:read、calendar:calendar.event:read、calendar:calendar.event:create、calendar:calendar.event:update和calendar:calendar.event:delete。 - 从凭据部分获取您的 App ID 和 App Secret。
- 配置您的环境变量:
export FEISHU_APP_ID=cli_your_id_here
export FEISHU_APP_SECRET=your_secret_here
飞书日历技能 数据架构与分类体系
该技能使用与飞书日历 V4 API 兼容的标准 JSON 对象组织数据。关键结构包括:
| 属性 | 描述 | 示例 |
|---|---|---|
start_time |
包含时间戳/日期和时区的对象 | { "date": "2026-05-01", "timezone": "Asia/Shanghai" } |
is_all_day |
全天事件的布尔标志 | true |
recurrence |
重复事件的 RRULE 字符串 | FREQ=WEEKLY;INTERVAL=1 |
reminders |
定义提前时间的数组对象 | [{ "minutes": 60 }] |
注意:对于全天事件,请使用 date 字段;对于定时事件,请使用以秒为单位的 timestamp。
Feishu Calendar Skill
飞书日历操作技能,用于读取、创建、管理飞书日历事件,支持个人和企业日历操作。
基本信息
- 名称: feishu-calendar
- 版本: 1.0.0
- 作者: nuonuo
- 描述: 飞书日历管理技能,支持日程查询、创建、更新、删除和重复规则设置
- 标签: feishu, calendar, 日历, 飞书
- 依赖: Node.js >= 18
功能特性
? 获取日历列表
? 查询日程事件(支持时间范围、分页)
? 创建日程(支持全天事件、定时事件)
? 更新日程(修改内容、设置重复规则)
? 删除日程
? 设置提醒(支持多层级提醒)
? 支持每年/每月/每周重复
? 正确处理时区和全天事件
安装
- 复制
feishu-calendar目录到你的 OpenClaw skills 目录 - 配置飞书应用凭证(见下方配置说明)
- 在飞书开放平台开通日历权限
配置
1. 创建飞书应用
访问 飞书开放平台 创建企业自建应用:
- 点击「创建企业自建应用」
- 填写应用名称(如「日历助手」)
- 进入「权限管理」开通以下权限:
calendar:calendar:read- 读取日历calendar:calendar.event:read- 读取日程calendar:calendar.event:create- 创建日程calendar:calendar.event:update- 更新日程calendar:calendar.event:delete- 删除日程
2. 获取凭证
在「凭证与基础信息」中获取:
- App ID:
cli_xxxxxxxxxxxx - App Secret:
xxxxxxxxxxxxx
3. 配置环境变量
# 在 OpenClaw 环境或脚本中设置
export FEISHU_APP_ID=cli_xxxxxxxxxxxx
export FEISHU_APP_SECRET=xxxxxxxxxxxxx
或者在代码中直接使用:
const config = {
appId: 'cli_xxxxxxxxxxxx',
appSecret: 'xxxxxxxxxxxxx'
};
使用方法
获取 Access Token
const response = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
app_id: FEISHU_APP_ID,
app_secret: FEISHU_APP_SECRET
})
});
const { tenant_access_token } = await response.json();
获取日历列表
const calendars = await fetch('https://open.feishu.cn/open-apis/calendar/v4/calendars?page_size=100', {
headers: { 'Authorization': `Bearer ${tenant_access_token}` }
});
获取日程事件
// 时间戳格式(秒)
const startTime = Math.floor(new Date('2026-03-01T00:00:00+08:00').getTime() / 1000);
const endTime = Math.floor(new Date('2026-03-01T23:59:59+08:00').getTime() / 1000);
const events = await fetch(
`https://open.feishu.cn/open-apis/calendar/v4/calendars/${calendarId}/events?start_time=${startTime}&end_time=${endTime}`,
{ headers: { 'Authorization': `Bearer ${tenant_access_token}` } }
);
创建日程
// 全天事件示例
const event = {
summary: '?? 生日',
description: '祝生日快乐!',
start_time: { date: '2026-05-01', timezone: 'Asia/Shanghai' },
end_time: { date: '2026-05-01', timezone: 'Asia/Shanghai' },
is_all_day: true,
reminders: [
{ minutes: 7200 }, // 提前5天
{ minutes: 1440 } // 提前1天
],
recurrence: 'FREQ=YEARLY;INTERVAL=1' // 每年重复
};
const result = await fetch(`https://open.feishu.cn/open-apis/calendar/v4/calendars/${calendarId}/events`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${tenant_access_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(event)
});
更新日程为每年重复
const update = {
recurrence: 'FREQ=YEARLY;INTERVAL=1'
};
await fetch(`https://open.feishu.cn/open-apis/calendar/v4/calendars/${calendarId}/events/${eventId}`, {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${tenant_access_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(update)
});
API 参考
| 功能 | 方法 | API 路径 |
|---|---|---|
| 获取 Token | POST | /auth/v3/tenant_access_token/internal |
| 获取日历列表 | GET | /calendar/v4/calendars |
| 获取日程 | GET | /calendar/v4/calendars/{calendar_id}/events |
| 创建日程 | POST | /calendar/v4/calendars/{calendar_id}/events |
| 更新日程 | PATCH | /calendar/v4/calendars/{calendar_id}/events/{event_id} |
| 删除日程 | DELETE | /calendar/v4/calendars/{calendar_id}/events/{event_id} |
字段说明
时间格式
全天事件:
{
"start_time": { "date": "2026-05-01", "timezone": "Asia/Shanghai" },
"end_time": { "date": "2026-05-01", "timezone": "Asia/Shanghai" },
"is_all_day": true
}
定时事件:
{
"start_time": { "timestamp": "1772366400", "timezone": "Asia/Shanghai" },
"end_time": { "timestamp": "1772373600", "timezone": "Asia/Shanghai" }
}
重复规则
| 规则 | 说明 |
|---|---|
FREQ=DAILY;INTERVAL=1 |
每天重复 |
FREQ=WEEKLY;INTERVAL=1 |
每周重复 |
FREQ=MONTHLY;INTERVAL=1 |
每月重复 |
FREQ=YEARLY;INTERVAL=1 |
每年重复 |
提醒设置
{
"reminders": [
{ "minutes": 5 }, // 提前5分钟
{ "minutes": 60 }, // 提前1小时
{ "minutes": 1440 }, // 提前1天
{ "minutes": 7200 } // 提前5天
]
}
注意事项
- Token 有效期: tenant_access_token 有效期 2 小时,生产环境需要缓存和刷新机制
- 时间戳单位: 飞书 API 使用 Unix 时间戳(秒),JavaScript Date 使用毫秒,注意转换
- 时区处理: 建议统一使用
Asia/Shanghai时区 - 全天事件: 使用
date字段而非timestamp,并设置is_all_day: true - 已取消事件: API 会返回
status: cancelled的事件,需要过滤 - 分页处理: 大量事件需要处理
has_more和page_token
示例代码
见 example.md 和 calendar-client.js 获取完整示例。
故障排除
| 问题 | 解决方案 |
|---|---|
| 99991661 - Missing access token | 检查 token 是否正确传递 |
| 403 - 权限不足 | 在飞书后台开通相应权限 |
| 事件查询不到 | 扩大时间范围,检查是否已取消 |
| 创建失败 | 检查必填字段(summary, start_time, end_time) |
参考文档
- 飞书日历 API 文档
- 获取 Access Token
- 飞书开放平台
更新日志
v1.0.0 (2026-03-01)
- ? 初始版本发布
- ? 支持日历列表查询
- ? 支持日程增删改查
- ? 支持重复规则设置
- ? 支持多层级提醒
- ? 正确处理全天事件和时区
License: MIT
Author: nuonuo
Repository: https://github.com/openclaw-community/feishu-calendar
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
信号管道:自动化营销情报工具 - Openclaw Skills
技能收益追踪器:监控 Openclaw 技能并实现变现
AI 合规准备就绪度:评估与治理工具 - Openclaw Skills
FOSMVVM ServerRequest 测试生成器:自动化 API 测试 - Openclaw Skills
酒店搜索器:AI 赋能的住宿与位置情报 - Openclaw Skills
Dub 链接 API:程序化链接管理 - Openclaw Skills
IntercomSwap:P2P BTC 与 USDT 跨链兑换 - Openclaw Skills
spotplay:macOS 原生 Spotify 播放控制 - Openclaw Skills
DeepSeek OCR:AI驱动的图像文本识别 - Openclaw Skills
Web Navigator:自动化网页研究与浏览 - Openclaw Skills
AI精选
