跳转到内容
类型解锁
阶段快速获胜
难度简单
工作监控服务
用于AI 构建者
用于个人创始人
服务管道
服务智能体
服务通知
为何选 HoodyHTTP 原生
为何选 HoodyAI 原生
为何选 Hoody可移植性
类型解锁
阶段快速获胜
难度简单
工作监控服务
用于AI 构建者
用于个人创始人
服务管道
服务智能体
服务通知
为何选 HoodyHTTP 原生
为何选 HoodyAI 原生
为何选 Hoody可移植性
类型解锁
阶段快速获胜
难度简单
工作监控服务
用于AI 构建者
用于个人创始人
服务管道
服务智能体
服务通知
为何选 HoodyHTTP 原生
为何选 HoodyAI 原生
为何选 Hoody可移植性
类型解锁
阶段快速获胜
难度简单
工作监控服务
用于AI 构建者
用于个人创始人
服务管道
服务智能体
服务通知
为何选 HoodyHTTP 原生
为何选 HoodyAI 原生
为何选 Hoody可移植性
PIPE · TAIL · 通知

在火车上 tail 你的 agent,落地时收到推送

你下班前启动了一个四十分钟的 agent。现在你在火车上。agent 把 trace 流到一条管道路径;你在手机上 curl 同一个 URL,看着状态信息一行行飘过。当循环结束,hoody-notifications 给你震动。两个 URL 加一次震动——无 SDK、无仪表盘、无轮询。

阅读 Pipe API

一部手机,两个表面

上面是实时 tail,下面是推送——同一部手机,同一个 agent。trace 是你瞄一眼的运行独白;推送是结束句号。你不必选择只接哪一个:两者都来自 agent,两者都落到你口袋里那部已经存在的设备上。

01 · 实时 TAIL

trace 一字一字落下

agent 的循环用 PUT 把每条事件发到一条路径。在火车上,你在终端 app 里 GET 同一条路径。事件发生时即落地——无五秒刷新、无"上次更新"时间戳。瞄一眼屏幕,确认 agent 还活着,把手机收起来。

[think] 计划:dump → diff → write[tool_use] sql.exec("SELECT …")[result] 412 行 · 88 ms
02 · 推送

在去下一站的路上震动

外层循环结束时,agent 的最后一次调用打到 hoody-notifications,带一行总结。你的手机震动。你不必解锁——读一下横幅就知道,在到下一站之前这次跑已经完成了。

AGENT · billing-reconcile-7对账完成 · 412 行 · 0 个错误用时 41:08 · 08:55

Hoody Pipe 承载实时 tail;hoody-notifications 承载那次震动。agent 把它们当作普通的 HTTP 调用——一个 PUT 和一个 POST,中间没有 SDK。

agent 发出三次调用。你的笔记本一次都不用。

你出门前在服务器上把 agent 跑起来。在路上,手机是这条链路里唯一的客户端。agent 干所有的活;手机做所有的看。

agent.loop · pipe + notify
01 · AGENT把每一步 PUT 到一条管道路径

在循环里,每一次事件——think、tool_use、result——都被 pipe 到一条路径。管道流给读它的人;如果还没人在读,这条路径会保持打开最多五分钟。

PUT https://agent-pipe.…hoody.com/api/v1/pipe/agent-trace
02 · 手机在火车上 GET 同一条路径

在手机上打开终端。curl -N 这条路径。trace 落地即打印——无 SSE 管道、无 broker、无需安装 app。不想看了就关标签页。

$ curl -N https://agent-pipe.…hoody.com/api/v1/pipe/agent-trace
03 · 通知agent 的最后一步是 POST 到 /notify

外层循环返回时,agent POST 一行总结到 hoody-notifications。你的手机从那里收到系统推送——和日历提醒一样的震动,无需任何 app。

POST /notify ["summary":"billing-reconcile-7","body":"completed in 41:08"]

两条 HTTP 路径,加上承载震动的第三条。agent 不知道你的手机存在;它只是说 HTTP。手机不知道 agent 的容器;它只是打开一个 URL。

瞄一眼的解剖

你不会逐字读。你扫三个 token:一个想法、一次调用、一个结果。它们在动,说明 agent 还活着。它们停了,你就在下一次推送里看时间。

01 · 蓝色

[think] — 模型在计划什么

agent 为什么挑这个工具、它期待回什么、它可能在哪里分支。在火车上读这些,就是实时读 agent 的脑子——每条推理一行。

[think] 对账 7 月发票
02 · 中性

[tool_use] — 它刚发出的调用

agent 决定调用的精确函数和参数。每次调用一行,按发出顺序排列。无 SDK 抽象、无不透明 ID——就是线路级别的请求。

[tool_use] sql.exec("SELECT …")
03 · 绿色

[result] — 返回了什么,以及那次震动

行数、耗时、状态码——下一条 [think] 会拿来推理的东西。当外层循环完成,最终结果落到线上,hoody-notifications 给你口袋里的手机震动。

[result] 412 行 · 88 ms

你的手机就是 agent 的状态栏。

无仪表盘。无 app。无下发到设备的 SDK。agent 在服务器上跑,状态在你手机上,中间只有 HTTP。你可以换车、换运营商、丢两站信号——重新连上后,下一行 [result] 接着打印。

  • 无仪表盘
  • 无 app
  • 无轮询
  • 只有 HTTP
阅读 Pipe API

这取代了什么

看一个长跑的 agent,过去意味着一份 SaaS、一个仪表盘标签页或一份自定义 webhook + bot。在"我直接用手机 curl 它呢?"的拷问下,这些都没活下来。

  • AgentOps / LangSmith 仪表盘为读自己日志多套一层 SaaS
  • 面向 agent 的 Datadog APM为服务设计的,套到循环上别扭
  • 自定义 agent webhook写一次,debug 一辈子的胶水
  • Pushover 告警多一个账号、多一个 API key
  • Telegram 状态机器人每个项目一个 bot · token 总过期
  • 每 5 秒轮询 /status你自己造的延迟 · 你自己烧的电池

把 trace 管道出去,把震动 POST 出去。你的手机就是 agent 的状态栏——无需 app。

阅读 Pipe API

阅读其他内容