TUTORIAL

GEO 项目夜间自动开发 — 自动化任务执行指南

GEO 项目夜间自动开发 — 自动化任务执行指南

6 分钟阅读2026年5月13日9 次浏览
飞书教程团队精选GEO

GEO 项目夜间自动开发 — 自动化任务执行指南

GEO 项目夜间自动开发 — 自动化任务执行指南

文档信息 创建时间:2026-04-28 作者:小龙(AiToMoney 团队) 项目:GEO ToolKit — AI Crawler 检查与 SEO/GEO 优化工具 标签:自动化、Cron、OpenClaw Agent、GEO 项目

  1. 背景 GEO 项目需要实现夜间自主开发:每天凌晨自动触发 AI 智能体(小龙)执行代码开发、测试和文档更新,全程无需人工干预。

核心目标:cron 定时触发 → 智能体自动开发 → 完成后 QQ 汇报结果

  1. 问题与排查过程 2.1 问题描述 cron 脚本每天 03:00 和 04:00 执行,日志显示"通知已发送",但实际代码一行没动。持续了 3 天(4/27 ~ 4/28)。 2.2 排查链路

排查项

结果

时间

cron 是否执行

✅ 正常执行

4/28 07:18

脚本是否写入队列文件

✅ 正常写入

4/28 07:18

openclaw message send 是否成功

✅ 消息发送成功

4/28 07:18

代码是否有新文件产出

❌ 无新文件

4/28 07:18

工作记录日志是否生成

❌ 未生成

4/28 07:18 2.3 根因分析 关键发现:openclaw message send 是小龙发消息给建国,不是建国发消息给小龙。

比喻:小龙自己给自己发了个备忘录,然后假装没看到。 整个链路在 4/25 和 4/26 能工作,是因为当时有 heartbeat 心跳机制检测触发文件。但 4/27 后心跳机制没有正确触发开发任务执行。 2.4 失败尝试

方案

结果

原因

heartbeat 检测触发文件

❌ 失效

心跳逻辑不够强,收到消息没有触发开发

openclaw agent --session-id

❌ 失败

session 文件锁冲突(当前对话占用锁)

openclaw agent --channel qqbot --to

❌ 失败

同样受 session 锁限制

手动触发(建国发消息)

✅ 可行

但失去自动化意义

  1. 解决方案 3.1 核心发现 openclaw agent --local 可以创建全新的独立会话,不依赖现有 gateway session,绕过锁冲突。 测试验证: openclaw agent
    --local
    --to "+86000000000"
    --message "测试:回复'NEW SESSION OK'即可"
    --timeout 30

输出:NEW SESSION OK ✅ 3.2 最终架构

  1. 脚本实现 4.1 Round 1 — 通知建国(05:00) 文件:scripts/geo-night-work-03.sh #!/bin/bash

GEO 夜间开发 Round 1(05:00)— 通知建国

openclaw message send
--channel qqbot
--target qqbot:c2c:2374A81FBC14BD45333517A5FED72829
--message "🌙 GEO 夜间开发启动(05:00)..."

4.2 Round 2 — 自动触发执行(05:05) 文件:scripts/geo-night-work-04.sh #!/bin/bash

GEO 夜间开发 Round 2(05:05)— 全自动触发执行

核心:openclaw agent --local 创建新会话,绕过 session 锁

1. 写入任务队列

cat > "<equation>QUEUE_DIR/</equation>{DATE}-0505.json" << EOF { "round": "05:05", "task": "GEO Checklist 核心模块+测试", "instruction": "..." } EOF

2. 用 openclaw agent --local 触发新会话执行开发

openclaw agent
--local
--to "+86000000000"
--message "🌙 GEO 夜间开发任务..."
--timeout 600

4.3 Crontab 配置

02:00 - 记忆备份到飞书

0 2 * * * backup-feishu.sh

05:00 - GEO 夜间开发 Round 1(通知)

0 5 * * * geo-night-work-03.sh

05:05 - GEO 夜间开发 Round 2(自动执行)

5 5 * * * geo-night-work-04.sh

  1. 测试结果 5.1 测试执行时间线

时间

事件

状态

08:04

手动触发测试(首次)

✅ 成功

08:04-08:08

新会话自动开发(4 分钟)

✅ 成功

08:08

测试完成,退出码 0

✅ 成功

16:50

第二次 cron 触发测试

✅ 成功 5.2 开发产出

文件

说明

状态

geo_checklist.py

GEO Checklist 核心模块(670 行)

✅ 新增

geo_checklist_test.py

31 个测试用例

✅ 新增

main.py

FastAPI 后端 v0.3.0

✅ 更新 5.3 测试结果 All 31 tests passed. ✅

测试覆盖: Meta 标签检查(title/description/canonical/viewport/charset/language) 结构化数据验证(JSON-LD/Open Graph/Twitter Card) 内容质量检查(标题/正文长度/H 标签层次) 技术优化(robots.txt/sitemap/https/移动适配) AI Crawler 检查(12+ AI 爬虫 robots.txt 规则) 性能检查(页面大小/图片 alt 属性) 5.4 日志输出 [2026-04-28 08:04:49] [TEST] GEO 测试任务启动 [2026-04-28 08:04:49] [TEST] 队列文件已写入 [2026-04-28 08:04:49] [TEST] 调用 openclaw agent --local 触发执行... ...(自动开发过程:写代码、测试、修复、再测试)... All 31 tests passed. [2026-04-28 08:08:01] [TEST] openclaw agent 退出码: 0 [2026-04-28 08:08:01] [TEST] 测试任务完成

  1. 关键技术点 6.1 openclaw agent --local vs Gateway 模式

对比项

--local

Gateway 模式

Session 依赖

✅ 无(创建新会话)

❌ 需要现有 session

锁冲突

✅ 不会锁

❌ 容易锁冲突

适用场景

定时任务、自动化触发

用户交互场景

推荐指数

⭐⭐⭐⭐⭐

⭐⭐⭐ 6.2 关键命令

测试 --local 模式是否可用

openclaw agent
--local
--to "+86000000000"
--message "测试消息"
--timeout 30

6.3 注意事项

--to 参数:必须提供有效的 E.164 格式号码,可以是任意占位号码(如 +86000000000),用于 session 路由。

--timeout 参数:开发任务耗时较长,建议设置 300-600 秒(5-10 分钟)。

  1. 后续计划 完善 geo_checklist.py 的 @graph JSON-LD 格式解析 集成到秒哒平台 添加批量 URL 检查功能 生成 SEO/GEO 改进建议报告

© 2026 AiToMoney 团队 | GEO 项目自动化执行指南