← Back to Skills Marketplace
245
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install calender-memo
Description
本地日程记事本 - 添加、查看、完成和删除待办事项和日程安排。 触发条件:用户需要记录待办事项、安排日程、提醒自己未来的事情。 具体场景:添加会议、记录购物清单、设置提醒、查看今天/未来的安排。 关键词:日程、待办、提醒、安排、备忘、计划、今天有什么、添加任务。
README (SKILL.md)
日历记事本技能
这是一个本地日程管理工具,可以帮你记住所有待办事项和日程安排。所有数据保存在本地文件 MEMORY.md 中,重启 OpenClaw 也不会丢失。
使用场景
✅ 适用:
- 用户说“添加明天下午3点开会”、“记一下后天买牛奶”
- 用户问“今天有什么安排”、“我有哪些待办”
- 用户要“完成第1项”、“删除第2项”
- 任何需要记录未来某时间要做的事情
❌ 不适用:
- 查询历史天气、股票等外部数据
- 需要联网搜索的信息
- 多人协作的共享日历(本技能仅限个人使用)
核心功能与执行流程
1. 添加日程
用户输入示例:
- “添加 明天下午3点 团队周会”
- “新增 后天上午10点 和李经理开会”
- “提醒我 周六晚上8点 看直播”
解析规则:
- 去掉前缀“添加”或“新增”后,剩余内容格式为
[时间描述] [事件标题] - 时间描述支持:今天/明天/后天 + HH:MM(如“明天下午3点”)
- 默认时间:如果用户没写时间,默认设置为早上9点
执行步骤:
- 调用
parseDateTime()函数解析时间 - 创建新事件对象:
{ "id": "当前时间戳", "title": "用户输入的事件标题", "startTime": "解析后的ISO时间", "endTime": "开始时间 +1小时", "status": "upcoming", "reminded": false, "reminderOffset": 15 }
Usage Guidance
这个技能总体上是做本地日程管理,但实现会在后台每分钟检查并通过本地 openclaw 命令把提醒发送到飞书(external)。在安装/启用前请考虑:
- 如果你不希望日程被发送到外部服务,别启用自动提醒(或移除/替换 reminder.js 中的 sendPushNotification)。
- 确认宿主环境是否存在 openclaw CLI 且已配置飞书通道——如果存在,技能会使用该通道发送你的日程内容。技能没有在元数据中声明这一点。
- child_process.exec 被用于构造并执行 shell 命令,存在命令注入风险;建议审查或替换为更安全的调用方式(例如使用 SDK 或明确参数化的系统调用)。
- 如果你信任此技能且需要推送,请确保 agent/平台级别的通道凭据安全;否则只使用本地查看/编辑功能并禁用推送逻辑。
如果你想继续安装且需要更低风险的选项,要求作者或维护者:
1) 在文档中明确声明需要 openclaw 和已配置的飞书通道;
2) 提供配置项以关闭自动推送;
3) 将 exec 调用替换为安全的 API/SDK 调用或严格参数化的子进程调用。
Capability Analysis
Type: OpenClaw Skill
Name: calender-memo
Version: 1.0.0
The skill contains a critical command injection vulnerability in `reminder.js` due to the insecure use of `child_process.exec`. User-provided event titles are incorporated into a shell command to send notifications via the `openclaw` CLI; while double quotes are escaped, other shell metacharacters (e.g., backticks or `$()`) are not, allowing for arbitrary code execution. Although the code appears to fulfill its stated purpose as a calendar tool without clear evidence of intentional malice, the implementation of the notification system is highly vulnerable.
Capability Assessment
Purpose & Capability
技能名和描述是本地日程记事本,代码实现也确实管理 MEM O RY.md 并支持添加/查看/完成/删除。额外能力是主动推送提醒,这与技能描述的“提醒功能”相符;但实现依赖本地 openclaw CLI 与 feishu 通道(在代码中通过 shell exec 调用),这些依赖没有在声明的要求或说明中明确列出,造成能力与声明的不完全对齐。
Instruction Scope
SKILL.md 声明数据保存在本地并可自动推送提醒,但并没有以细节方式说明会执行系统命令。实际代码使用 child_process.exec 构造并执行 `openclaw message send --channel feishu --recipient current --text "..."`,这会把日程文本发送到外部服务(飞书)。exec 的使用带来命令执行/注入风险(虽然代码对双引号做了简单转义),并且代码在 onStart 时启动每分钟一次的定时器,自动发起外部通信,超出普通“只读本地文件”的范围。
Install Mechanism
没有 install spec(instruction-only + 带代码文件),因此不存在可疑下载或外部依赖安装步骤。代码为本地文件,不会在安装阶段从不明 URL 拉取可执行包。
Credentials
技能未声明任何环境变量或凭据,但会依赖宿主环境存在并已配置的 openclaw CLI 与飞书通道(使用 `--recipient current`)。这意味着日程条目会被发送到外部服务,利用平台/agent 层已有的通道认证;技能没有声明需要或获得这些凭据,用户可能不会意识到日程数据会被外发。
Persistence & Privilege
技能 onStart 会启动一个每分钟执行的定时器来检查并推送提醒(持续运行的后台任务)。虽然技能没有设置 always:true, 但一旦被启用就会保持活跃并周期性进行外部通信,扩大了潜在的暴露面(持续将本地日程主动发送到外部通道)。
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install calender-memo - After installation, invoke the skill by name or use
/calender-memo - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
calendar_memo 1.0.0
- 初始版本发布
- 支持通过自然语言添加、查看、完成日程和待办事项
- 自动解析时间和事件内容
- 可读取和更新本地 MEMO 数据
- 反馈用户的操作结果
Metadata
Frequently Asked Questions
What is calender-memo?
本地日程记事本 - 添加、查看、完成和删除待办事项和日程安排。 触发条件:用户需要记录待办事项、安排日程、提醒自己未来的事情。 具体场景:添加会议、记录购物清单、设置提醒、查看今天/未来的安排。 关键词:日程、待办、提醒、安排、备忘、计划、今天有什么、添加任务。 It is an AI Agent Skill for Claude Code / OpenClaw, with 245 downloads so far.
How do I install calender-memo?
Run "/install calender-memo" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is calender-memo free?
Yes, calender-memo is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does calender-memo support?
calender-memo is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created calender-memo?
It is built and maintained by qiyuxi24 (@qiyuxi24); the current version is v1.0.0.
More Skills