Post

AI能力集 -- 解决 CodeBuddy /loop 3天自动失效问题:可行方案与风险对比

解析 loop 3 天过期底层机制,辟谣网络错误方案,对比 Goal 临时保活与 Windows CLI 外置定时两种真正可行路径,明确适用场景、优缺点和风险边界

AI能力集 -- 解决 CodeBuddy /loop 3天自动失效问题:可行方案与风险对比

前言

日常使用 CodeBuddy、Claude Code 等 AI 本地 Agent 时,我们常用 /loop 创建定时任务,例如每日数据统计、日志整理、自动巡检等。

但所有用户都会遇到同一个硬性限制:/loop 任务创建后固定 72 小时自动销毁,无法长期运行。

网络上存在大量「双 loop 互保」「多 loop 续命」的方案,实际落地都存在隐性断点。本文将:

  • 解析 loop 3 天过期的真实底层机制
  • 验证并辟谣各类民间续命方案的缺陷
  • 给出个人临时使用方案(Goal 保活) + 长期稳定生产方案(Windows 外置定时)
  • 明确区分两种方案的适用场景、优缺点、风险边界

一、Loop 3天自动过期的底层真实机制

1. 过期逻辑为引擎硬编码,不依赖会话活跃度

每条 /loop 创建时会生成两个核心时间戳:

  • create_ts:任务创建时间(永久固化,不可刷新、不可修改)
  • expire_ts = create_ts + 72h

Agent 后台持续巡检,超过过期时间直接强制删除任务。

2. 关键误区(非常重要)

  1. 手动发消息、保持会话活跃、打开 WebUI 不会刷新 loop 过期时间
  2. 重启页面、重启 Daemon 不会重置 loop 时间戳
  3. 修改本地缓存文件无效,存在内存缓存 + 哈希校验防篡改
  4. 官方无任何刷新、续期、重置 loop TTL 的指令

一句话:Loop 的过期是固定生命周期销毁,不是「闲置超时销毁」。无论你怎么保活会话,满 3 天必炸。


二、网传各类续命方案实测辟谣

以下方案均经过实际验证,全部存在硬缺陷,不适合长期自动化任务。

方案1:单 Loop 单独运行

问题:到期直接删除,任务永久中断,完全无法长期使用。

方案2:双 Loop 互相续期(网上流传最广)

逻辑:A 为业务任务,B 定时重建 A。

致命缺陷:B 本身也是 loop,同样只有 3 天寿命。B 到期消失后,无人续期 A,整套任务必然断裂。这只是延长了故障时间,并没有解决问题。

方案3:三 Loop 环形互保

问题:通过错开创建时间降低同时过期概率,但无法杜绝。一旦遇到 Daemon 重启、网络波动、某次执行失败,时间轴会对齐,全部 loop 集体过期。属于「概率续命」,不具备可靠性,不适合长期自动化任务。

方案4:频繁互动保活会话

问题:会话活跃时间 ≠ loop 任务生命周期,完全不生效。


三、两种真正有效的解决方案

目前只有两类机制可以绕开 loop 3 天过期限制:

  1. Goal 常驻特性——实现会话内自动续期(适合个人临时用)
  2. 外置系统定时调度——彻底放弃内置 loop(适合长期稳定运行)

方案一:Goal 自动巡检续期(个人临时使用)

1. 为什么 Goal 可行

官方机制差异:

指令类型过期机制
/loop定时调度任务带 72h 过期 TTL
/goal常驻目标任务无过期时间、无 TTL 限制

可以用永久不死的 Goal,每天自动刷新所有即将过期的 Loop。

2. 完整可用指令

1
2
3
4
5
6
/goal 每24小时执行一次全局loop保活巡检,持续永久运行:
1.列出当前会话所有loop任务、创建时间、剩余有效期、完整执行指令
2.筛选剩余有效期小于24小时的即将过期任务
3.删除旧的即将过期loop
4.严格复刻原指令重新创建loop,刷新生命周期时间戳
5.将本次续期结果、任务清单写入本地日志文件留存

3. Goal 方案的明确风险(必须知悉)

Goal 不具备持久保活能力,以下场景会直接丢失:

  1. 执行 /clear 重置会话 → Goal 直接清空,永久消失
  2. 重启 CodeBuddy Daemon 进程 → 常驻 Goal 不会自动恢复
  3. 会话异常中断、手动重建会话 → Goal 彻底丢失

一旦 Goal 丢失,无人续期 Loop,3 天后任务全部停摆。

4. 适用场景

✅ 个人临时测试、短期几周内的自动化任务 ✅ 不想配置系统定时、追求简单开箱即用

❌ 不适合生产、不适合长期无人值守运行


方案二:Windows 任务计划 + CodeBuddy CLI 外置调度(长期稳定生产方案)

1. 核心思想

彻底抛弃 AI 内置的 loop / goal 调度,把定时调度权交给 Windows 系统级任务计划。

  • Windows 任务计划:系统级能力,无过期、无 TTL、可开机自启、崩溃自愈
  • CodeBuddy 仅作为执行工具,负责执行统计、整理、业务逻辑

2. 方案优势

  1. 完全不受 3 天 loop 过期机制影响
  2. 不受会话重启、Daemon 重启、/clear 操作影响
  3. 支持固定 Session 复用上下文,保留历史环境
  4. 真正无人值守、长期稳定运行

3. 最简落地架构

  1. 本地建立 task.txt:存放你的统计任务指令
  2. 编写 bat 脚本:指定 Session 执行任务
  3. Windows 任务计划程序:按日/按时自动触发

4. 示例执行脚本

1
2
3
4
5
6
7
8
9
10
@echo off
chcp 65001
:: 替换为你的真实会话ID
set SESSION_ID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
:: 任务指令文件路径
set TASK_TXT=D:\codebuddy_task\task.txt
:: 日志路径
set LOG=D:\codebuddy_task\run_log.txt

codebuddy -r %SESSION_ID% -p -y @%TASK_TXT% >> %LOG% 2>&1

5. 关键参数说明

参数作用
-rresume,复用固定历史会话,保留所有上下文
-p静默执行,不交互式弹窗
-y自动放行权限,避免定时触发时卡住

6. Windows 任务计划配置步骤

  1. 打开「任务计划程序」→ 创建基本任务
  2. 触发器:按统计周期设置(每天/每周)→ 下一步
  3. 操作:启动程序 → 浏览选择上面的 .bat 脚本
  4. 勾选「不管用户是否登录都运行」→ 完成
  5. 如需开机自启:在任务属性中勾选「唤醒此计算机运行此任务」

7. 适用场景

✅ 长期自动化统计、报表、巡检、同步任务 ✅ 需要无人值守、稳定运行数月/数年 ✅ 生产级可靠自动化


四、最终方案选型总结

你的情况推荐方案
个人临时测试,追求简单,不想配置系统定时方案一:Goal 自动续期
长期业务运行、需要稳定不中断、生产级可靠自动化方案二:Windows 外置定时 CLI

方案一的风险:会话重启、进程重启会丢任务,需要自己留意会话状态。

方案二是唯一真正脱离 AI 引擎所有生命周期限制的解决方式。


五、总结

  1. Loop 3 天过期是引擎硬编码 TTL 机制,无法刷新时间戳、无法原生永久续命
  2. 所有 Loop 互保方案均存在断裂风险,不可长期依赖
  3. Goal 可以实现短期永续,但会话重启即失效,存在隐性故障风险
  4. 外置系统定时调度是唯一真正解决问题的长期方案

附录:Windows 任务计划配置图文步骤(待补充)

如需详细截图指导,请告知,我可以补充完整的配置截图和常见报错解决方案。

This post is licensed under CC BY 4.0 by the author.