跳到正文
🟠 需外部服务 — 需自备相关账号/权限 进阶 开发工具

手机触发自动测试修复循环

手机发一条 Telegram 消息,OpenClaw 自动跑测试、定位失败、修复代码、再跑测试,循环到全部通过为止。

⚔️ 难度 ★★☆ 进阶
⏱ 配置耗时 30 分钟-数小时(取决于Bug数量)
🎁 掉落 节省 30 分钟-数小时(取决于Bug数量)
📜 所需秘籍 telegram filesystem
🦞 部署 可一键部署

🎯 做完你会得到

早上醒来,昨晚手机触发的修复任务已完成,代码全部测试通过,完整修复日志发到 Telegram。

🛠 需要什么

  • telegram
  • filesystem

👤 适合谁

  • 开发者
  • 运维工程师

⚡ 效果预览

手机发一条Telegram消息,AI自动修复代码bug并部署,随时随地运维

🔧 Step 0:先配置消息接收渠道

⚠️ 本案例需要发送通知到你的手机,先配置消息渠道 👉 去配置 Telegram/飞书/微信接入 →

一句话介绍

睡前手机发一句修复项目测试,OpenClaw 通宵自动跑测试→修 Bug→再跑测试,循环直到全部通过,醒来看结果。

解决什么问题

写了一堆代码但测试挂了,手动一个个修太费时间,尤其是晚上不想坐电脑前了。这个场景让你用手机远程启动一个自动修复循环,AI 持续工作直到所有测试通过:

  • 谁会用到:独立开发者、远程工作的程序员、想利用非工作时间跑修复的技术团队
  • 省了什么:手动调试→修改→重跑测试的反复循环时间
  • 效果是什么:手机一条消息触发,AI 自主工作数小时,你只看最终结果

真实案例:Dave (@php100) 在 X 上分享:“Send ‘ralph ~/proj fix tests’ via Telegram. Clawdbot matches the skill, runs the loop, sends progress every 5 iterations. Wake up to working code and a full log of what happened.”

前置条件

  • OpenClaw 已接入 Telegram(手机能和它对话)
  • 项目代码在 OpenClaw 可访问的机器上,且有可运行的测试套件
  • Claude Max 账号,或 Anthropic API Key

项目必须有自动化测试(jest、pytest、go test 等),AI 靠测试结果判断是否修好了。

用到的工具

工具用途获取方式
coding-agent(内置)启动 Claude Code / Codex 会话修复代码OpenClaw 内置
anthropic/claude-sonnet-4-6分析测试失败原因、生成修复代码Claude Max 账号,或 API Key
Telegram(内置)接收指令、推送进度、发送最终报告已配置即可

预期结果

触发后你会看到:

  • 每 5 次迭代:Telegram 收到进度报告第 5 轮:已修复 3 个测试,还剩 2 个失败
  • 全部通过时:收到完成通知✅ 所有测试通过,共修复 5 个测试,耗时 47 分钟
  • 附带完整日志:修了什么、改了哪些文件、每轮的测试结果

操作方式

在 Telegram 里发一条消息:

帮我修复 ~/my-project 里的测试。跑一遍测试,找到失败的,修复代码,再跑测试,循环直到全部通过。每5轮给我报一次进度。

或者更简洁:

~/my-project fix tests,每5轮汇报一次

OpenClaw 收到后自动开始循环:

  1. 运行测试套件
  2. 分析失败用例的错误信息
  3. 定位相关代码文件
  4. 生成修复方案并修改代码
  5. 重新运行测试
  6. 如果还有失败 → 回到步骤 2
  7. 全部通过 → 发送完成报告

怎么验证成功了

  1. 在一个有 2-3 个失败测试的项目上试一次
  2. 手机发消息触发
  3. 等待 Telegram 进度推送
  4. 收到完成通知后,在电脑上 git diff 检查改动是否合理

踩坑记录

修复循环不收敛,一直在改来改去

症状:已经跑了 20 轮,测试失败数没减少甚至增加了。

解法:设置最大迭代次数上限(如 15 轮),超过后强制停止并发报告。告诉 OpenClaw最多跑 15 轮,跑不完就把当前状态发给我。

修复引入了新 Bug

症状:原来失败 3 个,修完变成失败 5 个。

解法:让 OpenClaw 每次修复后检查原本通过的测试是否还通过,如果引入了回归就撤销本轮修改。

测试套件跑一次很慢

症状:每轮测试要 10 分钟,整个循环要几个小时。

解法:让 OpenClaw 只跑失败的测试(pytest --lf / jest --onlyFailures),全部通过后再跑一次完整套件确认。

不满意怎么调

  • 想限制修改范围 → 告诉 OpenClaw只修改 src/ 目录下的文件,不要动测试文件本身
  • 想用更强的模型 → 指定 claude-opus-4-5 处理复杂逻辑 Bug
  • 想每次修复都提交 → 让 OpenClaw 每修好一个测试就 git commit,方便回溯
  • 想白天也能用 → 不限于晚上,任何时候手机发消息都能触发
#远程开发#自动测试#代码修复#Telegram#Claude Code