← 返回 Skills 市场
245
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install calender-memo
功能描述
本地日程记事本 - 添加、查看、完成和删除待办事项和日程安排。 触发条件:用户需要记录待办事项、安排日程、提醒自己未来的事情。 具体场景:添加会议、记录购物清单、设置提醒、查看今天/未来的安排。 关键词:日程、待办、提醒、安排、备忘、计划、今天有什么、添加任务。
使用说明 (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 }
安全使用建议
这个技能总体上是做本地日程管理,但实现会在后台每分钟检查并通过本地 openclaw 命令把提醒发送到飞书(external)。在安装/启用前请考虑:
- 如果你不希望日程被发送到外部服务,别启用自动提醒(或移除/替换 reminder.js 中的 sendPushNotification)。
- 确认宿主环境是否存在 openclaw CLI 且已配置飞书通道——如果存在,技能会使用该通道发送你的日程内容。技能没有在元数据中声明这一点。
- child_process.exec 被用于构造并执行 shell 命令,存在命令注入风险;建议审查或替换为更安全的调用方式(例如使用 SDK 或明确参数化的系统调用)。
- 如果你信任此技能且需要推送,请确保 agent/平台级别的通道凭据安全;否则只使用本地查看/编辑功能并禁用推送逻辑。
如果你想继续安装且需要更低风险的选项,要求作者或维护者:
1) 在文档中明确声明需要 openclaw 和已配置的飞书通道;
2) 提供配置项以关闭自动推送;
3) 将 exec 调用替换为安全的 API/SDK 调用或严格参数化的子进程调用。
功能分析
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.
能力评估
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, 但一旦被启用就会保持活跃并周期性进行外部通信,扩大了潜在的暴露面(持续将本地日程主动发送到外部通道)。
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install calender-memo - 安装完成后,直接呼叫该 Skill 的名称或使用
/calender-memo触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
calendar_memo 1.0.0
- 初始版本发布
- 支持通过自然语言添加、查看、完成日程和待办事项
- 自动解析时间和事件内容
- 可读取和更新本地 MEMO 数据
- 反馈用户的操作结果
元数据
常见问题
calender-memo 是什么?
本地日程记事本 - 添加、查看、完成和删除待办事项和日程安排。 触发条件:用户需要记录待办事项、安排日程、提醒自己未来的事情。 具体场景:添加会议、记录购物清单、设置提醒、查看今天/未来的安排。 关键词:日程、待办、提醒、安排、备忘、计划、今天有什么、添加任务。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 245 次。
如何安装 calender-memo?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install calender-memo」即可一键安装,无需额外配置。
calender-memo 是免费的吗?
是的,calender-memo 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
calender-memo 支持哪些平台?
calender-memo 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 calender-memo?
由 qiyuxi24(@qiyuxi24)开发并维护,当前版本 v1.0.0。
推荐 Skills