Skip to content

Releases

SysPulse v0.1.13

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 14 Nov 05:25

一. 基础功能优化和 Bug 修复

  • 智能清理进入页面自动开扫(与「软件」/「空间」体验拉齐):点击侧边栏切入「智能清理」且当前处于待机无结果状态(.idle)时自动开始扫描;已扫描出结果、清理完成刚展示释放摘要(.cleaned)或扫出 0 项时保持原状不打断,主动点过「取消」后本次打开期间切走再切回也不再强行重扫。
  • 清理设置新增独立开关:在清理设置弹窗的「扫描行为」卡片中新增 「进入清理页时自动扫描」 开关(默认开启,持久化记忆),不想每次自动扫描时可随时关闭。
  • 大幅减少白耗电与无谓画面重绘:
    • 主界面健康度光环改用 GPU 原生 .phaseAnimator 呼吸动效,小波形图(MiniWaveformLine、DualSparklineView)去掉轮询重绘,降低日常 CPU 刷新开销;
    • 风扇图标在转速 rpm <= 0 静止时彻底停止转动画图(运转时按 20 FPS 旋转),头部未旋转图标与未激活模块徽章静止时不空转;
    • 去掉空间/面板里的随机占位假进程列表,改为共享 AppIconLookupCache(NSCache)复用应用图标,减少反复查找与内存占用。
  • 修好窗口/事件监听器泄漏与后台空转:
    • 「屏幕清洁遮罩」每次启动前先清理上一次的键盘监听器,避免多次开启后监听叠加;
    • 「实时活动连接窗口」关闭或隐藏时自动停止后台刷新定时器,并接入系统休眠前统一暂停、唤醒后仅在窗口可见时恢复刷新;
    • 菜单栏弹窗关闭时同步重置网络详情子页面导航状态。
  • 修好卡顿、管道阻塞死锁与逻辑小 Bug:
    • 系统诊断弹窗不再在界面渲染 body 时同步阻塞采集数据,改为打开后再异步采集,并修好 SIP 状态、tmutil 快照、system_profiler 等系统命令的管道读取顺序避免偶发卡死;
    • 网络监控首次测速完成前显示 -- 与 测量中…(不再先亮假初始数字),物理网卡主 DNS 优先级上移,为 nettop / lsof / ping 加上单飞防重入与限频;
    • 应用卸载增加「扫描中/卸载中」互斥防连点保护;空间分析换用线程安全取消锁(ScanCancellationBox)。
  • 清理、OTA 自动更新与命令安全全面加固:
    • 系统清理:白名单补全 Safari 容器缓存、Xcode/Archives、.cocoapods/cache、.gradle/caches,不再跳过 app 包内可清缓存,容量统计优先按磁盘实际占用计算,同时拿掉扫盘末段多余的 2.5 秒人为等待;同时加入 软链接防逃逸校验——遇到符号链接只删链接本身,绝不顺着软链接去统计或删外部真实目录;
    • OTA 应用内更新:下载与解压目录迁至 0700 权限的用户私有缓存 ~/Library/Caches/com.rabbit.syspulse/OTAUpdate,替换安装前强制 codesign --verify --deep --strict 校验并核对 com.rabbit.syspulse 签名标识,正确管理取消下载时的 URLSession,并修好带 _Test 测试后缀版本号的新旧大小比较逻辑;
    • 提权与构建安全:公网 IP 接口全面升级 HTTPS,Info.plist 中 ATS 从 NSAllowsArbitraryLoads 收紧为 NSAllowsLocalNetworking;补全多处特权命令 Shell 单引号与 AppleScript 参数转义、修复 Fan Helper 管道死锁;清理源码中的本地开发机路径残留,默认打包切换为 release 模式。

二. 菜单栏动态兔子健康卡片与真实系统版本修复

  • 菜单栏健康卡片升级「动态矢量兔子动画」:
    • 替换掉原来 15pt 的旋转小太阳,换成左侧全高 72×72pt 视口的原生动态矢量兔子动画(MenuBarHealthRabbitView),增大健康度展示区;
    • 根据 4 档健康状态(很好 / 良好 / 一般 / 需要留意)切换对应光晕、双圈声呐涟漪与星芒/光球特效。
  • 「百天开机也不乱换行」双行等宽硬件胶囊:
    • 右侧规格标签重构为两行等宽对齐布局:第一行显示 [芯片型号] · [逻辑核数] · [内存容量],第二行显示 [macOS 版本] · [已运行时间],搭配等宽数字(.monospacedDigit())与自适应缩放,就算连续开机 100 天以上也不会空间不够或左右错位换行。
  • 修好系统版本读取偏差:
    • 统一优先读取系统 /System/Library/CoreServices/SystemVersion.plist(兜底 sysctl kern.osproductversion / kern.osversion),保留完整三段版本号与 Build 号,彻底修复菜单栏健康卡片、主界面状态总览、系统诊断弹窗、版本号栏及 --self-test 显示版本号不准或被截断的问题。

三、PS Portal 串流画质增强插件(v0.1.2 → v0.1.3)

  • 待机也能唤醒并找出来:Portal 放在一边待机时,Wi-Fi 会进入深度省电休眠,以前扫网经常扫不到。现在改成 两段式无线 DTIM 唤醒:先向已记录的 PS5 / Portal IP 发 ICMP + TCP(9295/443/80)+ UDP(5353/9302)唤醒包并全网并发扫描(等待 450ms);如果待机 Portal 还没醒来入表,自动补发第 2 轮 ICMP + TCP 9295/443 唤醒包并再等 500ms(总计约 950ms 窗口),大幅提升待机状态下的检出率。
  • 硬件号段全覆盖,同时不误认电视音响:从以前只匹配 2 个 Portal OUI 扩展为 全量 46 个 Sony Interactive Entertainment(SIE 互动娱乐)游戏硬件号段 + 全量 142 个索尼 OUI 号段,结合 PlayStation DDP(UDP 9302)、设备自报主机名含 portal、历史保存 IP 四信号联合判定;同时自动排除索尼 BRAVIA 电视、回音壁/音响、Xperia 手机、相机、投影仪等非掌机设备。
  • 特权中继目录与文件安全加固(0.1.13_Test1 起):portal_engine 把原先放在 /tmp 下的 PID_FILE 与 STATE_FILE 迁入 root 属主的 /Library/Application Support/SysPulse/,配合 O_NOFOLLOW、lstat 属主与权限校验防止软链接顶替;运行日志改写到 ~/Library/Logs/SysPulse/psportal.log,并修复父进程日志句柄泄漏与 restoreNetworkDirect() 管道读取顺序问题。

四. 局域网 ARP 嗅探插件(v0.1.1 → v0.1.2)

  • 内置官方 5.4 万条 IEEE OUI 厂商库 + 随机 MAC 识别:
    • 打包内置完整 ieee_oui.tsv(涵盖 MA-L / MA-M / MA-S 共 54,466 条权威记录),按 36 位 → 28 位 → 24 位 最长前缀精准匹配;自动识别手机/电脑开启「私有无线局域网(随机 MAC)」的情况并如实标注,彻底告别以前硬编码 OUI 表导致的大面积乱认厂商问题。
  • 四协议设备主动自报探测:
    • 扫描局域网时主动通过 路由器 DNS PTR、mDNS/Bonjour、SSDP/UPnP XML、NetBIOS 四种协议询问设备真实名称与型号,自报信息优先显示;同时内置如 Shenzhen Zhangyue → iReader(掌阅电纸书,匹配书本图标)等品牌识别映射。
  • 界面内「自定义厂商」+ 全局「厂商规则」:
    • 点开任意设备行的编辑框,可直接修改「设备名」与「自定义厂商」,还能勾选 「同步将所有同类厂商设备统一映射为此厂商名称」 一键生效;
    • 点击工具栏 「厂商规则」 按钮可集中增删「原厂商关键词」或「MAC 前缀(如 d0:da:24:5)→ 目标厂商」规则,写进本地配置文件长期保留,修改或删除后列表实时刷新无需重新扫网。
  • 列表视觉与版本号同步:
    • 取消编辑设备后刺眼的「自定义」小胶囊标签;
    • 「厂商 / 接口」列文字过长时自动平滑左右往返滚动显示完整内容;
    • 局域网 ARP 嗅探卡片与详情页版本号同步更新为 v0.1.2,统一规范设备 MAC 档案持久化键名。

SysPulse v0.1.12 · 首个开源正式版

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 12 Nov 03:06

新增与优化

  • 网络详情与物理网卡识别修复

    • 修复开启代理 / VPN(utun*、wg*、ppp* 等虚拟隧道)时将虚拟网卡误识别为物理网卡的问题,准确还原真实出口物理网卡(以太网 / Wi-Fi / 雷雳网桥)、内网 IP 与默认网关,并保留独立的 VPN 状态指示。
    • 修复网速统计与测速采样把物理网卡和虚拟隧道流量重复累加导致的速率翻倍问题。
    • 主窗口与菜单栏弹窗「网络详情」新增 网关 IP 与 DNS 展示(默认优先读取物理网卡真实主 DNS),并统一指标文案为:内网 IP、外网 IP、网关 IP、DNS。
    • 调整主窗口「网络详情」卡片对齐与弹性行高布局,使标题距上边缘、标题距首行、底行距底边间距保持一致(12pt)。
  • 局域网活动设备 ARP 嗅探召回率提升

    • 探活流量强制绑定当前所选物理网卡(IP_BOUND_IF / IP_MULTICAST_IF),并基于选中网卡真实子网掩码推算待探测主机范围,避免在开启 VPN 或双网卡环境下扫描走偏。
    • 由单轮突发扫描升级为「mDNS / SSDP 组播唤醒 + 分批限流 UDP + 多轮 ICMP / 轻量 TCP SYN 补测 + 渐进式增量刷新」,显著提升 Wi-Fi 省电设备与智能家居设备的发现率。
    • 移除静态本机 IP 与网关名称硬编码(改为按活跃网卡集合与路由器 OUI 精准识别),补充内核 ARP 路由表 rtm_addrs 解析边界保护与扫描取消令牌。
  • 功耗、稳定性和线程安全改进

    • 修复启动阶段 PowerSourceEngine 与 SystemResourceMonitor 之间的 dispatch_once 单例循环死锁崩溃问题。
    • 新增 SystemSleepCoordinator,在系统休眠前自动暂停传感器/电源/蓝牙/风扇轮询并强制落盘当日流量数据,唤醒后恢复运行。
    • 优化 UPS HID 遥测采集与轮询降频策略,以及网络流量持久化、SMC Key 探测与系统容量查询的节流缓存,减少空闲唤醒。
    • 优化卸载删除异步化、空间分析状态锁保护、睡眠/退出时联动停止 portal_engine 等基础稳定性细节。

SysPulse v0.1.11

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 11 Nov 05:21

新增与优化(PS Portal 串流画质增强模块 v0.1.2)

  • 新增方案 A / B 双模式切换(默认方案 A):
    • 方案 A:单向视频直连(推荐):仅劫持 Portal 上行握手请求,下行视频流全程直连 PS Portal,不经过 Mac 中转限速。
    • 方案 B:双向遥测验证:捕获 PS5 协议确认与目标码率遥测回报,开播后自动提前交还直连。
  • 兼容 Takion 分片 LaunchSpec 载荷:修复应用层拆包为两个 1226B UDP/9296 报文时未命中注入模板的问题,稳定支持 65 Mbps / 100 Mbps / 200 Mbps 目标码率注入。
  • PlayStation DDP (UDP 9302) 设备识别:局域网扫描主动探测并精准区分 PS5 主机与 PS Portal 掌机,支持多网卡 IP_BOUND_IF 绑定与跨网段智能更新 IP。
  • 底层 BPF 与安全性优化:移除混杂模式并启用内核级 BIOCSETF 过滤,收敛 sudoers 权限与严格参数校验,优化无 en0 场景 --restore 恢复与控制台 300 行日志自动滚动体验。
  • 界面调整:放大并对齐「网络参数与设备 IP」区域控件尺寸与底部间距。

SysPulse v0.1.10

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 10 Nov 14:02

✨ 改进与优化

  • 统一重构 PS Portal 与局域网 ARP 嗅探的活跃网卡检测
    • 过滤掉未插网线、未启用或未分配有效 IPv4 的空闲/虚拟接口(IFF_UP + IFF_RUNNING + 有效 IPv4),只展示当前真实活跃的物理网卡。
    • 结合系统 SCNetworkInterfaceCopyAll() 与默认网关路由自动置顶并默认锁定当前活跃出口网卡,修复 Mac Studio 等多网口设备有线/无线接口识别不准或固定停留在旧接口的问题。
    • 若用户在菜单手动切换网卡且该网卡后续离线,下次刷新或扫描时会自动回退到当前活跃默认网卡。
  • 网卡选择器与界面展示升级
    • PS Portal 工作台与局域网 ARP 嗅探工作台统一使用带在线状态指示点、接口名 · IP(如 en0 · 192.168.x.x)及「重新检测活跃网卡」功能的下拉菜单;总览卡片底部同步展示当前网卡与 IP。
    • 简化无线网卡显示标签为「无线局域网」。
    • 进入插件页或点击扫描设备时自动重新探测活跃网卡。

SysPulse v0.1.9

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 10 Nov 13:04

本版本将 PS Portal 串流画质增强 彻底重构为纯原生 Mach-O BPF 引擎,不再依赖 Python 或 Xcode Command Line Tools,并修复了校验和字节序与重复索要管理员密码的问题。

✨ 核心更新

  • PS Portal 原生 C BPF 引擎(免 Python / 免 Xcode CLT)

    • 内置原生编译的 portal_engine 二进制,移除运行时对 /usr/bin/python3 及 xcode-select 的依赖;局域网设备扫描同步改为原生并发 ping + 系统 arp 表读取。
    • 中继阶段通过用户态 BPF 双向转发 Portal ↔ PS5 流量,并临时关闭内核 IPCTL_SENDREDIRECTS 与 IPCTL_FORWARDING;结束或中断时自动复原系统网络参数并发送 5 次反向 ARP 帧恢复点对点直连。
    • 新增 --stop 与 --check-privilege 控制参数,支持停止监听时优雅恢复路由并退出后台特权进程。
  • 协议注入准确性与协商状态判定升级

    • 修复修改 LaunchSpec 握手包后重算 UDP / IPv4 校验和缺少 htons() 字节序转换的问题。
    • 引入 PS5 回包 Protobuf 状态解析,跟踪 BANG(Key Accepted)、串流启动及连续 3 次高码率质量回报(对应 65 / 100 / 200 Mbps 目标阈值),并区分确认成功、未达 3 次确认阈值(UNCONFIRMED)与未捕获握手(NOT APPLIED)。
    • 支持对重复握手序列去重记录与 120 秒单调时钟协商倒计时,避免旧会话误判。

🐛 问题修复

  • 修复每次启动画质增强都需要重复输入管理员密码
    • 此前写入 /etc/sudoers.d/syspulse_portal 的通配规则不符合 sudoers 绝对路径语法,导致免密通道未生效。
    • 现由 portal_engine --install-sudoers 在提权时对可执行文件绝对路径进行合法转义,并经 /usr/sbin/visudo -cf 校验通过后原子写入 /etc/sudoers.d/syspulse_portal(0440)。重装本版本并首次授权一次后,后续启动与停止均可静默免密执行。

SysPulse v0.1.8

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 10 Nov 10:39

新增功能

1. 开机自启动与系统权限管理扩展

  • 基于 ServiceManagement (SMAppService.mainApp) 接入开机自启动管理,首次启动默认注册登录启动项,并通过持久化开关 (SP_LaunchAtLogin_Preferred) 记录用户的开启或关闭设置。
  • 在「系统设置 → 系统权限与授权状态检查」中新增「开机自启动授权 (Login Items)」开关行,当系统需要人工确认时提供「前往登录项允许」快捷入口并轮询同步授权状态。
  • 在「系统权限与授权状态检查」中新增「风扇控制特权授权 (SMC Helper)」检测与一键授权入口,用于检测 Helper 安装状态与版本并触发管理员授权。

修复与改进

2. 支持 PROLED MacBook Pro SMC 传感器读取与风扇控制

  • 修正 SMC 通讯结构体对齐:将 AppleSMCReader 的请求与响应缓冲修改为标准 80 字节 C ABI 内存布局,解决此前 76 字节对齐偏差导致 IOConnectCallStructMethod 返回 kIOReturnBadArgument (-536870206) 的问题。
  • 补充 M5 系列温度传感器键:在 AppleSMCReader 中新增 Tp00、Tp04、Tp08、Tp0C、Tp0G、Tp0a(CPU)与 Tg08、Tg0C、Tg0O、Tg0R、Tg0a(GPU)传感器键读取支持。
  • 修正风扇识别与转速展示:
    • 移除 SMC 读取失败时对笔记本电脑的被动散热误判分支,在硬件监测与 Doctor 诊断报告中依据真实 FNum 与 F0Ac/F1Ac 输出风扇数量和转速;对于支持停转策略的机型,在 0 RPM 时显示为 standby 状态而非 passive cooling。
    • 多风扇存在单侧停转时,按运转风扇计算均值转速;风扇处于 0 RPM 时停止图标旋转,主界面与菜单栏转速百分比约束在 0%–100%,并支持模式切换后强制即时采样刷新。
  • 修复 Apple Silicon 风扇控制写入与 Helper 版本机制:
    • 更新 SysPulseUPSHelper:写入风扇模式及上下限时同时探测小写(F%dmd / F%dmn / F%dmx)与大写(F%dMd / F%dMn / F%dMx)SMC 键;仅在存在 Ftst 时执行解锁;针对 thermalmonitord 增加最多 5 次的写入回读确认重试机制,并在未受控任何风扇时返回非零退出码。
    • 在 SysPulseUPSHelper 新增 --version 协议输出,由 SystemPermissionManager 与 FanController 统一校验所有者、setuid 权限位及协议版本,兼容旧版自动升级且跨后续兼容版本免重复授权。
    • FanController 在「降温 / 强冷」模式下启用 10 秒周期后台保活续写,并在应用退出时自动恢复系统 Auto 模式。

3. 外置磁盘安全推出权限(Apple Events)

  • 在 Info.plist 中补充 NSAppleEventsUsageDescription 描述字符串,使首次请求自动化权限时正常弹出 macOS 系统允许提示框。
  • 修正 SystemPermissionManager 中 AEDeterminePermissionToAutomateTarget 的返回码分类,并在打开系统设置「隐私与安全性 → 自动化」后启动轮询同步授权状态。

4. 应用包分层代码签名与校验流程

  • 修改 scripts/build_app.sh 签名顺序:先分别为嵌套二进制 SysPulseUPSHelper 与 portal_engine 独立签名,再对 SysPulse.app 主包执行不带 --deep 的签名并保留 com.rabbit.syspulse 指定需求,解决 --deep 覆写子二进制导致外部下载后提示“已损坏,无法打开”的问题。
  • 在打包脚本末尾加入 codesign --verify --deep --strict 校验步骤,确保输出的 .app 与 .dmg 通过签名完整性验证。

5. PS Portal 串流画质增强模块(v1.0.1)

  • 修复设备处于休眠或未点击连接 PS5(修改启动包数为 0)时仍打印成功报告的问题:严格依据报告中的 unique_mutated_sequences 与 high_target_confirmed 字段区分「生效」「未确认」「未生效」,并在失败或未确认时写入界面警告横幅。
  • 将握手连接等待窗口由 35 秒延长至 120 秒(总采样窗口 125 秒),并在状态徽章、遥测控制台标题栏与当前准备提示行同步实时倒计时。
  • 移除 Swift 侧重复的 [提示] 日志追加逻辑,避免与 Python 输出的 [准备] 行重复。

SysPulse v0.1.7

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 10 Nov 07:36

新增功能与模块架构

  • 新增「模块中心」
    • 新增模块中心总览页与 4 个功能模块的按需开关机制。
    • 首次安装后 4 个功能模块默认为未启用状态;未启用时不创建后台定时器、不读取硬件接口句柄、不发起局域网扫描。
    • 停用模块后自动释放对应后台任务与状态数据。
  • PS Portal 串流画质增强模块
    • 集成针对 Portal 与 PS5 UPD 握手协议的码率修改功能,支持选择 65 Mbps、100 Mbps、200 Mbps 档位。
    • 支持扫描并自动填入 PS5 与 PS Portal IP 地址,握手协商完成后自动结束监听并恢复局域网直连。
  • Wi-Fi 低延迟模块
    • 将 Wi-Fi 低延迟开关统一收拢至模块中心,移除状态页、网络监控页、测速卡片与菜单栏中的入口。
    • 支持切换 awdl0 接口状态以暂停系统后台空中扫描;停用模块或退出应用时自动恢复。
  • 局域网活动设备模块
    • 读取系统内核 ARP 缓存表与物理网卡接口,列出设备名称、IP 地址、物理 MAC 地址、厂商与接口名称。
    • 设备列表按 IPv4 地址数字升序排列,支持点击复制 IP / MAC 地址、关键字搜索过滤、单台设备改名及上传本地图片作为图标。
    • 支持导入华硕路由器导出的 DHCP 静态分配备份文件(.csv),按 MAC 地址批量匹配更新设备名称。
  • UPS 电源管理模块整合与供电联动
    • 将原系统设置、应用图标菜单与系统菜单栏中的 UPS 入口整合至模块中心统一管理。
    • 当 UPS 电源管理模块处于未启用状态时,状态页与菜单栏默认显示「AC 供电」(Mac 台式机)或「电池」(MacBook);启用后接入外置 UPS 时切换显示为「UPS 供电」。
    • 断电阈值采用分段式滑块控制;「外置硬盘逃生舱」调整为两列卡片布局并支持单盘单独推出。

界面调整

  • 顶部导航栏:采用居中胶囊布局与标签切换滑动效果,支持跨标签连续拖拽切换。
  • 深浅色模式适配:补全模块中心设备编辑抽屉、预设图标选择栏与表格胶囊在浅色模式下的文字与背景配色。
  • 表头与边距对齐:对齐局域网活动设备列表表头与各数据列,统一列间距并使左右边距对称;菜单栏「AC 供电」图标颜色调整为与状态页一致的绿色。

问题修复与清理调整

  • 修复网络流量趋势并发闪退:为 NetworkTrafficPersistenceManager 增加 NSLock 读取保护与原子快照 currentSnapshot(),并将 NetworkMonitorViewModel 中的 hourlyTrafficMB 改为 @MainActor 主线程快照存储,消除柱状图渲染与后台写入并发竞争导致的 EXC_BAD_ACCESS 闪退。
  • 清理引擎步骤调整:将废纸篓扫描项调整为「需复查」类别,清理流程拆分为常规项目与废纸篓清空两阶段执行。

SysPulse v0.1.6

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 09 Nov 11:25

🚀 性能优化与体验提升

  • 更新下载重构为系统级高效块级流 (URLSessionDownloadTask)
    • 彻底重构底层下载架构,改由操作系统底层 Socket 直接缓冲写入磁盘,彻底释放 CPU 协程调度瓶颈,网络吞吐直接跑满带宽;
    • 引入 80ms 主线程渲染节流保护,下载过程中平稳呈现高精度的百分比与实时已下载大小,杜绝主线程 RunLoop 卡顿。
  • 更新弹窗智能状态保持
    • 优化更新检查机制,后台已就绪新版本时点击打开弹窗直接平滑呈现,去除无谓的二次重置逻辑,彻底消除打开更新弹窗时的闪烁跳变。
  • 跨版本稳定代码签名 (Designated Requirement)
    • 在代码签名体系中显式注入固定的指定签名规则(designated => identifier "com.powerglass.SysPulse");
    • 彻底解决以往因无证书临时自签名的二进制哈希(cdhash)变动导致系统 TCC 权限失效的问题,后续版本升级后「完全磁盘访问权限」持久保留,不再反复弹窗索权。

🗑️ 废纸篓深度治理与修复

  • 全卷废纸篓聚合扫描(内置盘 + 外置盘)
    • 自动递归遍历系统内置盘(~/.Trash)及所有已挂载外置硬盘、扩展分区(/.Trashes/<UID>),合并统计真实占用容量,彻底解决外置盘废纸篓内容漏检、检测容量偏小的问题。
  • 委托系统原生访达清空
    • 废弃直接在文件系统调用容易被 macOS TCC 内核拦截的底层删除接口,改用 macOS 原生访达委托机制(empty trash);
    • 拥有系统级最高清空特权,无需额外索取高危权限即可彻底清空全卷废纸篓,并即时联动更新程序坞右下角废纸篓图标为空。
  • 废纸篓精准定位修复
    • 修复此前因以点号开头的隐藏文件夹导致访达退化打开 /Users/用户名/ 根目录的问题;
    • 点击「定位」将精准唤起系统原生、包含工具栏的「废纸篓」专属窗口。

SysPulse v0.1.5

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 09 Nov 07:24
  • 新增原生 Markdown 富文本更新日志渲染器:
    • 多级标题 (# / ## / ###):自动解析为带上下留白的加粗小节标题。
    • 多级无序列表 (- / -):一级列表使用青色实心圆点 • 配合悬挂缩进,二级嵌套列表使用空心圆点 ◦ 与层级缩进。
    • 有序列表 (1. / 2.):使用等宽青色序号高亮对齐。
    • 行内样式 (**加粗** / *斜体* / `代码`):自动解析行内属性,行内代码渲染为浅青色底衬的等宽胶囊字体。
    • 分隔线 (---) 与引用块 (>):渲染为原生细分隔线与左侧青色竖条卡片。

SysPulse v0.1.4

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 08 Nov 07:05

✨ 新增功能

  • MacBook Air 无风扇机型自适应「静音散热」卡片
    • 自动识别 MacBook Air 等被动散热机型与 SMC 零风扇架构,主窗口与菜单栏弹窗中的「风扇」卡片将自适应切换为 「静音散热」热工况卡片。
    • 展示雪花呼吸微动效图标、零噪音 0 dB 胶囊标签、实时被动均热温度(清凉 / 温热 / 高热)以及三档热工况指示器,彻底去除无风扇机型上的模拟兜底转速读数与无效调速按钮。
  • 全界面精致微动效系统
    • 健康度兔子徽标柔光波纹:兔子徽标保持沉稳静止,外圈新增双层慢速、小范围向外扩散的液态柔光涟漪,并随系统健康状态(良好 / 关注 / 高负载)自适应切换光晕色彩。
    • 真实 RPM 联动旋转风扇图标:有风扇机型的主窗口与菜单栏弹窗风扇图标现已支持随实时转速(RPM)无级平滑旋转,转速越高旋转越快,停转时平滑静止。
    • 实时波形末端脉冲光点:CPU 负载、内存趋势及上下行网络速率折线图末端新增呼吸闪烁的实时采样光点,直观呈现数据流动感。
    • 核心工具 3D 徽章声呐动效:「清理工具」「应用卸载」「空间分析」三大模块的 50pt 3D 图标在待机时呈现轻柔呼吸悬浮,扫描时自动激发向外扩散的双层声呐扫描波纹。
  • 完整 macOS 原生应用顶部菜单栏
    • 新增完整的系统级顶部菜单栏支持(包含 SysPulse 主菜单、编辑、模块 (⌘1~⌘5) 与 窗口 (⌘M / ⌘W) 快捷键支持)。

🎨 优化与改进

  • Bento 宣传海报与 README 视觉焕新:同步升级 v0.1.4 正式版界面渲染海报与 README 功能说明文案。
  • 前台与菜单栏常驻模式平滑切换:优化主窗口开启与关闭时的应用激活策略(Activation Policy),兼顾前台完整菜单栏体验与关闭窗口后的零 Dock 图标后台常驻体验。

🐛 问题修复

  • 修复选中主窗口时系统左上角苹果 Logo () 与顶部菜单栏无法点击的问题:移除 Info.plist 中导致菜单栏焦点挂起的 LSUIElement 冲突配置,并修复窗口唤醒时的焦点抢占逻辑。
  • 修复无风扇机型显示模拟风扇转速的问题:修复 AppleSMCReader 在无 FNum 传感器键的机型上回退至温度公式计算模拟 RPM 的逻辑缺陷。

📦 下载与安装

  1. 下载下方 Assets 中的 SysPulse-v0.1.4.dmg(约 15 MB)。
  2. 双击打开 DMG 镜像,将 SysPulse.app 拖入 `Applications