Skip to content

角色管理 ​

角色包定义 Bot 的身份设定、说话方式、设定资料、表情库以及工具与技能许可。本页说明如何在管理面板中编辑、试聊、导入导出和按群切换角色;角色目录的文件结构、字段规范与写作方法见写角色包。

在面板中管理角色 ​

首次配置向导会在实例目录的 personas/ 下创建首个角色(默认为小然 companion)。面板的角色页列出实例中的全部角色包,并标明每个角色当前被哪些群使用。

  • 新建、复制与导入:支持新建空白角色、复制现有角色(副本使用新名字,别名中的原名字一并换成新名字,设定正文按原样复制)或导入 ZIP 文件(自动解压为独立的角色文件夹;若角色 ID 与现有角色冲突会自动重命名)。
  • 导出与删除:角色卡片菜单支持导出 ZIP。未被任何群使用的角色可点击删除,原目录会移入 .runtime/deleted-personas/ 留存,各群已有的历史记忆不受影响。
  • 在线保存生效:保存角色修改无需重启 LenBot。空闲群立即应用新角色材料;正在执行回合的群在当前回合结束后自动应用。

角色 → 效果 → 对话试聊:左侧是在所选群环境中的试聊对话,右侧是试聊的回合列表

打开任一角色后,详情页分为八个页签:

页签管理内容
设定上传或更换头像,编辑名字、简介和底线;展开更多设置填写别名、自称和做事方式
说话编辑说话方式与对话样例;展开更多设置配置按比例抽取的说话风格以及按标签筛选样例
效果对话试聊:基于当前未保存的设定与说话草稿,在指定群配置下启动隔离试聊;试聊途中继续改草稿会提示草稿已变更,可一键用当前草稿重新开始。提示词预览:按所选目标群实时渲染角色材料、选中的样例、三份表达规则的来源(角色自定义或框架默认),并可点击再抽一次模拟每轮按比例抽取的说话风格。注:资料、工具与技能、文件页签中未保存的改动不计入草稿试聊和预览
资料新建、编辑或删除角色专属 Markdown 设定资料(knowledge/),查看分段索引状态,详见资料检索
表情上传表情图片、补充未填写描述的图片,编辑每张表情的画面描述、情绪和标签
工具与技能选择允许该角色调用的聊天工具(全部可用工具或勾选子集)与后台任务技能
群查看当前使用该角色的群,或批量勾选多个群一键切换为此角色
文件直接编辑 persona.yaml、voice.md、boundaries.md、examples.yaml 原文,以及可选覆盖的三份表达规则(回应判断、一般说法、情境示范);表达规则为空时可点击填入框架默认内容后再修改,清空保存即恢复使用框架版本

给群换角色 ​

每个群聊或私聊在同一时刻绑定一个角色。以下三种切换方式均无需重启,空闲时立即完成,回复进行中则在本轮结束后切换:

  1. 在角色 → 群页签勾选目标群,点击切换为此角色(或顶栏的应用到群)。
  2. 在群聊工作台顶栏点击当前角色名,或在群聊 → 设置 → 角色中选择新角色(也可按下 ⌘K/Ctrl+K 通过快速跳转切换)。
  3. 主人或全局管理员在群内发送 /角色 <名字>(<名字> 可填角色名字、别名或文件夹名),切换完成后 Bot 回复确认消息;单独发送 /角色 可列出当前角色与实例内全部可用角色。

角色交接与数据隔离 ​

群聊切换角色时,宿主自动执行以下交接逻辑:

  • 共享群友认知:群友个人画像、群内公共事件与本群画像对所有角色共享,新角色接手后依然认识群成员。
  • 隔离角色自身记录:长期记忆中属于 Bot 自身经历与承诺的记录按角色 ID 分开存放,自动召回只读取当前在用角色的记录;日后切回旧角色时,旧角色的记录原样恢复。
  • 生成会话交接摘要:切换瞬间,宿主调用一次聊天模型将当前活跃对话整理为角色交接摘要,明确区分此前哪些发言和承诺属于上一任角色,新角色在此交接摘要基础上继续对话。
  • 按角色保存本群补充设定:群聊 → 设置 → 本群的称呼与额外要求中的三项(群友对 Bot 的其他称呼、与群友的关系、本群的额外要求)按群和角色独立保存,切换角色时自动切换为对应角色在该群的配置,切回原角色时自动恢复。
  • 延续待办提醒与任务:上一任角色登记的定时提醒和后台任务继续按原计划执行,到点或完成时由当前在任角色接手播报。

以 AGPL-3.0-only 发布