惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Vulnerabilities – Threatpost
L
LINUX DO - 热门话题
H
Hacker News: Front Page
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
Lohrmann on Cybersecurity
Cisco Talos Blog
Cisco Talos Blog
O
OpenAI News
S
Securelist
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
H
Heimdal Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
Webroot Blog
Webroot Blog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
Latest news
Latest news
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic
D
Docker
D
DataBreaches.Net
A
About on SuperTechFans
T
Tor Project blog
V
V2EX
G
Google Developers Blog
博客园 - Franky
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
I
InfoQ
H
Help Net Security
V2EX - 技术
V2EX - 技术
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
SecWiki News
SecWiki News
The Register - Security
The Register - Security
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
小众软件
小众软件
B
Blog
T
Threatpost
P
Palo Alto Networks Blog
博客园 - 【当耐特】
L
LangChain Blog
AWS News Blog
AWS News Blog
月光博客
月光博客
宝玉的分享
宝玉的分享

程序员

V2EX 看到讨论"跨域"的帖子,那个她好像回来了 codex 今天真的是不稳定呀。 火山方舟 Coding Plan 慎买 刚问了大家 openclaw 和 hermes 在什么机器上面玩,求推荐一个机器 GPT-image-2 生成 AI 图片防伪有感 codex pro 5 小时限制已经严重缩水 逆天 Antigravity 动态 JSON 序列化对强类型语言很难吗? 自建了 GPT Coding Plan,遇到了定价问题,请教大家 大家都是在什么设备上玩 openclaw 以及 hermes 的呀? 软考还有一个月就考试了,你们学习了吗? 大伙用 AI 会考虑在 user scope 的 CLAUDE.md/AGENTS.md 里交代 AI 说中文吗 我发现程序员这个群体很大部分其实挺抠的 最近使用 cc 总会莫名其妙的返工, codex 不会 目前体验最好的远程 vibe 工具 想知道大佬们抓包遇到 ssl pinning 都是咋优雅的 解决的? - V2EX 工业软件的大佬们是怎么 vibe coding 的 - V2EX 最近 chrome 是不是有 bug 啊,一搜索就卡住 - V2EX 分布式异步系统在 vibe coding 下的困境 PHP Native AOT 编译器,支持将 PHP 代码编译为可执行文件,运算性能提高 150 倍 没想到 2026 年,还要浪费大量时间在跨域问题上 - V2EX DeepSeek V4 这周会出吗? 中转站正式试营 欢迎试用 不掺不假 小米 mimo 升级 v2.5,并且重置了额度 Jenkins, SCM 轮询完全不工作是啥问题啊 赛博斗蛐蛐, AI 模型的简单对比(白嫖版) 使用中转站要擦亮眼睛!不说别的,倍率计算 充值好乱。 买了火山的 Coding Plan 测试得出计费模式 给我的 AI 生成了简历和状态卡, 大家帮忙看下 Ta 能找到啥样的 腾讯云太不要脸了, token plan 上 glm5.1 和 minimax-m2.7,但是 coding plan 不上 - V2EX 目前自建梯子最强的 anytls 协议不是不不更新了? 刚发现 WSL2 可以通过 virtiofs 访问 NTFS 分区, IO 速度明显提升 v2board 还是其它面板更适合小团伙使用? 现在 AI 来了,如果有天不需要程序员? gpt-image-2 太顶了 你们 vibe 会让模型先输出方案来审核吗? GLM Coding Plan 调整老套餐并停止自动续订,受影响用户获赠 2 个月新套餐权益 为了浏览在线文档的时候能自定义高亮, Vibe 了一个网页高亮标记的工具 从 2 月开始用 Opus 4.6,到这几天切到 4.7,一些感悟和困惑 Github Copilot 停售之后还能买什么 收集了一下市面上常见的 Token Plan,可以给到大家一点参考 这个生图太牛了 中国的算力缺口这么大嘛?看到 2025 华为昇腾出货 81 万块,又看到各家 coding plan 不是停售就是限流 做 OPC 太难了,天天焦虑 阿里云 Coding Plan 增加动态限流,频繁暂停无法使用 马斯克 600 亿美元收购 Cursor codex 开始灰度 GPT 5.5 了 大家是如何使用 codex gpt-image-2 生图确实很顶啊,附带几张生成效果。 codex 的风评似乎在超过 Claude code? 智谱 GLM 宣布停止续订无周限额的老套餐 如何实现自我进化的 AI 的 Skills? 智谱(GLM)果然学习了阿里, 强制关闭了老用户套餐的自动续费 各位公司有除了智能客服外真正落地的 AI 应用吗? 热烈欢迎火山 Coding Plan 加入 GLM5.1 Kimi2.6 MiniMax2.7 阵容 请教大佬: claude API token 太烧钱了, minmax 还要兑换码,有没有合适的中转方案 开发一个面向普通用户(非程序员)的 Agent 软件,支持 skills、定时任务、对话功能,主要客户群体使用 Windows。感觉像是一个带前端的 Hermes,但是 Hermes 在 Windows 下运行不太友好,不适合非开发人员。 grok XAI 开始限制免费用户访问次数了吗? openspec 怎么配合 superpowers 使用? 阿里云的 coding plan 莫名奇妙被冻结了 程序员如何学习 ui 审美 开源了一个 AI Agent 认证工具 sig —— 让 AI Agent 安全访问外部系统 Vibe Coding 时代,该如何快速搭建一个 CRUD 平台? 感觉大多数的 coding plan 都是被龙虾薅死的。 有没有一起拼中转站的呀,找到一个中转站用了段时间感觉比较靠谱 搭个 AI 中转玩玩 Zeabur + Neon 50 块以内跑通 Coinepay:一张不能用的卡,扣了我 5 个月月费 Gemini in Chrome 支持日本了,为什么我的不生效? 跳板机/内网穿透方案,如何降低远程访问校内服务器延时? 现在有没有什么好的 AI 图片生成 3D 模型的方案? 关于科研 ai 作图 为什么现在 AI SDK 默认不支持异步? 建议 V2EX 加入一个 Ai App 或者 Vibe Coding 模块,把一堆 Ai 生成的产品都丢进去。 如果没用 coding plan 套餐了,再继续自费上班是不是就太傻了 AI 太烧钱了,有什么好的大模型组合方案? 阿里云百炼这波开始割韭菜了,下架 coding plan,改头换面 token plan 最新,腾讯云和阿里云 coding plan 购买页面均已下架,换成了 token plan 阿里云 CodingPlan 彻底没了,新上了 TokenPlan 大家看到 antigravity 那个配额监视器的广告了没? 真心发问,想学后端需要学啥? AI-Powered Log Analysis Tool - Pangu RCA 想自己写一个 code agent 玩玩,有什么开源项目可以参考吗? 腾讯云 Coding Plan 下架了 现在还有哪一个国产 Coding Plan 能买到吗? 106 行业短信签名申请新规范出台, 5 月 1 日起生效 最近上线了一个开发了半年的 shopify SAAS AI 就像那渣男渣女,平时哄着你温柔小意,关键时刻就坑你一波大的 大家在开发智能体时,都是怎么写系统提示词的? 现在大模型国内外直连越来越难买或拼车了,想试试中转站,大家有没什么推荐呀 一个人写了大半年 Android App,聊聊过程中的一些取舍,第二篇 智谱 coding plan 的使用 token 限制是多少? cli-proxy-api + 中转站领的鸡蛋 = 大模型免费用是否可行? gpt coding plan 一天试用(GPT 5.3codex 和 gpt 5.4) 大家用 AI 是订阅制多还是 API 按量付费多? 我用 AI 写了一个游戏,我发现我不想看代码,也看不懂代码了 AI 代码后面怎么维护,心智负担太大了 中年人爱上 AI 编程,就像爱上钓鱼 每月 AI 支出都超过生活费了 1000 行 rust 实现一个类似于 pytorch 的轻量级自动微分库
开发了一个进阶版 Apple 健康 - V2EX
MagicCoder · 2026-06-25 · via 程序员

前言

使用 iPhone + Apple Watch 组合有段时间了,当初买的时候,想着用它来记录我的跑步数据,但是坚持了没多久,我就懒惰了,手表最大的作用就成了睡眠监测工具了,由于作息一直比较规律(晚 11 ~早 7 ),就没怎么关注过这些。

最近半年时间,时不时的熬夜写开源项目,我开始关注自己的健康状况了,打开系统自带的的健康 app 把玩了一番,发现它的数据特别全,但是有几个不好用的地方:

  • 首页的内容比较分散,指标都是以列表的形式进行展示的
  • 指标层级较深,需要切来切去,很多指标我更希望将他们展示到一个大的分类里
  • 指标太单一,大多数时候我并不是只想看某个数据,而是把睡眠、恢复、心率、压力、活动放在一起看,给出更完整的身体状态视角。
  • Apple 只会在你静息心率过高的时候给你发出提醒,而我日常会更关心“最近状态怎么样?哪里变好了?哪里需要注意?”

IMG_4989

寻找替代品

Apple Watch 的销量这么好,肯定不止我一个人觉得自带的软件不好用的。经过一番查找后,找到了几个看着还不错的,把他们都下载下来体验了下,综合下来给我的感觉是:

  • 功能做的太多了,我一眼看过去有点恍惚,接下来我该点什么?
  • 界面做的太卡通了,我比较喜欢简约风格的东西,更贴近系统的设计风格

自己开发

体验了 5 款这类软件,始终没找到适合我的,那就只能花点时间开发一个了⚒️

产品设计

我给这个应用取名为 VirPulse ,它并不是想取代 Apple 健康,而是把 Apple 健康里已经记录好的数据重新整理一遍,让我能更快看懂自己的状态。

在设计产品时,我先给自己定了一个原则:不要把 Apple 健康里的所有数据重新抄一遍,也不要一打开软件就塞给用户几十个指标。

所以整个软件只保留了 3 个主要入口:

  • 首页:快速看懂今天的状态
  • 分析:把多个指标放在一起看
  • 搜索:直接找到某个具体指标

可能很多人会好奇,为什么这个应用叫VirPulse

我的上一个作品叫NginxPulse,它将 Nginx 访问日志转换成直观的图表,就像在查看 Nginx 的“生命体征”一样。

健康数据记录的是一个人每天的身体状态,而心跳又是生命最直接的信号,所以我还是想保留 Pulse 这个词。

一开始本来想叫 LifePulse ,但是 App Store 里已经有了同名应用。后来我继续从生命力、力量相关的词里寻找灵感,最终从拉丁语Virtus中取了前面的Vir,再和Pulse组合,于是就有了VirPulse这个名字。

首页

首页是我每天打开次数最多的地方,所以这里没有放太多复杂的图表,而是先给出一个今日状态评分,再展示睡眠、静息心率、HRV 、步数和活动消耗等信息。

这个评分不是简单取某一个指标,而是会结合睡眠恢复、身体恢复、活动完成度以及最近一段时间的变化趋势进行计算。

比如昨晚睡眠时间不够、HRV 下降、静息心率又比平时高,那么软件就会提醒我最近可能需要多休息,而不是只展示几个冷冰冰的数字。

IMG_4927

这里的评分主要用于观察个人趋势,不作为医疗诊断。

分析

分析页是这个软件的核心功能,我把健康数据分成了运动、睡眠、代谢和压力几个大的分类。

IMG_4928

每个分类都不是只看一个数据,例如睡眠分析会同时参考:

  • 睡眠时长和睡眠阶段
  • 入睡、起床时间是否规律
  • 夜间心率和 HRV
  • 血氧、呼吸频率和腕温

压力状态也不是手表直接提供的数据,而是结合睡眠变化、HRV 、静息心率、活动节律等数据进行估算。

image-20260622024136831

时间范围支持近 7 天、近 30 天、近 90 天和自定义日期,可以用来判断某个变化是偶尔出现,还是已经持续了一段时间。

如果某些数据缺失,软件不会简单按 0 分计算,而是只使用当前已有的数据,并提示这次分析的依据是否完整。

趋势和搜索

有时候我并不想看综合分析,只是想确认某个具体指标最近有没有变化,所以做了一个搜索入口。

IMG_4990

在这里可以直接搜索睡眠、心率、HRV 、血氧、体重、体脂、腕温等指标。点进去后,可以查看最近记录、平均值、最高值、变化趋势以及这个指标和其他健康状态之间的关系。

IMG_4991

IMG_5076

IMG_5077

首次连接 Apple 健康时,会先同步最近 90 天的数据,之后再在后台补全近 400 天的历史趋势。

小组件

为了减少打开软件的次数,我还做了多套桌面小组件,可以直接查看今日状态、睡眠评分、活动进度、压力状态和生命体征趋势。

同时也适配了待机显示,晚上给手机充电时,就可以把它当成一个简单的健康状态面板。

IMG_4933

界面风格

界面上没有加入太多卡通元素,整体以深色背景、半透明卡片和系统图标为主,不同颜色只用来区分睡眠、心率、活动等指标。

image-20260622024656545

页面切换、下拉刷新、图表拖动和底部 Tab 也尽量遵循 iOS 原生的交互方式,用起来不会有太强的学习成本。

IMG_4931

image-20260622024943489

数据隐私

健康数据比较敏感,所以 HealthKit 读取到的原始数据、趋势和分析结果都保存在设备本地,相关计算也是在本地完成的。

服务端主要用于 Apple 账号登录、用户资料和会员状态,不会上传每天的睡眠、心率、步数这些健康记录。

技术栈

这是一个原生 iOS 项目,最低支持 iOS 17 ,并针对 iOS 26 的新 Tab 和 Liquid Glass 系统进行了深度适配。

客户端全部使用 Apple 官方提供的框架,没有引入第三方 UI 和数据处理库,主要技术栈如下:

  • SwiftUI:负责整个软件的界面和交互
  • HealthKit:读取 Apple 健康中的睡眠、心率、HRV 、活动等数据
  • SwiftData:在本地保存健康数据、分析结果和趋势缓存
  • Swift Charts:绘制趋势图、睡眠阶段和指标详情图表
  • WidgetKit:实现桌面小组件和待机显示
  • StoreKit 2:处理月付、年付、永久买断、恢复购买和兑换代码
  • AuthenticationServices:实现通过 Apple 登录
  • URLSession + async/await:和后端接口进行通信
  • Keychain:保存登录令牌

首次授权时读取最近 90 天数据,后续按天增量同步,同时在后台分批补全近 400 天历史数据。这样既不会让第一次进入软件等待太久,也能保留足够长的趋势数据。

图表数据比较多时,如果直接在页面切换过程中读取和计算,会明显感觉到卡顿。所以详情页会先打开一个轻量页面,再异步准备数据,等页面切换完成后再挂载图表。

业务实现主流程:

3333

服务端是基于我现有的 Java 项目继续开发的,主要技术栈如下:

  • Spring Boot + Java:提供账号和会员相关接口
  • MyBatis + MySQL:保存用户资料、登录令牌和订阅记录
  • JWT:处理访问令牌和刷新令牌
  • App Store Server API:校验 Apple 交易和会员状态
  • App Store Server Notifications:接收续订、过期和退款等订阅变化

健康分析并不依赖服务端,服务端主要负责确认“这个用户是谁”和“这个用户是否拥有 Pro 会员”。即使网络暂时不可用,已经同步到本地的健康数据依然可以正常查看。

获取应用

VirPulse 现已在全球 App Store 上架,打开 App Store 搜索“VirPulse”即可下载。

IMG_4992

写在最后

至此,文章就分享完毕了。

我是神奇的程序员,一位前端开发工程师。

如果你对我感兴趣,请移步我的个人网站,进一步了解。