Skip to content

Pulse 28.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 13:49
6b2552e

28.0.0 — Reach(触手可及)

这一版让托盘里的每件事用鼠标也够得着。之前点一行永远是去终端,详情页唯一的鼠标入口是一个只在
悬停时出现、14 pt 宽的「›」——看不见就点不着;列表过了 12 行要再点「另有 N 个」;终端自动化的提示只能
告诉你去设置里找开关;横幅只能「前往」;全局快捷键只有两个预设。现在:点行身前往,点行尾常驻的「›」
(或 ⌥-点)看详情,指针指到哪行就选中哪行;列表列出每个会话并在面板里滚动;「开启」就在提示旁边;
横幅能直接「忽略」;快捷键自己录。另外修了 27.0 留下的七个问题。

它是一个大版本:事件日志 tool 列的保留值变了——Pulse 自己的标记以 : 开头(:status、
:dismiss),这是一次协议变更(旧的裸 status 只在读 Copilot / OpenCode 的旧行时认)。

读对(修复)

  1. 只有 Pulse 里的忽略会吞掉回声。 「同一次提问 20 秒内的补发不重新变红」只在 Pulse 自己写的忽略
    (done 行 tool 列为 :dismiss)之后生效;厂商自己说「已回答」(OpenCode permission.replied /
    question.replied、Pi ui_prompt_end、Claude elicitation_complete)之后又问同一件事,是真的又问了
    一次,照常变红、发横幅——之前它会被当成回声吞掉。
  2. 登录项先注册,再卸旧的。 旧版本写的 LaunchAgent 只在 macOS 接受了登录项(开着或待批准)之后才卸掉、
    删除;注册失败就留着它、设置不动,开关旁说 macOS 没有接受——人的选择从不丢。
  3. 卸载总是注销登录项。 「卸载 Pulse…」不再依赖可能过时的读数,总是向 macOS 注销(本来关着的注销
    什么都不做)。
  4. 右键菜单不会自己套自己。 菜单开着时再点状态项,不会在菜单里面再弹一次菜单。
  5. ⌘W 关托盘。 托盘开着时 ⌘W 是托盘自己的键(列表上同 Esc,详情页上也直接关),不再落到无边框面板
    上响一声。
  6. 主菜单跟着语言。 在设置里换语言,隐藏的主菜单立刻按新语言重装,不等下次打开设置。
  7. 保留标记不撞工具名。 事件日志 tool 列里 Pulse 自己的标记是 :status(只说还在干活)与 :dismiss
    (Pulse 里的忽略);接收端去掉厂商工具名开头的 :,所以厂商工具名永远拼不出标记,一个真叫 status
    的工具不再被读成状态行。为了重放旧日志,Copilot / OpenCode 行里的裸 status 仍按 :status 读(只有这两个
    Agent 的旧接收端这样写过)。

够得着(新的)

  • 点一行去哪儿,一眼就知道。 点行身(两行都算)= 前往(没有终端可落就打开详情);行尾一列「›」
    约 28 pt 宽、与整行等高,始终画着、始终能点,点它 = 详情;⌥-点行上任何地方 = 详情。键盘不变:
    ↩ 前往,→ / 空格 详情,← / Esc 返回。行上 Agent 名的 tooltip 去掉了(VoiceOver 标签里仍有)。
  • 指针指到哪行,哪行就是选中。 只剩一个高亮,像菜单:指针和键盘移动同一个选中;只有键盘的移动会让
    列表滚动。VoiceOver 里行的默认动作仍是前往,「›」是它自己的「详情」按钮。
  • 详情页每件事只说一次。 主行成了页面头部的标题(至多两行、可选中),下面不再重复;只留一个时钟
    「本回合」(去掉头部的「状态 · 时长」和「开始于」);停滞行的「为什么」就是行的第二行,不再说第二遍。
    问题全文、最近 5 步、最后的消息、错误、目录、落地提示与前往按钮都在。
  • 列表不再折叠。 去掉 12 行上限和「另有 N 个… / 收起」:每个会话都列出,在面板原有的高度上限内滚动;
    打开期间顺序照旧冻结,新行追加在末尾。
  • 「开启」就在提示旁边。 前往只落到 App、而挡在确切落地前的正是关着的终端自动化时,行上和详情页上的
    那句提示旁有一个「开启」:它改的就是设置 → 通用里同一个开关,需要的那一刻征得同意;下一次前往时 macOS
    仍会弹出它自己的「自动化」询问。带按钮的提示停留 20 秒。
  • 横幅上的「忽略」。 「需要你」横幅除了「前往」多了「忽略」:与托盘的 ⌘D 走同一条路(Pulse 自己的
    done,tool 列 :dismiss,横幅撤回),只忽略横幅点名、仍开着的等待;从不回答厂商的提示,也不把
    Pulse 带到前台。
  • 快捷键自己录。 设置 → 快捷键从两个预设换成录制器:点它,按下一个带 ⌘、⌃ 或 ⌥ 的组合(Esc 取消,
    Delete 清除),按 macOS 的写法显示(⌃⌥⇧⌘ + 键);存成 key code + Carbon 修饰键(settings.json 的
    globalShortcut),用 RegisterEventHotKey 注册,不需要任何隐私权限。macOS 自己占着的(⌘Space、⌘Q、
    系统键盘快捷键里开着的那些)或注册不上的,直说「不能使用这个快捷键」,旧的保留。旧设置里的 ⌃⌥Space、
    ⌥⌘P 读作同样的按键;默认仍是关闭。

删掉的

  • 托盘底部的「另有 N 个… / 收起」、TrayState.maxVisibleRows、showAllAgents 与它们的文案。
  • 详情页的「开始于」和它唯一的用户 LogClock(按区域格式化时刻的三个测试随之删除)。
  • 悬停才出现的 14 pt「›」、单独的悬停底色、行上的 Agent 名 tooltip。
  • 快捷键的两个预设(HotkeyChoice)与设置里的「关闭」选项。

已知限制 / 注意

  • 这一版没有在真机上验证过。 代码只在 CI(macos-26)上编译和测试:行尾「›」的点按区域、⌥-点、
    指针选中、横幅的「忽略」、快捷键录制器、「开启」按钮,都没有在一台真的 Mac 上和真的 Agent 一起跑过。
  • 仍是 ad-hoc 签名、未公证的 preview 包。 Developer ID 还没到位。
  • 27.0 写下的忽略没有标记。 27.0 的忽略行 tool 列是空的:升级后启动重放日志时,它们读作厂商的
    「已回答」。于是一个极窄的情况会重新变红:27.0 里忽略了一个等待、Claude 随后对同一次提问的补发也已在
    日志里、而那之后这个会话再没有别的行——重放后它亮红(是启动基线,不发横幅),直到被回答或再忽略一次。
  • 不是每个被占用的全局快捷键都能事先看出来。 Pulse 读 macOS 自己开着的键盘快捷键并拒绝一小份保留
    组合;别的 App 占着的组合只有注册失败时才知道,某些 App 用别的方式截键时 Pulse 看不出来。
  • 快捷键的键名按美式键盘写。 录下的是物理按键(key code);非美式布局上显示的字母可能与键帽不同。

Gatekeeper

This build is ad-hoc / unnotarized (no Apple Developer ID in CI).
About stays preview — it is not Gatekeeper-ready and must not be
described as notarized stable. First open: drag Pulse to Applications and
open it once; when macOS blocks it, go to System Settings → Privacy &
Security
, scroll to Security and click Open Anyway. Or, in Terminal:
xattr -dr com.apple.quarantine /Applications/Pulse.app.
(macOS 15 removed the Control-click → Open shortcut.)

Download verification

f2a9e0d51b927aa7234f856af73a49167574daa788a40871f26e9b6ffcd37902  pulse-28.0.0-macos-PulseBar.dmg