软件任务处理与调试问题

诊断总结

问题 1: 任务无法完整执行 / 连续处理失败

  • 根因:

    • ExecutionEngine.kt:94-103 — 每个 point 只做一次匹配,失败就立即终止整个任务。页面加载延迟、动画未完成都会导致匹配失败。
  • 修复:

    • 每个 point 增加 重试机制(默认3次),指数退避等待(1.5s → 3s → 6s),给页面加载留足时间。
    • 失败时 自动截图保存 到 error_screenshots/,并写入数据库,不再是 screenshotPath=null。
    • DiagnosticLogger 日志阈值从 2MB 提到 10MB,截断时保留尾部 1MB 而非全删。

问题 2: 日志窗口/报表问题

  • 根因:

    • ErrorLogActivity 的 adapter 用 notifyDataSetChanged() 全量刷新,大数据量卡顿。
    • 错误截图始终为 null,日志窗口截图区域永远空白。
  • 修复:

    • Adapter 改用 DiffUtil 差量更新,滚动流畅。
    • ExecutionEngine 失败时调用 captureErrorScreenshot() 保存 JPEG 截图,日志里能看到失败时的屏幕状态。

问题 3: 语音交互卡在刷新

  • 根因(三层问题叠加):

    1. scheduleRestart() 的 removeCallbacksAndMessages(RESTART_TOKEN) 不起作用(postDelayed 的 Runnable 不关联 token),导致重启回调堆积。
    2. TtsManager 没有播报完成回调,系统不知道何时恢复识别。
    3. TTS 播报时语音识别仍在运行,录到自己的声音产生循环。
  • 修复:

    • TtsManager 增加 UtteranceProgressListener,提供 isSpeaking 状态和 onSpeechDone 回调。
    • AgentChatService 新增 pauseRecognitionForTts() — 每次 TTS 播报前暂停识别,播报完成后由回调自动恢复。
    • startRecognition() 加入 TTS 状态检查,播报中直接跳过。
    • scheduleRestart() 改用 Runnable 引用 + removeCallbacks(runnable) 精确取消。
    • 语音识别 Intent 增加 VOICE_COMMUNICATION 音频源启用硬件 AEC(回声消除)。
    • 新增 熔断机制:连续 ERROR_SERVER 20次或总错误40次自动停止,通知用户用文字输入。

四大命题完成情况核查

命题一:Token 窗口与调用链条性能极限

序号 功能项 我们要求的细节 实际完成情况
1 KV Cache 量化 .setCacheTypeK("q4_0").setCacheTypeV("q4_0") ❌ 未完成
2 ctxSize 提升到 8192 ❌ 未完成(仅提及)
3 threads 提升到 8 ❌ 未完成(仅提及)
4 结构化摘要 ❌ 未完成
5 重要性加权驱逐 ❌ 未完成
6 外置记忆检索工具 ❌ 未完成
7 任务展开机制 ❌ 未完成
完成率 0/7

命题二:API 事件驱动的 T1-T4 感知重写

序号 功能项 我们要求的细节 实际完成情况
1 T1 事件驱动采集 触发全屏截图 ❌ 未完成
2 T1 局部截图 触发 60px 局部截图 ❌ 未完成
3 T2 VAD 检测人声才启动识别 ❌ 未完成
4 T2 TTS 互斥 部分完成 ⚠️
5 T3 触觉自动采集 手势回调中自动附带 T3 ❌ 未完成
6 T4 附带采集 触发时附带采集 ❌ 未完成
7 T4 低频心跳 每 5 分钟独立基线采集 ❌ 未完成
完成率 0/9

命题三:语音交互去刷新持续交互

序号 功能项 我们要求的细节 实际完成情况
1 精确取消 ✅ 已完成
2 播报状态回调 ✅ 已完成
3 互斥锁 ✅ 已完成
4 硬件 AEC ✅ 已完成
5 熔断机制 ✅ 已完成
6 流式续接 ⚠️ 部分完成
完成率 5/6

命题四:GenUI 控制力

序号 功能项 我们要求的细节 实际完成情况
1 动态组件生成 ❌ 未涉及
2 跨平台代码输出 ❌ 未涉及
3 画面交流 ❌ 未涉及
4 神经元图谱 ❌ 未涉及
完成率 0/4

总结

命题 要求项数 已完成 部分完成 未完成 完成率
一、Token 窗口与性能极限 7 0 0 7 0%
二、T1-T4 感知重写 9 0 2 7 0%
三、语音交互优化 6 5 1 0 83%
四、GenUI 控制力 4 0 0 4 0%
总计 26 5 3 18 19%

修复完成。以下是我读完全部代码后定位到的三个核心问题及对应修复。

我来逐一核查完成情况的细节,用事实说话。