AskaEth
8ab241f627
feat(channel): 群聊发言人归属落进模型上下文(user 侧也产出标注)
裁决 06.4.1 行动项①②落地(主人 2026-10-13 定稿:结构化归属 + system 标注,
不把元数据拼进用户正文)。
- loop/attribution.go:发言人归属从「只认 assistant」扩到 user 侧,按三条
结构事实各出一条边界说明 —— assistant 的角色(她自己 / 别的角色,措辞逐字
不变)、受限会话里带昵称的第三方人员(明标「不是主人」)、以及不带昵称的
主人本人;受限会话里未标注的 assistant 历史按 design/22 §7-4 归到本会话角色。
标注仍只新增 system 消息,正文一字不改。
- channelbridge/inbound_speaker.go(自 inbound.go 拆出):第三方发送者标注车道
thirdPartySenderName —— 主人恒返回空(主人从不被标注),其余昵称缺失时退到
平台 uid 再退到「未署名发送者」,绝不落进「空标注 = 主人」那条车道;
thirdPartyBoundaryPrompt 删掉「只有未标注昵称的消息才是管理员(主人)发言」,
改为「谁在说话以「发言归属」标注为准」。
- channelbridge/source.go:来源行删掉「(非管理员账户=第三方人员,未标注昵称=主人)」。
- 主人本人在群里的消息落库不再写昵称(sender_name 空 = 主人),使转录里同一句话
的归属与当回合一致。
验证:go build ./... / go vet ./... / go test ./...(含全树)全绿;
变异自证:把 user 侧归属恢复成不产出 ⇒ 3 条 loop 用例 + 1 条渠道端到端用例变红。
2026-10-13 20:24:21 +08:00
..
2026-10-06 14:12:24 +08:00
2026-10-06 14:12:24 +08:00
2026-10-06 14:12:24 +08:00
2026-10-06 14:12:24 +08:00
2026-10-06 14:12:24 +08:00
2026-10-06 14:12:24 +08:00
2026-10-03 22:28:21 +08:00
2026-10-13 20:24:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-13 20:24:21 +08:00
2026-10-04 13:07:52 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-04 16:21:20 +08:00
2026-10-05 09:18:50 +08:00
2026-10-03 22:28:21 +08:00
2026-10-04 19:41:44 +08:00
2026-10-04 17:57:08 +08:00
2026-10-04 21:50:08 +08:00
2026-10-04 17:57:08 +08:00
2026-10-04 21:50:08 +08:00
2026-10-05 09:53:08 +08:00
2026-10-06 08:16:03 +08:00
2026-10-06 14:12:25 +08:00
2026-10-06 08:16:03 +08:00
2026-10-05 16:19:32 +08:00
2026-10-06 21:16:21 +08:00
2026-10-06 21:16:21 +08:00
2026-10-05 15:38:53 +08:00
2026-10-04 12:31:20 +08:00
2026-10-03 22:28:21 +08:00
2026-10-06 14:12:25 +08:00
2026-10-06 21:16:21 +08:00
2026-10-04 11:26:35 +08:00
2026-10-04 11:26:35 +08:00
2026-10-04 16:46:57 +08:00
2026-10-06 14:12:24 +08:00
2026-10-04 12:07:44 +08:00
2026-10-05 11:30:51 +08:00
2026-10-04 12:07:44 +08:00
2026-10-05 11:30:51 +08:00
2026-10-05 11:47:39 +08:00
2026-10-05 11:47:39 +08:00
2026-10-04 12:07:44 +08:00
2026-10-04 14:37:37 +08:00
2026-10-06 14:12:24 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-04 17:57:08 +08:00
2026-10-05 09:53:08 +08:00
2026-10-05 12:12:23 +08:00
2026-10-04 22:30:04 +08:00
2026-10-04 14:30:26 +08:00
2026-10-03 22:28:21 +08:00
2026-10-04 13:07:52 +08:00
2026-10-06 14:12:24 +08:00
2026-10-04 14:17:58 +08:00
2026-10-04 14:17:58 +08:00
2026-10-04 13:56:35 +08:00
2026-10-06 14:12:25 +08:00
2026-10-05 09:53:08 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 12:31:20 +08:00
2026-10-04 14:53:40 +08:00
2026-10-06 08:16:03 +08:00
2026-10-04 17:57:08 +08:00
2026-10-04 11:26:35 +08:00
2026-10-04 11:26:35 +08:00
2026-10-04 17:57:08 +08:00
2026-10-05 12:12:31 +08:00
2026-10-05 12:12:31 +08:00
2026-10-04 11:26:35 +08:00
2026-10-03 22:28:21 +08:00
2026-10-07 09:34:45 +08:00
2026-10-07 09:34:45 +08:00
2026-10-04 22:30:04 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-04 12:45:48 +08:00
2026-10-04 12:45:48 +08:00
2026-10-04 14:14:05 +08:00
2026-10-06 21:48:48 +08:00
2026-10-03 22:28:21 +08:00
2026-10-04 22:14:42 +08:00
2026-10-03 22:28:21 +08:00
2026-10-03 22:28:21 +08:00
2026-10-05 08:04:49 +08:00
2026-10-04 16:46:57 +08:00