☰
MOMO CODE 长期运行工作流:/goal + /daemon + /schedule 打造多小时自主 Agent
2026/10/16 4:41:09 网站建设 项目流程
  • 人工智能
  • AI Agent
  • 代码智能体
  • 大模型
  • CLI

【免费下载链接】momo-code

MOMO CODE — AI coding agent that evolves with you 一句话:MOMO CODE 是一个完全开源的、会自进化、会自微调的 AI 编程Agent 产品。 我做了全球首个 完全开源免费、会「自进化」「自微调」的 Code Agent 我把它命名为 MOMO CODE 。 " MOMO 代表了 每一个身处 AI 时代,心怀热爱、坚持微光,想要躬身创造价值的普通人。" 🔥 MOMO CODE 🔥 V1.0.0版本 它基于Opencode 框架而衍生,创新增加了 【自进化】 /evolve 和 【自微调】/fine-tune 模块 支持 25+ 大模型(DeepSeek、智谱 GLM、Moonshot Kimi、豆包、MiniMax、Claude、GPT-4、Gemini、……)。 支持自定义 OpenAI协议类 API,接入任意模型。 核心差异:每次会话后自动积累经验,通过 /evolve 快环和 /fine-tune 慢环持续自我进化。 【自进化+自微调】双速进化:让它真正"越用越聪明" 这是 MOMO CODE 最核心的设计。 我叫它 “Two-Speed Evolution”——双速进化。 灵感来自生物学:细菌有快速适应(应激反应)和长期进化(自然选择),两个时间尺度并行。

项目地址:https://gitcode.com/momozi1996/momo-code
点击查看免费下载

MOMO CODE 是一款完全开源的、会自进化的 AI 编程 Agent。除了陪你写代码,它还内置了一组"长期运行"原语:/goal让 Agent 记住跨会话的长期目标,/schedule定义定时任务,/daemon守护循环按心跳自动执行任务。三者组合,就能打造一个连续自主运行数小时的 AI Agent 工作流——你设定目标与节奏,Agent 持续替你推进。

为什么需要"长时间自主运行"?

一次性的对话式 Agent 有天然局限:会话一结束,上下文就断了。而很多真实任务是长周期的:

  • 重构一个大型模块,中间需要反复跑测试、看进度
  • 持续监控构建结果,定期汇报
  • 每天固定时间做代码巡检、生成日报

MOMO CODE 用三个轻量命令解决了这个问题,且彼此解耦、可独立使用,也可以组合成完整的长时运行流水线。

整体架构:长时运行能力在哪一层?

MOMO CODE 采用 4 层运行时架构,长时运行能力位于L2 Agent Runtime & Execution Core层:/goal、/schedule、/heartbeat、/daemon与 Agent 核心编排、工具执行层同层协作,由底层 LLM 多模型层提供推理动力。

架构中右侧的Evolution Engine(自进化引擎)还会在长时运行中持续观察、学习、评估(后文会讲到它如何被心跳自动触发)。

/goal:给 Agent 植入跨会话的"长期记忆"

/goal用于创建持久化目标。目标存储在本地~/.momo/goals.json,跨会话永久保留;每个活跃目标都会自动注入到每次聊天会话的系统提示词中,Agent 因此始终"看得见"你的长期目标。

常用子命令一览:

命令作用
momo /goal add "<标题>" [详情...]创建一个活跃目标
momo /goal list [--json]查看所有目标(含进度日志、状态)
momo /goal log <id> "<进展>"记录一条进展笔记
momo /goal done <id>标记目标完成
momo /goal rm <id>删除目标

示例:给 Agent 定一个"发版"级长期目标

momo /goal add "Ship v2.0" "with full test coverage"

之后无论开多少个新会话,Agent 都知道自己正在朝 v2.0 推进。list输出中,●表示进行中、✓表示已完成,并附带最近一条进展笔记。

目标注入提示词的逻辑见 activeGoalsBlock(),持久化与 CRUD 见 goal/store.ts;命令入口在 cli/cmd/goal.ts。

/schedule:定义"几点自动干什么"

/schedule管理定时任务,存储在~/.momo/schedule.json。支持两种节奏:

  • --every=<N>m|h|d:按固定间隔循环执行(如30m、2h、1d)
  • --at=HH:MM:每天本地时间固定时刻执行一次
# 每 60 分钟:跑测试并汇报结果 momo /schedule add --every=60m "run tests and report" # 每天 07:30:生成每日站会摘要 momo /schedule add --at=07:30 "daily standup summary" momo /schedule list [--json] # 查看任务与上次运行时间 momo /schedule rm <id> # 删除任务

关键机制:每个到期任务会以子 Agent(subagent)身份独立执行,不干扰你的主会话,运行结果、耗时、是否超时都会被记录。实现位于 subagent spawn、到期判定 schedule/store.ts,命令入口 cli/cmd/schedule.ts。

/daemon:让 Agent 自己转起来的守护循环

/daemon是整个工作流的"发动机"——一个前台长驻循环,默认每60 秒轮询一次 schedule,只要有任务到期就触发一次心跳(heartbeat)执行:

momo /daemon # 启动守护循环,Ctrl+C 停止 momo /daemon --interval=30 # 每 30 秒轮询一次

设计上有两道预算护栏,保证长时运行可控:

环境变量说明默认值
MOMO_DAEMON_INTERVAL轮询间隔(秒)60
MOMO_DAEMON_MAX_RUNS最多执行 N 次心跳后自动停止不限
MOMO_DAEMON_MAX_HOURS运行 N 小时后自动停止24

运行时会实时打印每次心跳的结果(✓ 成功 / ✗ 失败 + 耗时),结束后汇总"共执行了多少次心跳"。

源码见 cli/cmd/daemon.ts。因为它刻意设计为前台进程,想要真正的"无人值守多小时运行",用nohup、systemd 或 Windows 任务计划程序将其后台化即可:

nohup momo /daemon > daemon.log 2>&1 &

/heartbeat:手动打一次心跳(调试利器)

/daemon内部每次循环调用的就是runHeartbeat(),你也可以用/heartbeat手动单步执行一次,用来调试定时任务配置:

momo /heartbeat # 执行一次所有到期任务 momo /heartbeat --json # 结构化输出,便于脚本解析

一次心跳做三件事(见 schedule/runner.ts):

  1. 以子 Agent 运行所有到期的 schedule 任务;
  2. 汇报当前所有活跃 goal,相当于给操作者/Agent 一次"目标对齐";
  3. 若设置MOMO_XP_AUTO=1,额外触发一次经验快环(fast loop)——Agent 在长时运行中自动沉淀经验,实现"越跑越聪明"。

组合拳:一个完整的多小时自主 Agent 工作流

把三个命令串起来,就是推荐的长时运行工作流:

① 定目标——告诉 Agent 大方向:

momo /goal add "Ship v2.0" "with full test coverage"

② 定节奏——设置周期检查点 + 每日任务:

momo /schedule add --every=60m "review current progress toward the active goal, run tests, log a short summary via /goal log" momo /schedule add --at=02:00 "run the full test suite and summarize failures"

③ 启动守护——让循环自己转:

nohup momo /daemon --interval=60 > daemon.log 2>&1 &

此后每个小时,子 Agent 会自动审查目标进展、跑测试并回写进展笔记;每次新开会话,Agent 也都带着/goal注入的长期目标上下文。你早上回来时,momo /goal list里已经是一串自动记录的推进日志。

进阶配置与最佳实践

  • 轮询频率:用MOMO_DAEMON_INTERVAL或--interval=调整,任务量大时适当拉大间隔,控制 Token 成本。
  • 预算护栏:建议为无人值守场景显式设置MOMO_DAEMON_MAX_RUNS或MOMO_DAEMON_MAX_HOURS,让 Agent"到点收工"。
  • 长时运行自进化:设置MOMO_XP_AUTO=1后,每次心跳都会顺带触发一次经验快环(Signal → Distill → Inject → Verify → Gate),长任务中的踩坑与技巧会被持续蒸馏为可复用经验,这正是 MOMO CODE "Two-Speed Evolution" 双速进化在长时运行场景下的体现。
  • 写好定时提示词:schedule 的 prompt 由子 Agent独立执行,没有你的会话上下文,请写成自包含的具体指令(例如带上要跑的测试命令、汇报方式)。
  • 及时收尾:目标达成后记得momo /goal done <id>,停止向每次会话注入该目标;不再需要的定时任务用momo /schedule rm <id>清理。
  • 查看运行细节:/goal list --json与/schedule list --json均支持 JSON 输出,方便接入你自己的监控脚本。

常见问题

Q:daemon 必须一直开着吗?A:是的。/daemon是前台进程,需要 nohup / systemd / 任务计划程序托管;关闭后定时任务不会执行,但 goals 与 schedule 定义都持久化在本地,随时可恢复。

Q:定时任务失败了会中断整个 daemon 吗?A:不会。每次心跳"永不抛错",失败任务会被标记 ✗ 并继续下一次循环。

Q:goal 和 schedule 数据存在哪里?A:分别位于~/.momo/goals.json与~/.momo/schedule.json,均为本地 JSON 文件,可备份、可手工查看。

总结

MOMO CODE 的长时运行三件套各司其职:/goal定方向(长期记忆)、/schedule定节奏(定时任务)、/daemon定执行(守护循环),再加上/heartbeat手动调试与MOMO_XP_AUTO自进化联动,即可低成本打造一个多小时甚至全天候自主运行的 AI Agent 工作流。命令实现集中位于 cli/cmd/goal.ts、cli/cmd/schedule.ts、cli/cmd/daemon.ts 与 cli/cmd/heartbeat.ts,更完整的命令参考可查阅项目 README_zh.md 中的 "Long-Running Work" 章节。

  • 人工智能
  • AI Agent
  • 代码智能体
  • 大模型
  • CLI

【免费下载链接】momo-code

MOMO CODE — AI coding agent that evolves with you 一句话:MOMO CODE 是一个完全开源的、会自进化、会自微调的 AI 编程Agent 产品。 我做了全球首个 完全开源免费、会「自进化」「自微调」的 Code Agent 我把它命名为 MOMO CODE 。 " MOMO 代表了 每一个身处 AI 时代,心怀热爱、坚持微光,想要躬身创造价值的普通人。" 🔥 MOMO CODE 🔥 V1.0.0版本 它基于Opencode 框架而衍生,创新增加了 【自进化】 /evolve 和 【自微调】/fine-tune 模块 支持 25+ 大模型(DeepSeek、智谱 GLM、Moonshot Kimi、豆包、MiniMax、Claude、GPT-4、Gemini、……)。 支持自定义 OpenAI协议类 API,接入任意模型。 核心差异:每次会话后自动积累经验,通过 /evolve 快环和 /fine-tune 慢环持续自我进化。 【自进化+自微调】双速进化:让它真正"越用越聪明" 这是 MOMO CODE 最核心的设计。 我叫它 “Two-Speed Evolution”——双速进化。 灵感来自生物学:细菌有快速适应(应激反应)和长期进化(自然选择),两个时间尺度并行。

项目地址:https://gitcode.com/momozi1996/momo-code
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询