软件任务处理与调试问题
诊断总结
问题 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: 语音交互卡在刷新
根因(三层问题叠加):
scheduleRestart()的removeCallbacksAndMessages(RESTART_TOKEN)不起作用(postDelayed的 Runnable 不关联 token),导致重启回调堆积。TtsManager没有播报完成回调,系统不知道何时恢复识别。- 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% |
修复完成。以下是我读完全部代码后定位到的三个核心问题及对应修复。
我来逐一核查完成情况的细节,用事实说话。