← 返回 Skills 市场
1054
总下载
2
收藏
7
当前安装
1
版本数
在 OpenClaw 中安装
/install feishu-calendar-event
功能描述
飞书日历管理技能,支持获取日历列表、查询、创建、更新、删除日程事件及设置重复和多级提醒。
使用说明 (SKILL.md)
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) |
参考文档
更新日志
v1.0.0 (2026-03-01)
- ✅ 初始版本发布
- ✅ 支持日历列表查询
- ✅ 支持日程增删改查
- ✅ 支持重复规则设置
- ✅ 支持多层级提醒
- ✅ 正确处理全天事件和时区
License: MIT
Author: nuonuo
Repository: https://github.com/openclaw-community/feishu-calendar
安全使用建议
This skill is plausibly what it says (a Feishu calendar client) but there are packaging and guidance problems you should address before installing: 1) The registry metadata claims no required env vars, but package.json and SKILL.md require FEISHU_APP_ID and FEISHU_APP_SECRET — expect to provide those secrets. 2) Do NOT hardcode App Secret in source; use environment variables or a secret store. 3) Verify the referenced GitHub repo/source code (package.json points to a repo) and confirm the code hasn't been tampered with. 4) Check the Feishu app permissions being requested and grant the minimum necessary. 5) Run the skill in a constrained environment (no sensitive host credentials) until you’ve reviewed the code and validated behavior. If you need higher assurance, ask the publisher to fix the registry metadata and provide a signed release or repository link before enabling the skill.
功能分析
Type: OpenClaw Skill
Name: feishu-calendar-event
Version: 1.0.0
The OpenClaw AgentSkills bundle for Feishu Calendar is benign. All code and documentation align with the stated purpose of managing Feishu calendar events. Network calls are exclusively directed to the legitimate Feishu API endpoint (`open.feishu.cn`). Credentials (`FEISHU_APP_ID`, `FEISHU_APP_SECRET`) are handled securely via environment variables, as specified in `SKILL.md` and `package.json`. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, obfuscation, or prompt injection attempts in `SKILL.md` or `example.md` designed to subvert the agent's behavior beyond its intended function.
能力评估
Purpose & Capability
The name/description, SKILL.md, package.json and calendar-client.js all describe a Feishu calendar client and use Feishu APIs — that matches the stated purpose. However the registry metadata lists no required env vars or primary credential while package.json.openclaw.config and SKILL.md require FEISHU_APP_ID and FEISHU_APP_SECRET. This metadata mismatch is incoherent and should be corrected.
Instruction Scope
SKILL.md and example.md instruct only to call official Feishu endpoints (token, calendar, events). They do not ask the agent to read unrelated system files or exfiltrate data to third-party endpoints. However the docs encourage embedding credentials directly into code examples (code block and example), which is a bad practice and increases risk if users copy/paste credentials.
Install Mechanism
No network install/downloads or obscure installers are used — this is an instruction-only skill with a small JS client and package.json. No extract/download URLs or third-party installers present.
Credentials
The skill requires FEISHU_APP_ID and FEISHU_APP_SECRET to function (package.json.openclaw.config and SKILL.md). Those credentials are proportionate to the feature. But the registry metadata incorrectly lists no required env vars; calendar-client.js also provides hardcoded placeholder defaults in code which could encourage insecure practices. Requiring secrets is expected, but the inconsistent metadata and guidance to place secrets in code are problematic.
Persistence & Privilege
always is false, no config paths or platform-global changes requested, and the skill does not claim to modify other skills. Autonomous invocation remains enabled (platform default) but is not combined with other high-risk flags.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install feishu-calendar-event - 安装完成后,直接呼叫该 Skill 的名称或使用
/feishu-calendar-event触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release with new, streamlined codebase and Chinese documentation.
- Replaced previous scripts and meta files with a concise client implementation (calendar-client.js) and usage examples (example.md)
- Removed legacy routines and test scripts for calendar operations
- Provided comprehensive Chinese documentation covering features, setup, API usage, timezones, reminders, and error handling
- Core features: list calendars, query/create/update/delete events, support for recurring rules, multiple reminders, full timezone & all-day handling
元数据
常见问题
feishu-calendar-event 是什么?
飞书日历管理技能,支持获取日历列表、查询、创建、更新、删除日程事件及设置重复和多级提醒。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1054 次。
如何安装 feishu-calendar-event?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install feishu-calendar-event」即可一键安装,无需额外配置。
feishu-calendar-event 是免费的吗?
是的,feishu-calendar-event 完全免费(开源免费),可自由下载、安装和使用。
feishu-calendar-event 支持哪些平台?
feishu-calendar-event 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 feishu-calendar-event?
由 TEweitao(@teweitao)开发并维护,当前版本 v1.0.0。
推荐 Skills