登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
openclaw平替之nanobot源码解析(八):Gateway进阶—— ...
openclaw平替之nanobot源码解析(八):Gateway进阶——定时任务与心跳机制
[ 复制链接 ]
啪炽
3 天前
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
在前面的章节中,我们看到的 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
源码
解析
相关帖子
openclaw平替之nanobot源码解析(七):Gateway与多渠道集成
OpenClaw 大结局——接入个人微信
【节点】[SampleVirtualTexture节点]原理解析与实际应用
微信对接OpenClaw的常见问题和解决方案
OpenClaw+优云智算Coding Plan:从灵感到成文,再到公众号发布的全流程AI自动化
关于OpenClaw部署在Ubuntu上的经验小结
OpenClaw:WebSocket shared-auth connections could self-declare elevated scopes
openclaw skills 安装 的三种方式:命令安装,手动下载安装,web ui安装
【节点】[Texture2DArrayAsset节点]原理解析与实际应用
OpenClaw 多智能体配置不同的模型和个性化设置
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
openclaw平替之nanobot源码解析(七):Gateway与多渠道集成
0
337
胁冉右
2026-03-23
业界
OpenClaw 大结局——接入个人微信
0
780
呈步
2026-03-23
安全
【节点】[SampleVirtualTexture节点]原理解析与实际应用
0
73
腥狩频
2026-03-24
业界
微信对接OpenClaw的常见问题和解决方案
0
398
椎蕊
2026-03-25
业界
OpenClaw+优云智算Coding Plan:从灵感到成文,再到公众号发布的全流程AI自动化
0
482
墨佳美
2026-03-25
安全
关于OpenClaw部署在Ubuntu上的经验小结
0
801
莠畅缕
2026-03-26
业界
OpenClaw:WebSocket shared-auth connections could self-declare elevated scopes
0
756
瞧蛀
2026-03-26
安全
openclaw skills 安装 的三种方式:命令安装,手动下载安装,web ui安装
0
899
株兆凝
2026-03-26
安全
【节点】[Texture2DArrayAsset节点]原理解析与实际应用
0
658
幌斛者
2026-03-26
安全
OpenClaw 多智能体配置不同的模型和个性化设置
0
585
泠邸
2026-03-26
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
代码
签约作者
程序园优秀签约作者
发帖
啪炽
3 天前
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9016
9
闰咄阅
9995
10
蓬森莉
9870
查看更多
今日好文热榜
469
SpringCloud进阶--Seata与分布式事务
986
大模型私有化部署指南:从“一键安装”到“
624
大模型私有化部署指南:从“一键安装”到“
883
SpringCloud进阶--Seata与分布式事务
170
SpringCloud进阶--Seata与分布式事务
784
Oracle SQL经典练习50题 | 附答案
203
gitru:一个由 Rust 打造的零依赖 Git 提交
929
gitru:一个由 Rust 打造的零依赖 Git 提交
266
gitru:一个由 Rust 打造的零依赖 Git 提交
853
gitru:一个由 Rust 打造的零依赖 Git 提交
424
gitru:一个由 Rust 打造的零依赖 Git 提交
692
ESP32S3 USB MSC 调试全过程记录
637
瑞芯微工业级芯加持,正点原子RK3562J开发
54
gitru:一个由 Rust 打造的零依赖 Git 提交
784
营销自动化数据驱动 - 多源数据 OLAP 架构
532
C# .NET 周刊|2026年3月1期
148
【GUI-Agent】阶跃星辰 GUI-MCP 解读---(5)
867
LangChain教程-3、Langchian进阶
4
【GUI-Agent】阶跃星辰 GUI-MCP 解读---(5)
727
Ubuntu 部署Harbor (Docker版)