fix(vc): 隔离监听群人工追问输出协议 - #941
Merged
Merged
Conversation
deepcoldy
approved these changes
Aug 28, 2026
deepcoldy
left a comment
Owner
There was a problem hiding this comment.
隔离监听群人工追问输出协议方向正确,逻辑自洽。
已核验:
- 两条路径互斥不重叠——自动投递(dispatchAttempt 有值)走 delivery-request instruction 通道注入严格 JSON 协议;人工 IM 追问(dispatchAttempt undefined + 有 origin)走新的自然语言约束 + 发送端兜底拆包。不双重注入,自动投递零回归。
- 主防线(提示注入)是出口无关的,普通 lane 与 codex-app sidecar lane 均注入到。
- 兜底作用域为「模型未显式 send 的原始 final text」出口;receiver 会话的流式/辅助卡片已由既有抑制门全部挡住。
- envelope 三态(publish / skip / invalid)处理完备:invalid 逐字透传是正确取舍,避免误伤合法回答;拆包后仍走 neutralizeLarkAtTags。
测试验证(在 PR 合入当前 master 的合并结果上执行,非仅 PR 分支):
- bun run build 通过(exit 0)
- VC 相关 6 个测试文件 272/272 通过
- 反向变异:移除发送端拆包赋值后,新增回归用例变红,确认该修复承重
非阻断 follow-up 建议(不影响合入):
- 模型显式 botmux send 路径无 envelope 检测,且自 send 后 final_output 被抑制、兜底不触发。主防线已覆盖该出口,且人工回合本就以 send 为预期答复通道,基率极低。后续可在 send 命令门做「检测到 envelope 即 log + 拒发」,而非静默拆包(静默拆会误伤用户要求解释 JSON 格式的合法场景)。
- daemon 侧协议注入与 IM skip 兜底分支目前无带牙断言(仅断言常量字符串内容)。建议补 vcMeetingApplicationContext 在存在 IM origin 时前置该约束的纯函数断言。
|
🚀 Released in v3.18.2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
自动会议投递会要求模型使用内部 JSON 协议,供 Botmux 判断是否要向监听群发布增量:
{"decision":"skip"} {"decision":"publish","content":"..."}监听群中的人工
@Bot会路由到同一个会议 receiver session,以复用已有会议上下文。旧实现没有在人工追问回合显式覆盖自动投递的 JSON 输出协议。因此模型可能沿用上一轮自动纪要的格式,最终被作为人工回复原样渲染到监听群,暴露内部控制 JSON。
修复
@Bot追问注入可信的自然语言输出约束,明确禁止输出或解释内部decision/publishJSON;{"decision":"publish","content":"..."},仅向用户展示其中的content;skip/publishJSON 协议,不改变自动纪要的投递规则。回归测试
新增覆盖:
publishJSON 时,只渲染content正文,不显示控制 JSON;已执行:
影响范围
仅影响带有可信
vcMeetingImTurnOrigin的监听群人工追问回合。skip/publish协议;