角色管理
角色包定义 Bot 的身份设定、说话方式、设定资料、表情库以及工具与技能许可。本页说明如何在管理面板中编辑、试聊、导入导出和按群切换角色;角色目录的文件结构、字段规范与写作方法见写角色包。
在面板中管理角色
首次配置向导会在实例目录的 personas/ 下创建首个角色(默认为小然 companion)。面板的角色页列出实例中的全部角色包,并标明每个角色当前被哪些群使用。
- 新建、复制与导入:支持新建空白角色、复制现有角色(副本使用新名字,别名中的原名字一并换成新名字,设定正文按原样复制)或导入 ZIP 文件(自动解压为独立的角色文件夹;若角色 ID 与现有角色冲突会自动重命名)。
- 导出与删除:角色卡片菜单支持导出 ZIP。未被任何群使用的角色可点击删除,原目录会移入
.runtime/deleted-personas/留存,各群已有的历史记忆不受影响。 - 在线保存生效:保存角色修改无需重启 LenBot。空闲群立即应用新角色材料;正在执行回合的群在当前回合结束后自动应用。

打开任一角色后,详情页分为八个页签:
| 页签 | 管理内容 |
|---|---|
| 设定 | 上传或更换头像,编辑名字、简介和底线;展开更多设置填写别名、自称和做事方式 |
| 说话 | 编辑说话方式与对话样例;展开更多设置配置按比例抽取的说话风格以及按标签筛选样例 |
| 效果 | 对话试聊:基于当前未保存的设定与说话草稿,在指定群配置下启动隔离试聊;试聊途中继续改草稿会提示草稿已变更,可一键用当前草稿重新开始。提示词预览:按所选目标群实时渲染角色材料、选中的样例、三份表达规则的来源(角色自定义或框架默认),并可点击再抽一次模拟每轮按比例抽取的说话风格。注:资料、工具与技能、文件页签中未保存的改动不计入草稿试聊和预览 |
| 资料 | 新建、编辑或删除角色专属 Markdown 设定资料(knowledge/),查看分段索引状态,详见资料检索 |
| 表情 | 上传表情图片、补充未填写描述的图片,编辑每张表情的画面描述、情绪和标签 |
| 工具与技能 | 选择允许该角色调用的聊天工具(全部可用工具或勾选子集)与后台任务技能 |
| 群 | 查看当前使用该角色的群,或批量勾选多个群一键切换为此角色 |
| 文件 | 直接编辑 persona.yaml、voice.md、boundaries.md、examples.yaml 原文,以及可选覆盖的三份表达规则(回应判断、一般说法、情境示范);表达规则为空时可点击填入框架默认内容后再修改,清空保存即恢复使用框架版本 |
给群换角色
每个群聊或私聊在同一时刻绑定一个角色。以下三种切换方式均无需重启,空闲时立即完成,回复进行中则在本轮结束后切换:
- 在角色 → 群页签勾选目标群,点击切换为此角色(或顶栏的应用到群)。
- 在群聊工作台顶栏点击当前角色名,或在群聊 → 设置 → 角色中选择新角色(也可按下
⌘K/Ctrl+K通过快速跳转切换)。 - 主人或全局管理员在群内发送
/角色 <名字>(<名字>可填角色名字、别名或文件夹名),切换完成后 Bot 回复确认消息;单独发送/角色可列出当前角色与实例内全部可用角色。
角色交接与数据隔离
群聊切换角色时,宿主自动执行以下交接逻辑:
- 共享群友认知:群友个人画像、群内公共事件与本群画像对所有角色共享,新角色接手后依然认识群成员。
- 隔离角色自身记录:长期记忆中属于 Bot 自身经历与承诺的记录按角色 ID 分开存放,自动召回只读取当前在用角色的记录;日后切回旧角色时,旧角色的记录原样恢复。
- 生成会话交接摘要:切换瞬间,宿主调用一次聊天模型将当前活跃对话整理为角色交接摘要,明确区分此前哪些发言和承诺属于上一任角色,新角色在此交接摘要基础上继续对话。
- 按角色保存本群补充设定:群聊 → 设置 → 本群的称呼与额外要求中的三项(群友对 Bot 的其他称呼、与群友的关系、本群的额外要求)按群和角色独立保存,切换角色时自动切换为对应角色在该群的配置,切回原角色时自动恢复。
- 延续待办提醒与任务:上一任角色登记的定时提醒和后台任务继续按原计划执行,到点或完成时由当前在任角色接手播报。