Tiny Kick Counter 是轻量胎动计数器的 Scripting 版本。它保留 Apple Shortcuts / Apple Watch 记录入口,同时增加 Scripting 主页面卡片和 systemMedium 交互式小组件。
相关设计与实施计划:
- 设计文档:
docs/superpowers/specs/2026-05-26-scripting-fetal-movement-design.md - 实施计划:
docs/superpowers/plans/2026-05-26-scripting-fetal-movement-implementation.md
index.tsx:主页面,显示最近 30 天有记录的日期卡片。widget.tsx:systemMedium 小组件,显示今天摘要、最多 2 个周期明细,并提供记录/结束按钮。intent.tsx:Shortcuts 入口,接收 JSON 参数并返回结构化 JSON。app_intents.tsx:小组件按钮使用的 AppIntents。
- 1 小时为一个计数周期。
- 没有活跃周期时,“记录胎动”自动开启周期并记录第 1 次有效胎动。
- 距上一条有效胎动不足 5 分钟的点击记为子胎动,只增加总点击数。
- 距上一条有效胎动 5 分钟及以上的点击记为新的有效胎动。
- 周期结束通知只提醒;归档由下一次入口运行时 lazy archive 完成。
- 手动提前结束的周期标记为无效,普通卡片和小组件隐藏且不参与统计,但导出 JSON 保留。
- 日期归属按周期开始时间
day_key。 - 推算次数 =
round(当日有效胎动总数 / 当日计数小时数 * 12)。
快捷指令配置见 SHORTCUTS.md。核心方式是:快捷指令先获取当前时间戳毫秒值,作为 event_ts 传入 Scripting,再用返回的 title 和 message 自行发送确认通知。
示例参数:
{"command":"record","event_ts":1779733304000,"source":"shortcut"}{"command":"close_cycle","event_ts":1779733304000,"source":"shortcut"}- 数据存储规划:
docs/data-storage-plan.md
- Widget 刷新时机由系统控制,无法保证秒级或严格 5 分钟刷新。
- 周期结束通知正文是静态提醒;最终次数需要打开主页面后由 lazy archive 显示。
- 初版只支持 systemMedium 小组件。
- 初版没有单独“开始计数”动作;记录胎动即开始周期。
- 初版没有编辑/撤销 UI。
当前可用验证命令:
scripting-ts project "Tiny Kick Counter" --check在当前 iOS shell 环境中,直接运行 tests/model_test.ts / tests/stats_test.ts 会遇到相对模块解析限制;项目级 check 可以正确解析整个脚本项目。
安装包固定地址:
https://github.com/shulkx/tiny-kick-counter/releases/latest/download/TinyKickCounter.zip
Scripting 远程资源配置使用同一个地址:
"remoteResource": {
"url": "https://github.com/shulkx/tiny-kick-counter/releases/latest/download/TinyKickCounter.zip",
"autoUpdateInterval": 86400
}发布包只包含运行和使用说明所需文件:script.json、入口文件、README.md、SHORTCUTS.md、common/ 和 utils/。docs/、tests/、.agent/、.github/、plan.md 等开发文件不会打入 zip。
发布前确认 script.json.version 已更新,例如:
"version": "1.0.1"创建并推送 tag:
git tag v1.0.1
git push origin v1.0.1GitHub Actions 会自动创建 Release,并上传唯一资产:
TinyKickCounter.zip
正式版本使用 vX.Y.Z;测试版本使用 vX.Y.Z-beta.N,测试版本会被标记为 prerelease。Release tag 必须指向 main 分支可达的提交。
Tiny Kick Counter 支持从美柚 App 导入胎动记录,与本机数据合并显示。
- 打开设置页,找到"美柚同步"部分
- 粘贴 Token 并点击"保存"
- 打开"启用美柚同步"开关
- 点击"立即同步"
需要通过 HTTP 抓包工具(如 Stream、Proxyman)获取美柚 App 请求中的 authorization 请求头:
- 配置抓包工具并安装 HTTPS 证书
- 打开美柚 App,进入"工具"→"胎动计数"
- 在抓包记录中找到
tools.seeyouyima.com/fetal请求 - 复制请求头中
authorization字段的完整值
Token 有效期取决于美柚服务端,失效后需要重新获取。