🎵 dizical
English · 中文
竹笛课程管理 + 缴费提醒 + Apple Reminders 双向同步 + iPad 儿童练习助手
<p align="center" <img src="https://img.shields.io/badge/python-3.12-blue.svg" alt="Python" <img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License" <img src="https://img.shields.io/badge/tests-49%20passed-brightgreen" alt="Tests" <img src="https://img.shields.io/badge/lessons-211%20days%20imported-blue" alt="Lessons" <img src="https://img.shields.io/badge/badges-V2.10-ff69b4" alt="Badge Engine v2.10" </p
📝 最近变更 (2026-07-01, V2.10): 装 rembg[cpu] (gpt-image-2 浅灰背景一次抠干净) · streak1/3/7 还原 V1 era 原风格 (拟人竹笛 + 火焰女孩 + chibi 7) · 边缘硬 alpha mask 0 颗粒. 详见 CHANGELOG.md / STATUS.md.
---
🤔 为什么叫 dizical?
dizi + cal(endar) = dizical
竹笛 日历 ↓
发音 ≈ Descartes(笛卡尔)
📅 管它什么哲学,我只要管好我的竹笛课表 🎵---
✨ Features
Badge 引擎(V2.9,2026-07)
- 🏆 40 枚 Enamel Pin 风格徽章 —— 连击/累计/段位/排行/节日/特殊 6 类
- 🔄 实时 calc + 自动解锁 —— calcall() 计算结果立刻持久化到 achievementstats 表
- 📜 小朋友视角文案 —— "你在 2025-10-03 第一次连着打卡 7 天" 而不是工程术语
- 🖼️ 图像替换 API —— POST /config/api/badge/replace-image-from-draft 换老图不写 achievements;老图保留 (iscurrent=0)
- 🧒 视觉设计 —— chibi girl + 笛子 + 高音谱号 + 星星/爱心装饰;1024×1024 RGBA + 硬 alpha mask 干净透明
- 📋 来源: dizical 后端 + ~/.hermes/profiles/dizical/skills/badge-image (跨 profile symlinked)
---
课程管理
- 📅 自动排课 - 每周六自动生成课程,节假日冲突检测
- 💰 缴费管理 - 自动统计欠缴/已缴,最后一节课当天提醒
- 📊 可视化课表 - 表格视图 + ASCII 日历视图
练习追踪
- 🎵 打卡 - 空格/逗号分隔多条记录,支持指定日期补录
- 📝 进展记录 - 每次打卡可附上详细练习进展(--log)
- 🔍 模糊匹配 - 打卡时只记得名字的一部分也能识别(如"单吐"匹配"单吐练习")
- 🗓️ 日历热力图 - 月度练习日历,颜色深浅表示练习量
- 📈 统计 - 月度练习时长、每日练习曲线