OpenRouter 教程:用 Agent SDK 搭建常驻 AI Agent 监控 Hacker News
OpenRouter 于 2026 年 10 月 31 日发布 TypeScript 教程,演示如何用 OpenRouter Agent SDK 构建常驻 AI Agent,按计划监控 Hacker News、生成摘要并在重启后保留记忆,单次运行成本上限 5 美分。
教程概述
OpenRouter 于 2026 年 10 月 31 日发布了一篇 TypeScript 教程《How to Build Your Own Always-On AI Agent》,演示如何使用 OpenRouter Agent SDK 构建一个常驻(always-on)AI Agent:它按固定节奏运行,监控 Hacker News 上用户感兴趣的话题,生成阅读摘要,并在重启后记得已经看过的内容,单次运行花费一旦达到 5 美分(0.05 美元)即停止。
文中将“常驻 Agent”定义为不再被动等待用户消息、而是按计划唤醒、调用工具检查外部状态并自主汇报或行动的程序。OpenRouter 将其定位为一种通用结构:同样的方法也可用于监控代码仓库或状态页,并自动采取动作。
常驻 Agent 的四个核心要素
教程将一个常驻 Agent 拆解为四个部分,每部分只需少量代码:
- 1一个按计划运行 Agent 的循环;
- 2Agent 用来观察世界与执行动作的工具;
- 3能在崩溃或重启后存活的记忆(memory);
- 4限制:每次运行的步数与成本上限,以及对有后果的动作要求人工审批。

一次计划检查的执行流程
上图展示了单次计划检查的执行流程:计时器触发运行;若存在待审批事项则跳过本次运行,否则以空对话开始,在限制条件内调用工具、写入摘要并更新记忆文件。
三个工具接入 Hacker News
Agent 在教程中配备三个工具:
check_hacker_news:通过 Hacker News 搜索 API 检索近期故事,只返回 Agent 尚未见过的内容;write_digest:把值得阅读的条目保存为摘要供用户查看;post_to_team_channel:用于通知团队成员,因涉及对外动作,执行前需人工审批。
工具已预先过滤掉已见故事,避免模型重复上报。新故事的 ID 只在一次运行成功结束后才写入 seen.json;中途失败的故事先存于 fetched.json,以保证重启后能续跑而不丢失。
单次运行与成本边界
在 runOnce 中,callModel 将一次检查作为 Agent 循环运行:调用模型、执行其要求的工具、回传结果,直到模型结束或触发停止条件。控制无人值守行为的关键配置包括:
stopWhen: [stepCountIs(6), maxCost(0.05)]:达到 6 步或 5 美分花销即结束;requireApproval: true:团队频道工具在调用前暂停,等待人工决定;StateAccessor:随运行保存对话,使暂停的运行可在另一进程中恢复。
教程固定使用 @openrouter/agent 0.11.0,模型为 anthropic/claude-haiku-5.5(Claude Haiku 5.5),运行环境为 Node.js 22,需配合 OpenRouter API Key。
调度、记忆与人工审批
调度部分默认每 15 分钟检查一次,可用 systemd、pm2 长期驻留,也可用 cron、GitHub Actions 等以 MAX_RUNS=1 每次只跑一次检查。记忆以纯文本 JSON 文件保存(seen.json、state.json),可复制到另一台机器,或替换为 SQLite 等数据库而不改动其余代码。
人工审批通过 decisions.json 与 pending.log 完成:运行暂停时将待执行调用写入日志,用户在 decisions.json 中批准或拒绝其 ID,下一次运行即恢复该对话。
成本实测
教程给出实测数据:使用 Claude Haiku 5.5,每次检查花费 0.0003–0.0012 美元(约 2–3 次模型调用,每次数秒)。按每 15 分钟一次计算,每天约 96 次检查,日花费约 0.03–0.12 美元,30 天约 0.86–3.46 美元。多数检查无新内容,安静检查仅需 0.0003–0.0004 美元。
首次运行(2026 年 10 月 13 日)发现 12 条新故事,将其中 5 条写入摘要,跳过 7 条;重启测试(2026 年 10 月 15 日)验证加载 seen.json 后不会重复上报。
文中还提到,在 2026 年 DevDay 上,OpenAI 发布了同类常驻 Agent 产品 Dots;Claude Haiku 5.5 的价格截至 2026 年 10 月 12 日为每百万输入 token 0.10 美元、输出 token 0.50 美元。
参考来源
- ▸OpenRouter 官方博客教程:《How to Build Your Own Always-On AI Agent (TypeScript)》,2026-10-31,https://openrouter.ai/blog/tutorials/build-always-on-ai-agent/