AI多Agent协作系统实战(八):UI一致性与自动化流水线的连环坑 系列第8篇 | 从Banner高度到review.py的正则一个下午修了8个bug前言今天下午本来只想改一个请假页面的标题位置结果一改就是一下午。从Banner高度到搜索栏对齐从review.py的正则到ws_server的ping任务一个接一个的坑。这就是多Agent协作系统的真实日常——你以为改的是UI其实改的是整个流水线。一、请假页面的Banner三连修1.1 标题居中→靠左用户截图说“请假单的banner条文字位置还是不对呀首页是在左边的。”查了代码.header-title的CSS是justify-content: center而首页是flex-start。/* 修改前 */.header-title{display:flex;align-items:center;flex:1;justify-content:center;/* 居中 */}/* 修改后 */.header-title{display:flex;align-items:center;flex:1;justify-content:flex-start;/* 靠左 */}改完构建部署用户说“还是在报这个错误。”1.2 Banner高度太高用户又发了张截图“请假单的页面banner条高度还是很高。”对比了leave.vue和index.vue的header CSSleave.vue:height: 80rpx,padding: 16rpxindex.vue:height: 56rpx,padding: 8rpx/* 修改前 */.header-content{padding:16rpx $space-md-r 4rpx;height:80rpx;}/* 修改后 */.header-content{padding:8rpx $space-md-r 4rpx;height:56rpx;}1.3 箭头文字对齐工单详情页用户第三次发截图“请假申请的banner条箭头和文字调成和工单的详细页一致。”对比了leave.vue和service/detail.vue的结构leave.vue: 箭头和标题是两个独立容器service/detail.vue: 箭头和标题在同一个.header-left容器里!-- 修改前 --viewclassnav-backtapgoBacktextclassback-icon‹/text/viewviewclassheader-titletextclassheader-greeting请假申请/text/view!-- 修改后 --viewclassheader-lefttapgoBacktextclassback-icon‹/textviewclassheader-infotextclassheader-title请假申请/text/view/viewCSS也要跟着改加上letter-spacing: 1rpx。二、review.py的正则连环坑2.1 文件不存在的误报每次复核报告都有一行❌ 文件不存在: /vol1/1000/workspace/file/8080/mobile/src/pages/ - 移动端页面查了review.py的代码它在检查涉及文件时把整个字符串当文件路径# 第45行lineline.strip().lstrip(- )# 第51行 - 只处理了破折号linere.sub(r\s*[—–]\s*.*$,,line)问题是测试MD里的路径是- /vol1/1000/workspace/file/8080/mobile/src/pages/ - 移动端页面普通连字符-不在正则的匹配范围内。修复# 修改前linere.sub(r\s*[—–]\s*.*$,,line)# 修改后linere.sub(r\s[—–-]\s.*$,,line)2.2 目录路径当文件检查review.py还把目录路径当文件检查直接报❌。修复加了目录判断# 目录路径跳过文件内容检查ifos.path.isdir(full_path):results.append(f✅ 目录存在:{full_path})continue三、心跳重复消息用户说“这两条提示重复了。”【小密统筹报告 07-07 08:25】 ✅ 所有任务已完成服务运行正常 ⏸️ 系统空闲已自动暂停检测全部任务已完成查了代码format_report已经输出了所有任务已完成heartbeat脚本又打印了系统空闲。两个不同的地方输出了重复的信息。修复删掉了heartbeat里的重复打印。四、ws_server的ping任务bug飞书突然出现了一条奇怪的消息✅ ping 完成通知小牛完成任务请复核 ❌ 复核不通过: ping - 任务MD不存在查了ws_server日志[WS] 收到回复: 小牛 → 小密 | ping [WS] ✅ 飞书通知已推送: ping根因xiaomi_heartbeat_check.py用openclaw agent -m ping唤醒AgentAgent回复的task_id是pingws_server把它当成任务完成处理了。修复ws_server加了系统消息过滤# 忽略ping/pong等系统消息iftask_idin(ping,pong,ack,heartbeat):log.debug(f⏭️ 忽略系统消息:{task_id})continue五、auto_pipeline的测试MD模板auto_pipeline.py自动生成测试MD时涉及文件写的是- /vol1/1000/workspace/file/8080/mobile/src/pages/ - 移动端页面这是个目录路径不是文件路径。review.py检查时当然找不到。修复模板改为- /vol1/1000/workspace/file/8080/mobile/src/pages/ (目录验证目录存在即可)六、经验总结UI修改要对比多个页面改请假页之前先看首页、工单详情页的CSS保持一致正则要覆盖所有变体-、—、–都要处理不能只处理破折号目录≠文件检查文件存在性时先判断是目录还是文件系统消息要过滤ping/pong/heartbeat这类消息不能当任务处理自动模板要验证自动生成的MD文件路径格式要符合review.py的解析规则