登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
openclaw平替之nanobot源码解析(八):Gateway进阶—— ...
openclaw平替之nanobot源码解析(八):Gateway进阶——定时任务与心跳机制
[ 复制链接 ]
啪炽
昨天 20:44
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
在前面的章节中,我们看到的 Agent 都是“被动”的:你发一条消息,它回一条消息。但在真正的生产环境中,我们希望 AI 能更主动一些,比如:
“每隔 2 小时提醒我喝水。”
“每天早上 8 点为我总结昨天的 GitHub 动态。”
“定期检查我的待办事项,看看有没有过期的任务。”
这些功能,全靠 nanobot gateway 命令背后的
定时任务(Cron)
与
心跳(Heartbeat)
机制。今天我们就来拆解它们。
1. Gateway:全能编排者
当你运行 nanobot gateway 时,它不仅仅是启动了一个网关,而是启动了一个
多任务并行系统
。在 nanobot/cli/commands.py 中,你可以看到它同时拉起了四个核心服务:
AgentLoop
:负责对话逻辑。
ChannelManager
:负责连接 Telegram/飞书等渠道。
CronService
:负责执行预设的定时任务。
HeartbeatService
:负责驱动 AI 的“自主思考”。
这四个服务通过 asyncio.gather 并发运行,共同构成了一个 24/7 在线的智能体系统。
2. CronService:精准的“闹钟”
CronService(nanobot/cron/service.py)负责处理那些有明确时间要求的任务。
存储机制
:
所有的定时任务都存储在 ~/.nanobot/cron/jobs.json 中。你可以通过工具让 AI 帮你添加任务,它会生成如下格式的配置:
every
:每隔一段时间执行(如每 5 分钟)。
at
:在特定时间点执行。
cron
:使用标准的 Cron 表达式(如 0 8 * * *)。
执行逻辑
:
CronService 内部维护了一个计时器。每当任务到期,它就会调用 on_job 回调,将预设的 message 发送给 AgentLoop 处理,并将结果通过指定的渠道(如 Telegram)推送给你。
3. HeartbeatService:AI 的“自主意识”
如果说 Cron 是“闹钟”,那么 HeartbeatService(nanobot/heartbeat/service.py)就是 AI 的“脉搏”。它是 nanobot 最具特色的设计之一。
两阶段决策机制
:
为了节省 Token 并提高准确性,心跳服务分为两个阶段:
第一阶段:决策(Decision)
每隔一段时间(默认 30 分钟),服务会读取 HEARTBEAT.md 文件,并询问 LLM:“请看这份文档,现在有需要我主动处理的任务吗?”
如果 LLM 回复 skip,则继续休眠。
如果 LLM 回复 run,并给出了具体的任务描述,则进入第二阶段。
第二阶段:执行(Execution)
一旦决定运行,心跳服务会启动一个完整的 AgentLoop 来执行 LLM 刚才提出的任务。执行完成后,结果会自动推送到你最常用的聊天渠道。
为什么这么设计?
这种“先判断、再执行”的机制,避免了 AI 在没有任务时也频繁“说废话”,同时也让 AI 能够根据 HEARTBEAT.md 中的上下文(比如你记录的长期目标)来决定什么时候该主动找你。
4. 开发者视角:如何 Debug 自动化任务?
在运行 nanobot gateway 时,你会看到如下启动日志:
✓ Channels enabled: telegram
✓ Cron: 2 scheduled jobs
✓ Heartbeat: every 1800s
如果你想测试心跳逻辑,可以手动修改 HEARTBEAT.md,添加一些紧迫的任务,然后观察日志中是否出现了 Heartbeat: tasks found, executing...。
总结
通过 CronService 和 HeartbeatService,nanobot 完成了从“工具”到“助手”的蜕变。它不再仅仅等待指令,而是开始根据时间、计划和上下文,主动融入你的工作流。
至此,
nanobot 源码解析系列
真正画上了句号。我们从最底层的配置,一路走到了最上层的自动化编排。希望这八篇文章能成为你探索 AI Agent 世界的一盏明灯。
再次感谢你的陪伴,祝你在 AI 的世界里玩得开心!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
openclaw
平替
nanobot
源码
解析
相关帖子
【节点】[SampleTexture3D节点]原理解析与实际应用
彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组
Spring IOC 源码学习 事务增强相关的对象创建
基于.NET AgentFramework开发OpenClaw智能体框架
《OpenClaw (Docker手工部署版) 终极避坑与实战指南》
openclaw平替之nanobot源码解析(七):Gateway与多渠道集成
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
【节点】[SampleTexture3D节点]原理解析与实际应用
0
516
眺愤
2026-03-22
业界
彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组
0
650
柩通奉
2026-03-22
安全
Spring IOC 源码学习 事务增强相关的对象创建
0
790
辈霖利
2026-03-23
安全
基于.NET AgentFramework开发OpenClaw智能体框架
0
324
秤陷曲
2026-03-23
业界
《OpenClaw (Docker手工部署版) 终极避坑与实战指南》
0
567
损注
2026-03-23
业界
openclaw平替之nanobot源码解析(七):Gateway与多渠道集成
0
331
胁冉右
2026-03-23
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
啪炽
昨天 20:44
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9914
7
宋子
9878
8
荪俗
9016
9
闰咄阅
9995
10
刎唇
9995
查看更多
今日好文热榜
289
文档化与知识库方法——ADR、Runbook与故障
331
openclaw平替之nanobot源码解析(七):Gat
1
CPU Cache
809
openclaw平替之nanobot源码解析(八):Gat
994
elasticsearch的安装ansj插件时候词典路径
491
Benders分解
64
20253320蒋丰任实验一
92
分表路由:为什么大神都用 & (n-1),而不用
931
桌面端 Claw 个人微信接入指南
567
《OpenClaw (Docker手工部署版) 终极避坑与
388
AI开发-python-langchain框架(3-10-excle
503
AI编程时代,人类程序员还剩下什么?
437
AI元人文:方寸自感,能容万象 ——致敬
206
一天一个Python库:oauthlib - 轻松构建OAu
209
Skills进阶
959
EF Core 原生 SQL 实战:FromSql、SqlQuery
647
AI + WMS:从自动化迈向自主智能仓储
764
GLM技术复盘:21篇论文深度解读智谱模型家
478
记录复现多模态大模型论文OPERA的一周工作
7
图扑 HT 帧动画 | 3D 动态渲染设计与实现