## 诊断流程样例 ### 输入 | 字段 | 示例 | |---|---| | 页面 | Reddit 当前帖子页 | | 截图/用户句子 | `Got my first paid user for my SaaS` | | helper | `http://127.0.0.1:8767` | ### 执行 ```bash cd /Users/bytedance/Documents/product-bu/20-products/tense-hud/30-rd python tools/tense_hud_watchdog.py \ --text "Got my first paid user for my SaaS" \ --url "https://www.reddit.com/..." ``` ### 预期检查 | 阶段 | 成功信号 | 失败信号 | 下一步 | |---|---|---|---| | Helper 健康 | `/health` 返回 `ok: true`,engine/model 可见 | 连接失败、端口无监听、LaunchAgent last exit 非 0 | 重启 helper,查看 `local-helper/logs/*.log` | | 句子分析 | `/analyze` 返回 `Got`,不返回 `paid` | `paid` 被标成 simple past,或返回空 | 修 `tense_hud_helper/analyzer.py` 和 gold tests | | 页面扫描 | 首屏文本进入候选队列前列 | 候选全在巨大 DOM 后部,或候选数为 0 | 调整 `src/scanPolicy.js` / `src/content.js` 的 viewport 优先级 | | 渲染结果 | `.tense-hud-mark` 数量大于 0,source 为 `spacy` 或 fallback | mark 为 0、processing 卡住、全部 timeout | 看 content script debug snapshot | ### 结论样例 `helper_down`: helper 未监听 8767,页面无标记不是语法规则问题;先恢复 LaunchAgent。 `analysis_regression`: helper 正常但 `paid user` 仍返回 `paid`,这是谓语识别回归;先修 analyzer。 `scan_starvation`: helper 和句子分析都正常,但页面 mark 为 0 且首屏文本未进入前 20 个候选;优先修 content script 的可见区域扫描策略。