返回博客

AstrBot / Roleplay / Safety

角色扮演群聊插件中的人格绑定与生效范围控制

记录专用角色插件在固定人格、会话范围和图片防护上的设计。

角色扮演插件的核心约束是生效范围。通用群聊增强插件可以提供记忆、回复概率、图片理解和上下文处理,但专用人格插件需要把这些能力限制在指定场景内。

项目概览

结构上,main.py 负责接入 AstrBot,utils 目录拆分注意力、概率、冷却、心情、人格绑定、图片处理、上下文管理、主动对话、回复过滤、白名单和记忆命名空间等能力。

用途是构建强约束人格的游戏群聊互动接口。应用场景包括角色扮演社区、拟人化群聊陪伴、需要限定生效群和人格边界的互动机器人。

人格与范围

插件在基础群聊能力之上绑定固定人格,回复策略、提示词片段和记忆命名空间都与专用角色关联。会话白名单决定插件在哪些群聊中生效,其他会话保持沉默。

回复模式提供主动、被动和关键词触发几种策略。图片消息进入独立门控,静音名单和频率限制用于控制图片理解请求,避免图片消息过多时挤占文本对话。

记忆隔离

记忆层按角色和会话划分命名空间,避免不同角色或不同群聊互相污染。写入前会经过内容过滤和质量判断,读取时只取当前角色相关片段。

实现原理是先做消息预处理,再计算触发概率和上下文价值。进入生成前注入角色提示、短期上下文、长期记忆和图片描述;生成后经过质量过滤、重复拦截和回复密度控制,再决定是否发送。