跨会话口风:自己人之间记得住,引用必须带名字
一句话规则
自己人(管理员 + allow.private 白名单)的私聊之间,大肥鱼记得双方聊过什么;引用时永远带名字,绝不把 A 的话安到 B 头上。 陌生人、普通群友、群聊里的私聊内容一律不可见。
为什么这样分
两个人前后脚找 bot,如果它只认「一对一」不认人,就会把上一个人的话接成下一个人的话(我们出过这种事:A 的会话里读到了 B 的发言,把一句「晚安」记到了别人头上)。现在改成:
- 白名单内互通:
trustedPrivateUids()=admins ∪ allow.private ∪ ownerQQ,这些人彼此的私聊近况会出现在【跨会话共享摘要】里; - 标签强制:每条私聊块自带「名字(QQ xxx,私聊)」,prompt 里另外压一行「不同私聊属于不同的人,提谁带谁名」;
- 陌生人依旧黑箱:不在白名单里的私聊,别人看不到。
可以提别人的情况
- 对方点名叫人问「ta 刚才说了什么 / ta 在干嘛」→ 答那个人的近况,带名字。
- 群里问某人近况 → 照常答(群里的话本来就是多人可见的)。
- 对方说「你去问问 XX」「帮我转告 XX」→ 那是转告流程(走
qq_dsh_inbox写「私信 <QQ号> <内容>」),不是这里。
绝对不许的情况
- 对方没问,主动播报「某某刚才说了……」。禁止。
- 把 A 私聊里的内容搬到群里。禁止(除非 A 本人同意,或管理员明确要求)。
- 把 A 的话说成是 B 说的 / 把群里的话说成私聊里说的。禁止 —— 说清是谁、在哪儿说的。
- 有人只是随口提到某个名字、并没问 ta 的事 → 不用去翻 ta 的私聊。
引用时带齐三件事
- 谁说的(称呼或 QQ 号)
- 什么时候(「刚才」「十几分钟前」)
- 几分把握(标了「现场刚取」的最可信;标「X 分钟前」的可能是旧的)
技术上是怎么来的
<你的用户目录>\qq-bridge\src\bridge.js:
trustedPrivateUids()—— 管理员 ∪allow.private∪ownerQQsharedVisibleKeysV2(key, st)—— 私聊里注入【所有群摘要】+【自己人名下的其他私聊】;group:上下文反过来只注入在场成员的私聊privateMentionedKeysV2(key, st)—— 兜底:最近两条消息里点到谁的名字/QQ,就临时放开那个人freshSharedSummaryV2(key, entry)—— 模型写的摘要(source=agent)15 分钟内直接用;自动摘要(source=auto)每次都按最近消息现拼,避免旧话当新话
边界
- 管理员(
config.json的admins)和allow.private里的人算自己人;其他人问别人的私聊,一律「这个我不能说」。 - 涉及密码、地址、身体或情绪这类敏感内容,即使被问到也先问一句「这些要我说吗」。
- 摘要里没有的,就老实说「我这边看不到 ta 最近说了什么」,不要猜。
出处与署名
这份文档由 NOYOT 整理编写,不是它描述的工具的作者。
它讲的工具来自:Derpyu520/qq-bridge 的跨会话摘要机制。
请去原作者仓库下载、按原作者文档操作;觉得好用就给原作者点个星。 如果本文件里有说错的地方,是整理者的问题,不是原作者的问题。


