herdr 通过解析终端流、监听进程信号等方式实时推断多 agent 任务状态(working/blocked/idle/done/unknown),支持按状态筛选、快速干预 blocked 任务、会话持久化及状态快照导出,确保任务不因终端关闭而丢失。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在多个 Agent 任务间实时掌握哪个正在运行、哪个卡在权限确认、哪个已成功完成,避免因终端关闭或 SSH 断连导致进程意外终止。
理解 Workspace 中的任务状态层级
Agent Space 的 Workspace 不是静态文件夹,而是承载真实运行时状态的容器。每个 Workspace 下可建多个 Tab,每个 Tab 可切分为多个 Pane,而每个 Pane 运行一个终端进程——Herdr 会自动识别该进程是否为 Claude Code、Codex、Pi 等主流 Coding Agent,并将其归类为五种状态之一:working、blocked、idle、done 或 unknown。
状态不是由 Agent 自己上报,而是 Herdr Server 持有 PTY 后,通过解析终端输出流、检测进程信号(如 SIGSTOP)、监听 stdin/stdout 活跃度等确定性方式实时推断得出。这意味着即使 Agent 未主动发送状态心跳,Herdr 仍能准确判断它是否真正在“等待人工输入”而非“假死”。
查看与筛选任务状态
启动 Herdr Client 后,左侧侧边栏默认显示所有 Workspace 的聚合状态。颜色即语义:红色表示至少一个 Pane 处于 blocked,黄色表示存在 working,绿色表示全部为 done 或 idle。
点击任一 Workspace 名称,右侧将展开其内部 Tab 结构;再点击某个 Tab,即可看到所有 Pane 的实时状态图标与文字标签。
按状态筛选:在顶部搜索框输入 status:blocked,界面立即只保留所有被标记为 blocked 的 Pane——这比手动翻找十个终端窗口快得多。
干预 blocked 状态任务
第一步:选中目标 Pane → 按 Enter 聚焦到该终端输入区。
第二步:直接键入所需响应(例如输入 y 确认权限、粘贴 API Key、补全缺失参数)。
第三步:Herdr 会在你按下回车后 200ms 内重新扫描输出流,若检测到新 prompt 或命令执行开始,则自动将状态从 blocked 切换为 working。
注意:不要用鼠标右键“复制粘贴”模拟输入,某些 Agent(如早期 Codex 版本)会拒绝非真实键盘事件触发的粘贴内容,必须使用真实按键流。这一步操作起来很简单,直接把光标移进去敲字就行。
持久化状态与恢复会话
方法一:关闭 Herdr Client 或断开 SSH 连接 → 所有 Pane 中的进程仍在后台持续运行 → 重新启动 Herdr Client → 自动重连至原有 Session,状态完全延续,无任何丢失。
方法二:在终端中执行 herdr detach → 当前 Client 退出但 Server 继续托管所有 Pane → 后续任意机器执行 herdr attach --session-id abc123 即可接管同一组任务状态。
【Session 是独立命名空间,不可跨 Workspace 复用】。每个 Session 绑定唯一 ID,删除 Session 会清空其下所有 Pane 的历史输出缓存(但不影响仍在运行的进程本身)。
导出当前 Workspace 的状态快照
在 Workspace 右键菜单中选择「Export State」→ 生成一个 JSON 文件,包含每个 Pane 的 PID、启动命令、当前状态、最后活跃时间戳、终端尺寸、以及最近 50 行可见输出文本。
这个快照可用于故障复盘:比如某次 blocked 持续超 10 分钟,对比快照中 “last_active” 和 “state_updated” 时间差,就能确认是 Agent 卡住,还是 Herdr 误判。
导出操作不中断任何运行中任务,也不影响后续状态更新。











