Skip to content

Releases: Mofan2020/DeepSleep

v1.9.2

Choose a tag to compare

@github-actions github-actions released this 29 Oct 11:04

v1.9.2

修风扇和监控页面的几个问题。

  • CPU 占用率
    之前取 CPU 时间的那个接口在 macOS 27.2 上读出来的数小很多,机器跑满了监控页还是接近 0。整机占用改成读内核的总账,单个进程改成读 Mach 的线程接口。现在显示的数跟系统监视器对得上。

  • 风扇一直写不进的时候
    风扇连续 60 秒改不动转速(写入失败,或者写完读回的目标转速跟预期不一样),就停止改它的转速,交回系统自动控制。之前是每几秒重试一次,永远失败,风扇还可能停在一个不合适的转速上。

  • 交还控制权也失败
    这种情况下风扇可能卡在一个我们控制不了的状态。会发系统通知,风扇页也有常驻的警告条。

  • 调速参数存下来了
    之前配好规则,切到别的页面再回来,参数就变回原来的样子,重启应用也一样。现在存在磁盘上。

  • 温度告警可以设到 90°C 以上
    之前有个限制不许超过 90°C,理由是 90°C 兜底会接管风扇。兜底管的是风扇转速,告警该报还是要报,两件事没关系。

  • 写风扇转速的校验
    写完目标转速立刻读回来,读到的是上一个值,风扇要一两秒才爬到目标。现在会重试几次再判定。

  • 告警规则的观察者
    之前规则能触发、界面也能记录,但系统通知和邮件不发。两条消费者共用一个回调,后者把前者覆盖了。现在分开。


v1.9.1

换掉应用图标。功能与 v1.9.0 相同。

  • 新图标
    原来那个「月相表盘」有两个主体 —— 蓝色玻璃钟盘加一枚金色月牙。钟是白天的符号、月亮是夜晚的符号,互相打架;月亮还被钟盘啃掉一块,糊成一坨脏色。图标在 Dock 里只有 32 到 64 像素可看,12 根刻度会变成毛刺、指针会糊成黄斑。

    现在只剩一枚月牙:冷蓝到淡紫的渐变,外缘一道亮边撑出体积感,下方一层很淡的投影,背景撒三颗星。

  • 配色改了
    从奶油金换成冷蓝紫。Dock 里一堆橙色图标,冷色更容易一眼认出来。

  • 32 像素下也认得出
    试过给月牙外面加一圈光环,小尺寸下会糊成一圈灰边,比没有更脏,所以没留。


v1.9.0 引入的功能(本次一并包含)

  • 温度监控
    新增「温度监控」页,列出 SoC、电池、存储等传感器的实时读数。同一传感器的多条通道合并成一行,取其中最高值。读取温度不需要完全控制权限,特权助手没就绪时这一页照样可用。

  • 风扇控制
    三种模式:交给系统、固定转速、按规则调速。按规则调速需要三个参数:目标风扇、最低温度、最高温度。低于最低温度用最低转速,高于最高温度用最高转速,中间随温度线性变化。

  • 90°C 强制最大转速
    任一传感器达到 90°C,所有风扇立即拉到各自最大转速,压过你设置的任何模式和规则。温度回落到 90°C 以下后仍保持 60 秒再恢复原模式,避免在阈值附近反复启停。

  • 风扇控制需要先同意免责声明
    风扇转速通过 SMC 写入,属于苹果未公开的接口。不同机型的键名与转速区间不一致,写错可能让风扇停转或异常加速。未同意前,所有写入风扇的控件禁用。

  • 手动模式有租约保护
    写入转速后由特权助手按 15 秒租约维持,应用每 5 秒续期一次。应用退出、崩溃或被强制结束后,风扇自动交回系统控制,不会停在一个固定转速上。

  • 自定义告警规则
    新增「告警规则」页,可自定指标、比较方式、阈值、持续时间和动作。指标覆盖 CPU 使用率、内存使用率、单进程内存、CPU 温度、磁盘使用率。条件连续满足设定时长才触发,掉回条件内重新计时。规则只发告警,不结束进程。

  • 阻止外部磁盘空闲休眠
    电源设置页新增高级选项。外置硬盘不会因为长时间无操作转入低功耗状态,避免传输中断与唤醒延迟。这一项不阻止系统睡眠,也不能阻止电池耗尽时关机。

  • 排定唤醒支持多条与循环
    可以排定多条一次性唤醒,也可以按每周固定几天循环唤醒。取消只作用于 Deep Sleep 自己排的那一条,不再清除其它程序排定的唤醒。

  • 排定状态与实际对账
    每次变更后读回系统的排定列表并对照显示。设置不生效时如实呈现,不假设设了就一直生效。

v1.9.1

v1.9.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 11:47

v1.9.1

换掉应用图标。功能与 v1.9.0 相同。

  • 新图标
    原来那个「月相表盘」有两个主体 —— 蓝色玻璃钟盘加一枚金色月牙。钟是白天的符号、月亮是夜晚的符号,互相打架;月亮还被钟盘啃掉一块,糊成一坨脏色。图标在 Dock 里只有 32 到 64 像素可看,12 根刻度会变成毛刺、指针会糊成黄斑。

    现在只剩一枚月牙:冷蓝到淡紫的渐变,外缘一道亮边撑出体积感,下方一层很淡的投影,背景撒三颗星。

  • 配色改了
    从奶油金换成冷蓝紫。Dock 里一堆橙色图标,冷色更容易一眼认出来。

  • 32 像素下也认得出
    试过给月牙外面加一圈光环,小尺寸下会糊成一圈灰边,比没有更脏,所以没留。


v1.9.0 引入的功能(本次一并包含)

  • 温度监控
    新增「温度监控」页,列出 SoC、电池、存储等传感器的实时读数。同一传感器的多条通道合并成一行,取其中最高值。读取温度不需要完全控制权限,特权助手没就绪时这一页照样可用。

  • 风扇控制
    三种模式:交给系统、固定转速、按规则调速。按规则调速需要三个参数:目标风扇、最低温度、最高温度。低于最低温度用最低转速,高于最高温度用最高转速,中间随温度线性变化。

  • 90°C 强制最大转速
    任一传感器达到 90°C,所有风扇立即拉到各自最大转速,压过你设置的任何模式和规则。温度回落到 90°C 以下后仍保持 60 秒再恢复原模式,避免在阈值附近反复启停。

  • 风扇控制需要先同意免责声明
    风扇转速通过 SMC 写入,属于苹果未公开的接口。不同机型的键名与转速区间不一致,写错可能让风扇停转或异常加速。未同意前,所有写入风扇的控件禁用。

  • 手动模式有租约保护
    写入转速后由特权助手按 15 秒租约维持,应用每 5 秒续期一次。应用退出、崩溃或被强制结束后,风扇自动交回系统控制,不会停在一个固定转速上。

  • 自定义告警规则
    新增「告警规则」页,可自定指标、比较方式、阈值、持续时间和动作。指标覆盖 CPU 使用率、内存使用率、单进程内存、CPU 温度、磁盘使用率。条件连续满足设定时长才触发,掉回条件内重新计时。规则只发告警,不结束进程。

  • 阻止外部磁盘空闲休眠
    电源设置页新增高级选项。外置硬盘不会因为长时间无操作转入低功耗状态,避免传输中断与唤醒延迟。这一项不阻止系统睡眠,也不能阻止电池耗尽时关机。

  • 排定唤醒支持多条与循环
    可以排定多条一次性唤醒,也可以按每周固定几天循环唤醒。取消只作用于 Deep Sleep 自己排的那一条,不再清除其它程序排定的唤醒。

  • 排定状态与实际对账
    每次变更后读回系统的排定列表并对照显示。设置不生效时如实呈现,不假设设了就一直生效。

v1.9.0

v1.9.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 11:14

v1.9.0

新增温度监控、风扇控制、自定义告警规则,排定唤醒支持多条与循环。

  • 温度监控
    新增「温度监控」页,列出 SoC、电池、存储等传感器的实时读数。同一传感器的多条通道合并成一行,取其中最高值。读取温度不需要完全控制权限,特权助手没就绪时这一页照样可用。

  • 风扇控制
    三种模式:交给系统、固定转速、按规则调速。按规则调速需要三个参数:目标风扇、最低温度、最高温度。低于最低温度用最低转速,高于最高温度用最高转速,中间随温度线性变化。

  • 90°C 强制最大转速
    任一传感器达到 90°C,所有风扇立即拉到各自最大转速,压过你设置的任何模式和规则。温度回落到 90°C 以下后仍保持 60 秒再恢复原模式,避免在阈值附近反复启停。

  • 风扇控制需要先同意免责声明
    风扇转速通过 SMC 写入,属于苹果未公开的接口。不同机型的键名与转速区间不一致,写错可能让风扇停转或异常加速。未同意前,所有写入风扇的控件禁用。

  • 手动模式有租约保护
    写入转速后由特权助手按 15 秒租约维持,应用每 5 秒续期一次。应用退出、崩溃或被强制结束后,风扇自动交回系统控制,不会停在一个固定转速上。

  • 自定义告警规则
    新增「告警规则」页,可自定指标、比较方式、阈值、持续时间和动作。指标覆盖 CPU 使用率、内存使用率、单进程内存、CPU 温度和磁盘使用率。条件连续满足设定时长才触发,掉回条件内重新计时。规则只发告警,不结束进程。

  • 阻止外部磁盘空闲休眠
    电源设置页新增高级选项。外置硬盘不会因为长时间无操作转入低功耗状态,避免传输中断与唤醒延迟。这一项不阻止系统睡眠,也不能阻止电池耗尽时关机。

  • 排定唤醒支持多条与循环
    可以排定多条一次性唤醒,也可以按每周固定几天循环唤醒。取消只作用于 Deep Sleep 自己排的那一条,不再清除其它程序排定的唤醒。

  • 排定状态与实际对账
    每次变更后读回系统的排定列表并对照显示。设置不生效时如实呈现,不假设设了就一直有效。

v1.8.2

v1.8.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 12:28

v1.8.2

AI 保活改成每天定时,LLM 网关整块隐藏。

  • AI 保活按每日固定时刻发送
    以前是「每隔 N 小时」,窗口边界会跟着实际发送时刻往后漂。现在每天几个时刻、每周哪几天都由你定,窗口边界钉在整点上。
  • 保活不再依赖网关
    网关可能被移除,保活自带 HTTP 客户端、钥匙串存取与错误类型,两者互不影响。
  • 发送时刻与运行日
    每条任务可配一天里的多个时刻(默认 09:00 与 14:00)和每周运行日(默认周一到周五)。没选中的那几天不发请求。
  • 旧配置自动迁移
    原来按间隔配的任务会换算成一天里的几个整点,不会丢。
  • 默认请求模板
    从只有一个 ping 改成「测试消息,直接回复 'ping' 即可」,模型知道要做什么。
  • LLM 网关整块隐藏
    侧边栏入口、工具箱卡片、免责声明弹窗全部移除,功能不参与编译,源码保留待定去留。用户完全看不到这个功能存在。

v1.8.1

Choose a tag to compare

@github-actions github-actions released this 24 Oct 09:58

v1.8.1

修复 v1.8.0 带出的几个问题。

  • AI 保活并发重复请求
    点「立即发送」原本不受正在进行的请求保护,连点或与定时发送撞上会重复发出去。现在同一任务同时只允许一个请求在飞。
  • 工具箱排序数据
    ToolboxLayout 的 JSON 解码绕过了排序归一化,直接解码会拿到含未知工具或缺工具的数据。现在解码后也走一遍归一化。
  • 配置写盘键序不固定
    保活配置与监控配置的 JSON 没有固定键序,「配置和默认值是否相同」的判断会随机出错。现在写盘固定键序,字节稳定。
  • 结构体归位
    MonitorConfig 的定义搬到 MonitorConfig.swift,文件名和内容对上。
  • 文档校验补盲区
    README 拆成中英双语后,AI 味检查的词表全是中文却去查英文 README,英文里的套话一条都拦不住。现在两份 README 都查,各用对应语言的词表;CLI 参数表也两份都查。
  • 回归套件补全
    回归脚本之前漏掉 idle-time / selfupdate / auto-start-manager / cpu-temperature-decode / cgeventtap 五个既有功能的测试,现在一并收进 scripts/run-all-tests.sh。

v1.8.0

v1.8.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 07:44

v1.8.0

工具收进一个页面,另加 AI 保活与试验性的本机 AI 网关。

  • 工具箱
    侧边栏「工具」段只剩「工具箱」一个入口,所有工具以卡片排在同一页。点图钉把常用工具置顶,「重置排序」恢复默认顺序。进程优先级、Hosts 编辑、Quarantine、AI 保活、AI 网关都在这一页。
  • AI 保活
    按你设的间隔,给你指定的订阅制 AI 服务发一条极短请求,让「从上次使用起算」的滚动窗口不至于闲置到点重置。任务可以配多条,每条填服务地址、请求格式(OpenAI / Anthropic)、模型名、API Key、发送间隔与请求内容。API Key 存进 macOS 钥匙串,模型列表可以从服务端拉,请求内容一键还原默认模板。滚动窗口怎么重置由服务端决定,Deep Sleep 只负责按计划把请求发出去。
  • AI 网关(试验性)
    本机跑一个 OpenAI 格式的转发层,默认监听 127.0.0.1:15999,支持 /health、/v1/models、/v1/chat/completions、/v1/messages。从工具箱第一次进入要先确认一份免责申明:网关会在本机开端口,请求内容与 API Key 都经过这台电脑。服务商增删改、模型切换、用量统计在侧边栏「LLM Gateway」段。
  • 网关配置与 Provider 列表修好
    端口、访问令牌、是否记录请求日志现在会保存下来,重启后仍在。Provider 列表页、模型切换页与配额页以前没有加载数据,现在会读出 Provider 与配额快照。

v1.7.4

v1.7.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 05:27

v1.7.4

CPU 温度告警本期不放出,其它监控项不受影响。

  • 监控页的 CPU 温度项显示为「等待后续更新」,阈值开关与滑块不可用
  • CPU / RAM 过载、单进程 RAM 超阈照常工作

v1.7.3

Choose a tag to compare

@github-actions github-actions released this 18 Oct 00:48

v1.7.3

系统监控页加实时状态显示,服务器模式下自动处理 Top 3 不可勾选。

  • 系统状态卡(监控页顶部)
    CPU、内存、CPU 温度、磁盘用量四列实时显示,下面是 Top 3 CPU 占用进程。数据每 3 秒由 SystemMonitor 更新一次,UI 每秒 Tick 同步重读。
  • 磁盘用量
    根卷(/)的已用 / 总量与百分比。
  • 服务器模式下禁用「自动冻结 Top 3」
    服务器模式期间该 toggle 强制为 false 且不可勾选。冻结后台服务可能造成任务失败。

v1.7.2

v1.7.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 00:06

v1.7.2

邮件告警、自动化扩展、自动更新优化、退出态保留、Quarantine 增强。

  • 退出 Deep Sleep 时保留 assertion 与 disablesleep
    「完全控制」页加开关。开启后退出应用时不释放系统级睡眠断言,也不恢复 pmset disablesleep。进程退出后 helper 侧的断言会一直保留到停用「完全控制」或重启。
  • 邮件告警渠道
    SMTP(465 implicit TLS)直发,密码走 Keychain。监控的过载 / 单进程 RAM 超阈 / CPU 温度过高事件自动发邮件;自动化规则可在「未满足 → 满足」时触发邮件;每类事件独立冷却避免刷屏。
  • 应用退出即重启
    指定 bundle id 进程退出时按配置命令(默认 open -b)自动重启。Deep Sleep 退出后该监听失效。
  • 每周指定时间重启 Mac
    写一个 launchd plist + sudoers 配置(用户 NOPASSWD 跑 shutdown -r now),到点系统自动重启。依赖「完全控制」。
  • 定时执行终端命令
    5 字段 cron(分 时 日 月 周),主进程直接跑 /bin/sh -c,以当前用户身份运行,不走特权助手。
  • 自动更新优化
    错误分类 + 指数退避重试(5s / 30s / 5min);下载带进度条;新增「跳过预发布版本」开关。
  • Quarantine 优化
    .app 文件折叠显示(不再展开内部几千条记录);详细隔离状态(flag / timestamp / agent / UUID 四段全展示);清除时递归清包内所有 quarantine;损坏 .app 多方案快速修复(清 quarantine → ad-hoc 重签 → 全清 xattr → 系统设置引导)。

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 22:57

v1.7.1

Nice 进程优先级页面修复三个问题。

  • 调整…按钮点了没反应
    弹窗改用 sheet,原 alert 装不下 Stepper。
  • 进程名显示不完整
    行布局改为三行:名字自动多行撑开、路径副标题、nice + 按钮。
  • 进程多时滚动卡顿
    分页钳制逻辑从视图计算属性移到刷新 / 搜索 / 每页数变化三处,避免高频重绘重复写状态。Sheet 内附带文本框直接输入 nice 值,不用 Stepper 一格格点。