Commit c016882
修复主动搭话屏幕标签泄漏 (Project-N-E-K-O#1556)
* 修复主动搭话屏幕标签泄漏
主动搭话屏幕-only 场景下,模型可能把屏幕来源误写成 [Screen] 首行标签,并被当作正文发送。
新增屏幕来源标签清理逻辑,剥离 [Screen]、[Vision]、[Window] 等非法首行标签,同时保留 [CHAT]、[WEB]、[MUSIC]、[MEME]、[PASS] 等合法标签解析。
在流式解析、flush、格式纠正、BM25 regen 和最终投递前统一兜底清理,并增加回归测试覆盖 [Screen] 泄漏与合法标签保留。
* fix(proactive): 屏幕泄漏标签归一成 CHAT 并兼容组合标签
_strip_proactive_screen_tag_leak 原先只删 [Screen] 不设 source_tag,
导致剥完后落到无 tag 的格式自救 regen/drop 路径。现改为返回
(cleaned, recovered_tag):已知屏幕泄漏标签一律归一成 CHAT(语义上
就是聊屏幕内容),并兼容 [Screen][CHAT] 这类组合(剥掉泄漏标签后
采用紧随的真实来源标签,避免 [CHAT] 字面漏给 TTS)。匹配大小写不敏感。
5 处调用点(流式 / flush / 格式自救 / 最终兜底 / BM25 regen)同步
消费 recovered tag。回归测试补 CHAT 映射、大小写、组合标签、未知标签放行。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Hongzhi Wen <cartabio.coder1@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent e67374c commit c016882
2 files changed
Lines changed: 100 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1726 | 1726 | | |
1727 | 1727 | | |
1728 | 1728 | | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
| 1765 | + | |
| 1766 | + | |
| 1767 | + | |
| 1768 | + | |
1729 | 1769 | | |
1730 | 1770 | | |
1731 | 1771 | | |
| |||
6319 | 6359 | | |
6320 | 6360 | | |
6321 | 6361 | | |
| 6362 | + | |
| 6363 | + | |
| 6364 | + | |
| 6365 | + | |
6322 | 6366 | | |
6323 | 6367 | | |
6324 | 6368 | | |
| |||
6375 | 6419 | | |
6376 | 6420 | | |
6377 | 6421 | | |
| 6422 | + | |
| 6423 | + | |
| 6424 | + | |
| 6425 | + | |
6378 | 6426 | | |
6379 | 6427 | | |
6380 | 6428 | | |
| |||
6431 | 6479 | | |
6432 | 6480 | | |
6433 | 6481 | | |
| 6482 | + | |
| 6483 | + | |
| 6484 | + | |
| 6485 | + | |
6434 | 6486 | | |
6435 | 6487 | | |
6436 | 6488 | | |
| |||
6460 | 6512 | | |
6461 | 6513 | | |
6462 | 6514 | | |
| 6515 | + | |
| 6516 | + | |
| 6517 | + | |
6463 | 6518 | | |
6464 | 6519 | | |
6465 | 6520 | | |
| |||
6601 | 6656 | | |
6602 | 6657 | | |
6603 | 6658 | | |
| 6659 | + | |
| 6660 | + | |
| 6661 | + | |
| 6662 | + | |
6604 | 6663 | | |
6605 | 6664 | | |
6606 | 6665 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
69 | 110 | | |
70 | 111 | | |
71 | 112 | | |
| |||
0 commit comments