状态:已实施(2026-09-05,代码提交 4c7dad0/49d8619/ddf3cb6/b1af826/843886e0;真机验收待执行)。 依据:用户 2026-09-05 反馈批 9 项逐项讨论裁决(第 1/2/3/4/5/6/7/8/9 项);第 8 项执行型智能体另文规划(2026-09-05-goal-execution-agent-design.md,建议 v0.21 系列),本系列只承接 1
7、9。 设计:2026-09-05-v0.19-feedback-batch-design.md(§2.12.9 规格 + §3 版本切分 + §4 REQ-281~290)。 排期注:本批分三个小版本——v0.19.6(本档:REQ-281/282/285/290 埋点先行)→ v0.19.7(REQ-284/286/287 + 290 流式预算)→ v0.19.8(REQ-283/288/289)。
| # | 反馈项 | 裁决 |
|---|---|---|
| 1 | 焦点问题:点击采集窗口以外画面停更 | 双屏复现确认(左采集右工作;点右屏停更/ASR 续;点回恢复;视频本身在动)→ 我方链路修复:帧心跳+WGC watchdog+停更提示 |
| 2 | 会话标题均为"抖音" | A 层零 AI(同源去重/首句升级/改名入口)先行;B 层 AI 建议标题(默认关,会话结束+精修后刷新)v0.19.8 |
| 3 | 画面理解开关入 AI 精修程度选择页 | 会话级发起弹层 checkbox+任务级覆写+「设为默认」单向写回(v0.19.7) |
| 4 | 侧栏拖拽"加速" | 根因=ColumnResizer 累计位移喂增量语义 → 全站修复(本档) |
| 5 | 挂体系时能直接建节点 | 三类实体均可轻建+搜索选择器(v0.19.7) |
| 6 | 笔记列表去勾选框改选中/拖拽 | 交互矩阵裁决(§2.6/2.9):单击选中+右栏读/Ctrl·Shift 多选/即时拖拽/划选空白锚点/手动排序模式/批量栏扩展(v0.19.7) |
| 7 | 体系的再深挖 | 头脑风暴定 D1 证据反推生长+D2 节点缺口仪表(v0.19.8);D3 先修作为执行层配套 |
| 8 | 目标智能体 | 执行型 agent 本批立项+完整规划(另文档;P0 规则骨架建议 v0.21.0,不插队 v0.20) |
| 9 | AI 精修 1 分钟+能否加快 | 直连确认无中转;裁决 ①片内流式 ②输出预算化(v0.19.7)+ 本档先埋点取基线 |
| REQ | 需求 | 优先级 | 目标版本 | 状态 |
|---|---|---|---|---|
| REQ-281 | 画面停更检测与捕获会话自愈(帧心跳/WGC watchdog/停更提示) | P1 | v0.19.6 | 已实施 |
| REQ-282 | 会话标题内容化 A 层(去重/首句升级/改名/title_kind) | P1 | v0.19.6 | 已实施 |
| REQ-283 | 会话标题 AI 建议层 | P2 | v0.19.8 | 已立项 |
| REQ-284 | 画面理解开关入精修弹层 | P1 | v0.19.7 | 已立项 |
| REQ-285 | ColumnResizer 全站增量拖拽修复 | P1 | v0.19.6 | 已实施 |
| REQ-286 | 挂体系弹层搜索+三类内联轻建 | P1 | v0.19.7 | 已立项 |
| REQ-287 | 笔记列表交互重构(交互矩阵) | P1 | v0.19.7 | 已立项 |
| REQ-288 | 体系 D1 证据反推生长 | P2 | v0.19.8 | 已立项 |
| REQ-289 | 体系 D2 节点缺口仪表 | P2 | v0.19.8 | 已立项 |
| REQ-290 | AI 精修加速(埋点/流式/预算) | P1 | v0.19.6/7 | 已实施 |
- REQ-285(拖拽加速):根因=
ColumnResizer每次 move 传距起点累计位移(clientX-startX),而useColumnLayout.resizeBy为增量语义(cur+delta)→ 重复累加=「加速」。修复=lastX 相邻增量;补role=separator+tabIndex:←/→ 步进 ±16px(Shift=±8px),双击复位保留(§2.9 矩阵)。 - REQ-282(标题 A 层):
title_kind TEXT NOT NULL DEFAULT 'source'(幂等加列零重建);人工改名update_session_title→ kind='manual' 永久停覆写;同源去重=创建点(实时 start_live_session / 视频导入)对近 90 天非失败标题做dedupe_title(先 normalize 剥平台尾缀白名单,纯函数);首句升级=融合完成钩子(成功与失败路径都尝试;仅 kind=source 且 8–40 字可用句,纯音乐/全符号不升级)成功后广播 sessions 域。窗口标题净化只剥「- 抖音」式尾缀一次(浏览器「xxx - 抖音 - Edge」复合尾缀留待内容句升级兜底——诚实边界)。 - REQ-290(埋点先行):每片每次 attempt 记录 ok/fail elapsed_ms(含片序/总数/重试次数)日志行;流式/首 delta 埋点随 v0.19.7 上线(§2.8 ③)。真机基线=3 条真实会话 A/B(本档登记)。
- REQ-281(帧心跳/watchdog):
frame_liveness.rs纯状态机(采样新鲜度 1.5s gate;STALL_SECS=5s;重建节流 30s;心跳 2s);判定仅 WGC 窗口捕获模式 + 目标可见(IsIconic/IsWindowVisible,业界口径失焦不停);副作用在run_screen_worker采样拍后执行——stall_edge →live:frame-stalled{silentSecs},恢复帧 →live:frame-recovered,心跳live:frame-heartbeat{backend,gotFrame,silentSecs,visible};revive_wgc()重建失败降级 DXGI(不回切,沿用既有周期重建)。idle 探针/暂停不喂停更判定(探针 5s 拍被新鲜度 gate 兜底)。
- REQ-281:双屏复现(帧心跳日志)→ watchdog 恢复对比(≤5s+重建耗时)
- REQ-282:抖音连续两条会话 →「抖音」「抖音 #2」;首句升级;改名后不再被覆写
- REQ-290:3 条真实会话埋点基线(A/B 前置)
- 前端:ColumnResizer 新增 5 用例(增量语义/up 后不发/side 反向/键盘步进/双击复位)全绿;全量 vitest 75 文件 556 用例通过(首轮 1 例偶发超时,复跑全绿);tsc 零错误。
- Rust:
cargo check --all-targets通过(CARGO_EXIT=0)·cargo clippy --all-targets零警告(CLIPPY_EXIT=0);本会话沙箱无法执行 Rust 测试二进制(0xc0000139 STATUS_ENTRYPOINT_NOT_FOUND——2026-09-04 旧测试 exe 同败,判定为环境级限制而非改动引入):title_rules 9 例 + frame_liveness 4 例单测随文件入库,待常规终端/CI 补跑。