news 2026/10/17 14:54:13

AI Agent等你回复怎么办?herdr-web-ui推送提醒与状态追踪完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI Agent等你回复怎么办?herdr-web-ui推送提醒与状态追踪完全指南

【免费下载链接】herdr-web-ui

Browser and phone client for herdr: chat and live terminal for every agent pane, remote PCs over SSH, web push alerts

项目地址:https://gitcode.com/gh_mirrors/he/herdr-web-ui
点击查看免费下载

用 Claude Code、Codex 这类 AI Agent 干活时,最令人抓狂的瞬间莫过于:它在等你确认一条命令、等你回答一个选择题,而你已经切走了页面、甚至合上了电脑。herdr-web-ui 是 herdr 的浏览器与手机端客户端,它能实时追踪每个 agent 窗格(pane)的 RUN / INPUT / DONE / READY 状态,并在 agent 等你输入或完成工作时,通过 Tab 通知、Web Push 推送提醒你——哪怕应用已关闭,手机也能第一时间收到。

先认识 herdr-web-ui:一个窗格,三种视角

herdr-web-ui 把你在 herdr 里跑的每一个 agent 窗格变成三张面孔:

视角你看到什么
Chat(聊天)agent 自己的完整对话记录,每轮执行的工具调用折叠成一个"Worked for …"块,可点开细看
Terminal(终端)同一个窗格的真实现场,通过herdr terminal attach共享滚动历史
状态标记侧边栏与标签条上的实时状态点:工作中转圈、等待输入变红、完成打勾

它不需要你在 agent 和模型之间加任何中间层,终端、浏览器、手机同时看着同一个窗格。一行命令即可安装(详见 docs/guide.md 的 Quick start 章节):

git clone https://gitcode.com/gh_mirrors/he/herdr-web-ui.git cd herdr-web-ui bun install bun run start

然后打开http://localhost:7317就能用了。

状态追踪:一眼看出谁在等你

agent 最需要你的时刻,通常有两种:

  • INPUT(blocked):它在等你回答提问、点批准、输密码;
  • DONE(done):一轮工作结束了,产物在等你检查。

herdr-web-ui 对这两种状态做了重点追踪:

  1. 侧边栏与标签条实时变色:每个 workspace、tab 的行尾都带 agent 状态标记(默认 Classic 样式,也可在 Settings → Appearance → Status indicators 里切换成 herdr TUI 同款 Dots / Symbols)。
  2. "Needs you" 汇总区:所有正在等输入的窗格会被收拢到侧边栏顶部,本地和远程 PC 的 agent 一并列出,点击直达对应窗格。
  3. 服务器持续监听:服务端通过 herdr 的 socket 读取窗口与状态,同时用文件监听循环盯住各 agent 的会话文件(如 server/conversation-monitor.ts 每 250ms 轮询一次文件特征),状态一变就广播。

三级提醒机制:从页内提示到手机推送

herdr-web-ui 的提醒设计成三级,覆盖你"在页面里、在浏览器里、完全不在电脑前"三种场景:

层级触发条件需要 HTTPS?
应用内提醒窗口处于前台,界面本身给出变化否
Tab 通知页面开着但在后台/隐藏时弹出系统通知是(或 localhost)
Web Push 推送应用关闭、手机锁屏都能收到是

开启方式很简单:

  1. 打开应用右上角⋯菜单,点击Alerts(开启后这一行会显示对勾);
  2. 浏览器弹出权限询问,选择允许通知;
  3. 服务器会立即发一条确认推送,证明整条链路是通的。

Tab 通知由浏览器端触发(src/lib/notifications.ts),推送订阅由服务端触发(server/push.ts),两者的判定策略共用同一份 shared/notify-policy.ts,保证手机和桌面在完全相同的事件上响铃。

智能防打扰:为什么有时"不响"是好事

推送提醒最怕的是"狼来了"。herdr-web-ui 内置了几条非常克制的规则,读懂它们你会更信任它的每一条通知:

  • 先等 10 秒再发:提问类提醒会先等约 10 秒(完成类等待约 60 秒)。如果你在桌面端已经手动回答了,提醒会自动取消——它假设"变化这么快,说明有人在电脑前"。
  • 有人在看就不打扰:只要任何设备上的应用窗口处于可见且聚焦状态,所有设备都不会收到提醒(逻辑见 server/push.ts 头部的注释)。
  • 完成提醒默认只报"长回合":Finished 策略默认Long turns,只有干满一定时长(默认 1 分钟以上)的回合结束才推送;秒回的小问题默认静默。
  • 订阅失效自动修复:推送服务端会把已退役的端点记录下来(push-retired.json),你重新开启提醒时会创建一个新订阅,而不是反复往死掉的端点发(修复记录见 changelog.d/push-retired-endpoint.md)。

提醒偏好怎么调:Needs input 与 Finished 两档开关

每台设备的提醒偏好是独立的,在Settings → Alerts里配置(策略常量定义在 shared/notify-policy.ts):

选项含义可选值
Needs inputagent 等待你的输入或权限时提醒开 / 关(默认开)
Finishedagent 完成一轮工作时提醒Off(不提醒)· Long turns(默认,仅长回合)· Every turn(每次都提醒)
Send test向当前设备发一条测试推送,验证链路按钮,结果会明确告诉你成功或失败

如果订阅丢失,测试结果会直接给出Turn alerts on again按钮,点一下就重新订阅——不用再翻设置页找开关。

手机上开启推送提醒(三步)

手机是这套机制真正的价值所在。前提只有一个:应用地址必须是 HTTPS(或 localhost)。最省事的方案是 Tailscale,它同时解决"手机怎么连到你的电脑"和"HTTPS 从哪来"两件事:

tailscale serve --bg --https=443 http://127.0.0.1:7317

一行安装脚本检测到本机在跑 Tailscale 时会自动帮你执行并打印二维码(详见 docs/guide.md 的 On your phone 章节)。之后:

  1. 手机扫码打开地址,添加到主屏幕(Safari 是"分享 → 添加到主屏幕",Chrome 是"安装应用");
  2. 打开⋯菜单 → 点击Alerts,授予通知权限;
  3. 到Settings → Alerts → Send test验证一次。

小提醒:iPhone 上只有"添加到主屏幕"后的应用才能收到推送(iOS 16.4+),在普通网页标签页里是收不到的;服务器进程需要保持运行,HERDR_WEB_STATE_DIR(默认~/.config/herdr-web-ui)里的推送密钥和订阅记录也要跨重启保留,重启不会让手机掉订阅。

关键文件速查

想深入了解实现,可以从这几处入手:

  • 推送服务端(订阅、VAPID、提醒等待与取消):server/push.ts
  • 浏览器端推送订阅(Service Worker + PushManager):src/lib/push.ts
  • 页内与 Tab 通知:src/lib/notifications.ts
  • 通知判定策略(两端共用):shared/notify-policy.ts
  • 会话文件监听(聊天与状态刷新):server/conversation-monitor.ts
  • 用户使用手册(安装、手机、安全):docs/guide.md

常见问题

问:我在看网页的时候为什么手机不响?这是特性不是 bug:只要任意设备的窗口可见且聚焦,提醒就被视为"有人已看到"而自动抑制;窗口一失去焦点,提醒立即恢复。

问:点推送通知跳到哪里?点击会直接打开对应 PC 和窗格;如果该窗格已关闭,会打开它所在的 workspace 并在页头说明(修复记录见 changelog.d/notification-tap-target.md)。

问:提醒太吵/太安静怎么调?把 Finished 从 Every turn 调回 Long turns(默认),或者关掉 Needs input 中你不关心的类别;每台设备独立配置,桌面可以全开、手机只留关键项。

结语

herdr-web-ui 用"状态追踪 + 三级提醒 + 智能防打扰"三件套,把"AI Agent 干着干着卡住了没人知道"这个高频痛点解决得很彻底:侧边栏的 Needs you 区块让你一眼看到谁在等,Tab 通知盯住你切走的浏览器窗口,Web Push 则负责你在远离电脑的时刻。配置不到三分钟,却能省下大量"回来才发现 agent 半小时前就在等我点批准"的空等时间。

【免费下载链接】herdr-web-ui

Browser and phone client for herdr: chat and live terminal for every agent pane, remote PCs over SSH, web push alerts

项目地址:https://gitcode.com/gh_mirrors/he/herdr-web-ui
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 14:52:11

零基础GitHub入门:网页端+桌面客户端图文实操指南

1. 这不是教科书,是我在团队里带新人时反复打磨出的 GitHub 实操手册 “GitHub 是什么?”——这个问题我听过不下两百遍,从刚入学的大一新生,到转行做前端的三十岁职场人,再到某高校实验室里第一次接触协作开发的研究…

作者头像 李华
网站建设 2026/10/17 14:51:20

图文跨模态融合的LLM工程落地全指南:从数据清洗到分布式训练

图文跨模态融合,第一次听到这个概念的时候,我脑子里其实浮现的是各种炫酷的Demo:输入"一只穿着宇航服的柴犬",模型瞬间生成一张高清图片;或者拿着一张街景照片,问模型"这家店几点打烊"…

作者头像 李华
网站建设 2026/10/17 14:50:51

社交交友App三端通用开发:uni-app+WebSocket实现匹配聊天与审核避坑

简介:仿青藤之恋的《欧几里》社交交友项目提供微信小程序、手机客户端与网页端三端通用源码,面向社交产品开发者和全栈学习者,围绕双向喜欢解锁聊天、即时通讯与高学历人群交友场景,覆盖从用户认证、实时消息传送到多端同步的完整…

作者头像 李华
网站建设 2026/10/17 14:50:51

单卡3090复现开源GPT修复:3.49B tokens与1000 GPU小时的实战解读

这次我们来看一个值得留意的开源模型修复项目:Show HN 上挂出的“Dont trust me bro”。作者把目标锁定在 GPT-OSS 上,跑完 3.49B tokens,累计约 1k GPU hours,缩到单张 3090 上完成全部工作。言外之意很清楚:不要只相…

作者头像 李华
网站建设 2026/10/17 14:49:49

Unity跨进程通信:共享内存高性能方案与同步机制实战

1. 为什么要在Unity里折腾共享内存做过Unity项目的人多半都遇到过这种场景:主程序跑着一个渲染或逻辑进程,另外还有一个独立的数据采集、AI推理或者工具链进程,两边需要高频交换数据。一开始大家都会选Socket或者命名管道,毕竟上手…

作者头像 李华