Pulse
qunqin24/Pulse加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

晚上十一点,你正在用 Claude Code 改一个跨五个文件的重构。改到第三轮,终端忽然弹出一句 Claude usage limit reached. Your limit will reset at 3am.——你盯着屏幕,第一反应不是"该睡了",而是"我刚才那两小时的重构到底推进到哪一步了"。更糟的是,你完全不知道额度是五分钟前用完的,还是半小时前。
这类挫败在 2025 年之后变得极其普遍。Claude Code、Codex、Cursor、GitHub Copilot、Kimi Code、Antigravity……每家都给你画自己的额度饼图,每家都有不同的重置周期(5 小时窗口、周窗口、余额制、月度套餐),每家的查询入口都在浏览器里。每周用三个 AI 编程助手的开发者,等于每周要开十几个标签页,只为了搞清楚"我今天还剩多少"。
Pulse(qunqin24/Pulse)就是为这个问题而生的:一个免费开源的 macOS 悬浮窗,把七十余款 AI 编程服务的剩余额度、窗口重置倒计时、余额与消耗速度,常驻在屏幕边缘。不需要注册 Pulse 账号,没有 Pulse 服务器,不向任何第三方回传你的数据——它直接复用你机器上已有的登录态去读各平台自己公布的数字。
Pulse 最难的部分不是画圆环,而是"额度到底从哪来"。不同厂商的数据来源天差地别,项目为此写出了 108 个 Provider 源文件与 80 余个 Usage 读取器(Sources/Pulse/Usage/Readers/),大致分四类:
同时 Pulse 还会读取 44 家服务商公开的 status page,某一家的服务挂掉时在面板上提醒你——这解决的是"到底是额度用完了,还是服务商炸了"这个高频误判。
有意思的是,作者给自己立了一条极硬的规矩:Pulse 不编造百分比。服务商没报告就如实说"未报告",只有极少数推算值(按公开 API 价格估算的本机金额、Command Code 的月度套餐额度、只报余额不报额度的账号)会在界面上明确标注为推算,且在输入缺失时什么都不画,而不是画成 0。仓库的 CLAUDE.md 里把这条写成了不可违反的准则。

生活化地说,Pulse 像贴在车仪表盘上的油量表,而不是一本每月一次的行车记录本。你不需要主动去看它——它一直在那里,用颜色告诉你状态:绿色安全、琥珀色预警、红色告急、深红表示额度见底;闲置时自动折叠成一条细边(sliver),只在额度真正危险时才亮红。

鼠标悬停在某个圆环上,会弹出一张详情卡,里面是这一账号的全部额度池(连续条或分段条两种样式)、每一项的重置倒计时、套餐名称、数据读取时间;开启详细卡后还会给出 31 天用量曲线、用量最大的模型、prompt cache 命中率,以及 Claude Code 的缓存还有多久过期。更有价值的是 Burn-rate forecast(燃烧速率预测):按当前消耗速度推算,你会在额度窗口耗尽前多少分钟被拦下来——这正是大多数用户真正想知道的信息。

面板还可以收进菜单栏,显示"最紧张的那一个环",点开是一个多账号总览面板。
Pulse 还有一个容易被低估的功能:Token spend。它读取 54 个本地客户端(Claude Code、Codex、Cursor、Copilot 等)的会话记录,统计输入/输出/缓存 token,按公开 API 价格折算成本,支持按天、按月、按 agent、按模型维度查看历史曲线,还支持美元、人民币、港币、新台币、日元、韩元、卢布等币种估算。


配套还有 Usage recap:把某天、某周、某月、某年的用量做成可分享的卡片;以及 Pulse --json 命令行输出,供脚本与外部工具消费。对团队场景来说,"这个月 Claude Code 花了多少、哪个项目花得最多"这类问题,Pulse 的账本(UsageLedger、AgentLedgers)能直接回答。
对普通用户:下载 Releases 里的 Pulse-1.12.3.dmg(约 6MB),拖入 /Applications,首次启动勾选要监控的服务即可。唯一需要注意的坑是 macOS Gatekeeper:项目没有 Apple Developer 证书、未做公证,首次启动会拦截,需要在"系统设置 → 隐私与安全性"点"仍要打开",或执行 xattr -cr /Applications/Pulse.app。
对开发者:源码构建需要完整 Xcode(不是 Command Line Tools),且 CI 固定跑在 macos-26 runner 上——因为 Liquid Glass 效果依赖 macOS 26 SDK,SDK 版本还直接决定控件是画旧样式还是新样式。构建命令 ./Scripts/bundle.sh,测试用 swift test。
| 维度 | 情况 |
|---|---|
| 运行平台 | 仅 macOS 14 Sonoma+(Apple Silicon / Intel),Windows、Linux 不支持 |
| 容器化 | 无 Dockerfile / compose / K8s(桌面应用不适用) |
| Web UI | 无 |
| 语言 / 技术栈 | Swift + SwiftUI + AppKit(Swift 6.0 / macOS 26 SDK) |
| 第三方依赖 | 仅 Sparkle(应用内更新),其余全部系统原生能力 |
| 测试规模 | 413 个测试文件,覆盖规则计算、缓存合并、服务商解析样例 |
NSPanel、NSStatusItem、Keychain 访问与窗口层级控制,这些在 Linux/Windows 上没有等价实现。1163 万行级别的 Swift 代码无法平移到跨平台方案,除非另起炉灶用 Tauri/Electron 重写,那将是完全不同的产品。ProviderDiscovery、ConnectionDiagnostic、ConnectionRemedy 与大量测试样例来兜底,但本质上是在与上游赛跑。2026 年前后,AI 编程助手的竞争重心从"能力"转向了成本与额度管理。多模型并行是常态,而各家额度机制完全不互通,开发者被迫用"多开标签页"这种原始方式管理自己的算力账本。Pulse 代表了 AI 开发工具链里正在浮现的第三类角色:不生产能力,只生产可见性——类似 CI 之于代码,Pulse 之于算力。
数据也印证了这一点:项目 2026 年 8 月 30 日创建,两个月内冲到 593 star、64 fork、12 位贡献者、638 次提交,最新版本 v1.12.3(2026-10-21)。这在 macOS 工具类项目里属于相当快的起量速度,说明"额度焦虑"是一个被压抑已久的真实痛点。
同类赛道已经拥挤:Claude-Usage-Tracker(3.1k★,只做 Claude)、nikitadoudikov/claude-pulse(247★,做 Claude Code 会话面板)、Byte-de/pulse(做菜单栏统计)。Pulse 的差异化在于广度(76 服务)、本地优先(无账号无服务器)与不许编数字的产品原则。它的对手不是这些同类项目,而是厂商自己早晚要做的那块"用量仪表盘"。
Pulse 是一件典型的"小而狠"的作品:用约 1200 个文件、6MB 的安装包,解决了一个每个 AI 编程用户每天都会遇到、却没人正面处理的痛点。它不训练模型、不提供服务、不托管账号,只做一件事——把散落在七十多个平台后台里的额度真相,压缩成屏幕边缘一圈安静的圆环。代价是绑死 macOS、依赖上游私有接口、并需要用户交出相当敏感的本地凭据。适合个人开发者与对额度敏感的小团队,不适合需要跨平台统一审计、合规留痕与集中管控的企业环境。