# VibeAlert Resources **Repository Path**: clh21/vibealert-resources ## Basic Information - **Project Name**: VibeAlert Resources - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-15 - **Last Updated**: 2026-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VibeAlert 资源 存放方案配置、原创无旁白音频、卡片外观及文件清单。 | 方案 | 音频 | |---|---| | 睡前放松 | 5 分钟环境音乐,首尾淡入淡出 | | 温馨起床 | 90 秒提示旋律,前 45 秒逐渐增强 | 两份模板均为媒体播放(系统媒体音量),默认先震动 5 秒,震动期间可停止本次播放,音乐播完停止。应用的「编辑声音」可修改秒数,0 表示不震动、直接播放。 计划使用 PlanConfig schemaVersion=3。可选 `actionLabels` 对象可设置 `stop`、`delay`、`start` 三个已有按钮的文案,省略对象或字段时使用应用默认文案;不改变操作、可见性或延迟确认流程,不影响普通播放器的暂停/停止。两份模板的停止文案为「本次不播放」,起床的延迟提醒为「稍后再提醒」,睡前为「晚点再提醒」。已有计划确认模板更新后生效,需要支持 PlanConfig v3 的应用。 每项文案必须是 1–16 个 Unicode 码点的非空字符串,无首尾空白,禁止控制/格式字符、行/段分隔符及无配对代理项;null 和未知字段不合法。建议 4–8 个字,表达本次操作,避免「关闭计划」或未确认的「5 分钟」等承诺。开始文案只用于有开始场景按钮的提醒模板,当前两份媒体模板省略此项。 每份 `definition.json` 的 plan 自行选择 `mode`:`REMINDER` 为闹钟提醒,声音来自 `alarm.json`;`CONTENT` 为媒体播放,音频定义在 content.tracks 并由 contentCollectionId 引用。CONTENT 的 ringSeconds=0 关闭前置闹钟提示音,vibrationSeconds 为 0–3600 的整数秒,autoDelayEnabled=false 关闭自动延迟。REMINDER 的震动则由 alarm.soundOverrides.vibrationMode 控制。媒体播放不使用 alarm 的音量曲线、铃声裁剪或路由覆盖。 `catalog.json` 列出全部方案文件及校验信息;`templates/` 保存配置,`audio/` 保存 MP3 音频,`images/` 保存明暗背景和独立透明图标。睡前使用星空/月亮,起床使用晨光/太阳。 `appearance.json` 分别定义背景配色和图标。明暗背景独立设置底色、渐变终色、强调色与图片;图片支持 COVER/CONTAIN、0–1 的 focusX/focusY、opacity 和 scrim。图片使用 bundle://assets/images/ 引用,PNG/JPEG/静态 WebP 每份至多 4 MiB、边长至多 4096、总像素至多 8,388,608。省略背景或图标时采用应用样式;无图标使用 symbol=NONE。官方透明图标使用 tint=true,随明暗主题染色。 安装 Pillow 后运行 `python3 prepare-appearance.py` 可重建原创图片和外观配置;之后刷新清单。修改资源时递增对应 `templates/*/metadata.json` 的 revision,先同步资源、最后同步 catalog.json。 `python3 prepare-daily-routines.py --catalog-only` 从现有配置与音频更新清单,`--check` 校验资源;不带参数时同时重新生成音频。 `PYTHONDONTWRITEBYTECODE=1 python3 test-daily-routines.py` 验证按钮文案的类型与文本边界,不改动资源。