birthday-reminder

🎂 自然语言生日管家与智能提醒

纯本地存储的生日管理技能,支持自然语言交互与自动年龄计算,零网络传输保障隐私,适合注重数据安全的个人与家庭用户。

收藏
2.4k
安装
1.2k
版本
v1.0.0
CLS 安全性认证2026-05-06
点击查看完整报告 >

使用说明

Birthday Reminder 是一款专注于本地化隐私保护的生日管理技能,通过自然语言交互帮助用户高效追踪重要日期。该技能完全基于 Python 标准库开发,无需任何第三方依赖,所有数据均以 Markdown 格式存储于本地文件系统,确保用户隐私零泄露风险。

核心用法方面,用户可通过自然语言指令如"Valentina hat am 14. Februar Geburtstag"或"Füge hinzu: Max, 15.03.1990"快速添加生日记录。系统支持多种日期格式解析(包括"DD.MM.YYYY"、"DD.MM"以及德语月份名称),并自动计算即将到来的年龄和剩余天数。查询功能同样支持自然语言,例如"Wann hat Valentina Geburtstag?"或"Nächste Geburtstage",系统会读取本地存储文件,按日期排序展示即将临近的生日,并显示届时将满的年龄。此外,技能还提供定时检查功能,可在生日前7天、1天及当天自动触发提醒。

显著优点体现在其极简的架构设计与隐私优先理念。首先,纯本地文件存储(/home/clawd/clawd/data/birthdays.md)意味着用户数据永远不会离开设备,彻底杜绝云端泄露风险。其次,仅依赖 Python 标准库(json、datetime、pathlib等),避免了第三方包带来的供应链攻击风险。再者,自然语言处理能力降低了使用门槛,支持德语句式识别,适合德语使用者。自动化的年龄计算和天数统计功能精准实用,文件采用易读的 Markdown 格式,便于用户手动编辑或备份。

然而,该技能也存在一定局限性。作为 T3 来源的个人项目,代码虽经安全审计,但长期维护更新存在不确定性。数据存储采用单文件 Markdown 格式,对于大量数据(数千条记录)的查询性能可能受限,且缺乏数据库的事务支持。功能上仅支持单用户本地使用,无多用户协作机制,也无跨设备云同步能力。此外,自然语言解析虽然方便,但在复杂句式或歧义表达上可能存在识别误差。

适合的目标群体主要包括注重隐私的个人用户、需要管理家庭成员生日的家长,以及小型团队行政人员。对于不愿将敏感日期信息上传至云端服务的用户,这款纯本地方案尤为合适。同时,德语使用者会因其德语句式支持获得更好的体验。

使用风险方面,虽然代码本身通过 A 级安全认证,无危险函数和注入漏洞,但用户需注意本地文件权限配置,确保存储目录 /home/clawd/clawd/data/ 具备适当访问控制,防止其他用户读取私人生日信息。数据备份责任完全由用户承担,建议定期备份 birthdays.md 文件以防系统故障导致数据丢失。由于无网络同步功能,设备损坏可能导致数据永久丢失,重要数据建议配合其他备份策略使用。

安全解读

Birthday Reminder 综合评估

核心用法

该 Skill 是一款轻量化本地生日管理工具,通过自然语言交互实现生日信息的增删查改。用户可用德语或英语风格的日常表达添加生日(如"Valentina hat am 14. Februar Geburtstag")、查询特定人员的生日日期、获取即将到来的生日列表,以及计算某人即将到达的年龄。

数据以 Markdown 格式持久化存储于 /home/clawd/clawd/data/birthdays.md,格式为 - **Name** - DD.MM.YYYY (wird X),支持可选年份记录。系统会自动计算距离下一个生日的天数,并在有出生年份时推算即将迎来的年龄。

显著优点

1. 零网络依赖:完全本地运行,无 API 调用、无云端同步,数据完全由用户掌控
2. 隐私优先设计:个人敏感信息(生日数据)不出本地设备,天然符合 GDPR 最小化原则

3. 自然语言交互:支持多种口语化表达模式,降低使用门槛,无需记忆固定命令格式

4. 轻量无依赖:仅使用 Python 标准库(datetime、pathlib 等),无第三方包供应链风险

5. 透明可审计:代码量小(约 250 行)、逻辑简单,用户可自行审查全部功能实现

潜在缺点与局限性

  • 硬编码路径:数据文件路径固定为 /home/clawd/clawd/data/birthdays.md,缺乏自定义灵活性,路径不可写时会导致功能异常
  • 无数据备份机制:写入操作直接覆盖原文件,意外中断可能导致数据损坏或丢失
  • 输入验证薄弱:日期解析依赖 datetime.strptime(),对名称字段缺乏长度和格式校验,异常输入可能破坏文件结构
  • 单用户设计:无多用户隔离机制,共享环境下的数据权限控制缺失
  • T3 来源级别:维护者为个人开发者账号,虽代码透明但缺乏组织背书

适合人群

  • 注重隐私、不愿将生日数据同步至云端服务的用户
  • 德语使用者(自然语言解析对德语支持更完善)
  • 寻求简单轻量方案、无需复杂功能的个人用户
  • 具备基础代码审查能力、希望完全掌控数据存储位置的技术用户

常规风险

| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 数据丢失 | 中 | 无自动备份,误操作或程序中断可能导致 birthdays.md 损坏 |
| 路径权限 | 低 | 硬编码路径若不存在或不可写,功能直接失败 |
| 注入攻击 | 极低 | 无动态代码执行,但异常格式化输入可能破坏 Markdown 结构 |
| 供应链攻击 | 无 | 零第三方依赖,标准库仅使用 datetime、pathlib |
| 数据泄露 | 极低 | 纯本地存储,无网络传输环节 |

birthday-reminder 内容

scripts文件夹
手动下载zip · 5.0 kB
birthday.pytext/plain
请选择文件