常驻角色与讨论房间
角色是长期身份:一个名字、一张头像、一句职责说明、它该怎样工作的长期约定,以及它自己的记忆。角色是一份你能读能改的 Markdown 文件,它有一个每天都能回到的固定对话入口,也可以进房间和几个角色一起讨论同一个话题。这一页讲角色卡、固定入口、它记住的东西,以及房间。
角色和 profile 不是一回事。profile 是执行配置:智能体可以调用哪些工具、被允许做什么、用哪个模型和思考档位、以及从哪份提示词起步。角色是身份:它是谁、做什么用、记得什么。角色卡会写明它挂在哪个 profile 上,你也可以换掉这个绑定而不丢掉身份。
角色卡
角色放在 $KIKI_HOME/personas/<id>/persona.md($KIKI_HOME 默认为 ~/.kiki),也可以在角色页上创建。目录名就是稳定 ID:小写字母、数字,单个连字符分隔。Markdown 正文定义身份,frontmatter 写清它是谁:
---
name: 发布向导
title: 发布协调人
job: 检查发布准备情况
profile: agent
greeting: 这次准备发布什么?
memory:
shared: [global, workspace]
---
你负责协调发布准备工作。主动询问缺失的证据,区分已确认事实与待解决问题。model_alias 和 thinking_effort 是可选的:它们为这个角色选一个已配置的模型和思考档位,并不授予权限。tools 字段会被拒绝,因为工具属于 profile。
角色页就是那个文件的表单视图。单个角色的设置排在一列里:它挂在哪个 profile 上、模型与思考档位、对话默认的工作目录、是否固定在侧栏,以及它能读哪些记忆范围。
动手改之前有两点值得先知道。每个会话都会冻结自己的角色快照,所以改角色卡不会悄悄改掉正在进行中的对话——新建会话或重建上下文后修改才生效。开场白在你明确回复之前只是本地展示,单纯打开会话不会把它放进模型历史。
角色页还支持 Character Card V3 的 JSON、PNG 和 CHARX 导入导出,头像选择器接受 PNG、JPEG、WebP。移除头像恢复首字母头像,不删除角色或其记忆;复制会创建新身份,不复制会话状态或私有记忆;归档会把角色从常规选择里藏起来,但不抹掉数据。
角色卡的完整参考见角色、Bot 与房间。


固定日常对话入口
每个角色都有一个固定的日常对话地址——侧栏那一行、切换器、顶栏和角色页指向的都是它。点角色的名字,落进的就是那一个对话,所以「找小岚」每次都是同一件事。如果它还不存在,入口会先开一份新的日常草稿,等它真正建立后再接管。
日常对话不是数量限制。同一个角色可以同时有多段对话——比如另一段专门做另一个项目——角色页会把它们列出来,你从那里切换。哪一段是日常对话是角色自身的属性,不是另设一个开关:在那个列表里选中另一段,日常入口就换成了它。
也是这同一个对话,让角色在你没打字时也能被触达。定时提示词、来自另一个角色的消息、房间里的席位,都是通过这个常驻对话找到角色的,而不是另找一份拷贝;角色为它保留自己的工作目录——默认在 Kiki home 下,也可以由角色卡指定。只和你聊天的角色什么都不用配:它已经有地址了。

角色自己的记忆
角色记忆跟随这个角色,跨 profile 和模型——换模型不会弄丢它知道的事。角色专属条目与其他角色隔离。默认情况下角色也能读共享的全局和工作区记忆;设 memory.shared: [] 可以排除。删除角色也会删掉它的角色记忆命名空间;如果清理失败,删除操作会报告错误并保留角色卡,方便重试。
/memory 页把角色范围和全局、工作区并列在一起,包括常驻会话用的那些命名空间。见记忆和角色、Bot 与房间。
多角色讨论房间
房间给两到六个成员一个共同的对话,有主持人、有预算、有暂停和继续。角色成员在房间里各自获得独立的消息模式会话;已有线程也可以以自己身份加入,沿用它自己的会话、工作区和权限。GUI 里可以在侧栏按住 Ctrl/⌘ 多选线程后选拉进新房间,在线程菜单用加入房间…,在房间「添加成员」的「线程」页签里找,或者在线程链接上选和这些线程开房间。
角色成员依次运行,已有线程则各有自己的队列。成员被唤醒时会收到房间消息汇总;一轮汇总成功完成后,其中已覆盖的旧通知不会再单独开启轮次。调度遵循三条规则:
- 用户 @ 谁就唤醒谁;
@everyone(@所有人)选择全部成员。 - 用户没有 @ 任何人时交给主持人,主持人不论是角色还是线程。
- 角色或线程的房间消息只唤醒它 @ 到的成员。没有 @ 的发言会记入房间,但不会唤醒任何人。
预算限制每条用户消息之后的成员发言数,默认 12 条。用尽后讨论暂停,继续会重置预算并恢复保留的活。暂停取消排队的唤醒,但让当前轮次跑完。某个成员唤醒不了时,房间会显示失败原因和恢复操作,而不是承诺自动重试:模型没登录就去设置 → 模型与提供商 → 服务与账号登录,或者打开该成员的会话选一个可用模型,然后重发一条房间消息,失败成员不是主持人时记得 @ 它。

改名、换主持人、静音和更换归类工作区都不会改写成员的系统提示词或权限。


下一步
- 角色、Bot 与房间——角色、常驻对话和房间的完整参考
- Agent profile 概念与设计——执行那一侧:工具、权限、模型、提示词
- 目标、队列、定时与记忆——角色跨会话记住的东西