角色与个性
Role 用来定义 Anyy 稳定的身份和工作方式。当一套 Profile 需要长期保持“生活助理”“研究伙伴”“写作助手”等不同模式时,可以用 Role 分开管理。
Role 与 Profile 的边界
同一 Profile 中的所有 Role 共用:
- Workspace、数据库与 Session 边界;
USER.md、MEMORY.md;- Models、Tools、Skills 与 MCP;
- Channels、Cron;
- Credentials 和 Approvals。
其中任何内容需要隔离时,应新建 Profile,而不是 Role。
在 Dashboard 创建 Role
- 进入 Dashboard → Roles;
- 点击 New Role;
- 填写永久 ID,例如
scribe; - 可选填写显示名称,例如“写作助手”;
- 点击 Create role;
- 保存一份非空 Soul,完成初始化。
Role ID 必须以小写字母或数字开头,可以包含小写字母、数字、下划线和连字符。ID 会进入存储路径,之后不能改名;显示名称可以修改。
CLI 创建方式:
anyy role create scribe --display-name "写作助手"
让 Anyy 起草第一版 Soul
新建 Role 在保存非空 Soul 前会保持 Pending Onboarding。除了直接编辑,也可以用这个 Role 新建 Session,并说明希望它成为什么样的助手:
anyy chat --role scribe "帮我把这个 Role 定义成简洁、严谨的技术写作伙伴。"
Onboarding 仍为 Pending 或 Active 时,Session 可以使用 role_onboarding_complete 提议最终 SOUL.md。Anyy 会在写入前展示 Approval。批准后只写这名 Role 的 Soul,标记初始化完成,记录 Audit Evidence,并从之后的 Session 中移除该 Onboarding Tool;Reject 则不会完成初始化。
这项 Tool 不修改 Role ID 或 Display Name,也不会额外创建另一份 Identity 文件。希望完全手工控制时,仍可直接在 Dashboard 保存 Soul,结果相同。
Soul 应该写什么
Soul 是这名 Role 跨任务长期遵循的 Markdown 身份说明。适合包含:
- 服务目标与主要对象;
- 表达和沟通风格;
- 反复使用的优先级和判断原则;
- 持久边界;
- 面对不确定性时的处理方式。
一次性资料、当前任务格式和临时限制,应放在 Prompt、Workspace 或 Skill 中。密码、Token、API Key 等凭据不能写进 Soul。
示例:
# 研究伙伴
帮助我比较证据,并主动揭示不确定性。
优先使用一手来源、简洁表格和明确假设。
不能把尚未验证的推测写成事实。
使用本地文件更新:
anyy role update research --soul-file ./research-soul.md
只写真正会改变这名 Role 工作方式的持久规则。过长清单会在每一轮消耗上下文,也更难维护。
选择与维护 Role
打开 Role 详情,可以:
- 点击 Use,设为当前 Profile 默认 Role;
- 编辑 Soul;
- 修改显示名称;
- 查看 ID、初始化状态和 Soul 路径。
CLI 操作:
anyy role use research
anyy role get research
anyy role list
需要指定另一套 Anyy Home 时使用 --home PATH;程序读取结果时可以加 --json。
默认 Role 只影响之后新建且没有显式选择身份的 Session。只为一次新对话指定:
anyy chat --role research "比较这两个方案。"
--role 只能用于新会话,不能和 --session 同时使用。已有 Session 会保留原 Role。
基础 Role default 始终存在。可以编辑它的 Soul,但不能改名或删除。
归档 Role
非基础 Role 只有在没有被选中、也没有 Session 或 Cron 引用时,才能从活动列表删除。先切换默认 Role,再处理相关引用:
anyy role delete research
删除会归档 Role Record,使其不再用于新会话。需要检查历史记录时:
anyy role list --include-archived
归档 Role 不会删除同一 Profile 的 Memory、Workspace、Channels、Skills 或其他 Roles。
Profile、Role 与 Session
| 概念 | 负责什么 |
|---|---|
| Profile | 隔离的 Anyy Home、配置、数据与凭据 |
| Role | Profile 内稳定的助手身份与 Soul |
| Session | 一次对话、历史,以及选定的 Role/Model 状态 |
更改默认 Role 不会重写旧 Session。希望新身份完整生效时,应新建会话。
身份和长期原则确实不同,才需要新建 Role。重复流程使用 Skill;一次性要求直接放进 Prompt。
常见问题
| 现象 | 处理方法 |
|---|---|
| Role ID 被拒绝 | 使用小写字母、数字、_、-,并以字母或数字开头 |
| 新 Role 一直显示未完成 | 保存一份非空 Soul |
| Chat 提议写入一份 Soul | 检查完整 Onboarding Approval;这是 SOUL.md 真正的写入边界 |
| 无法归档 | 先更换默认 Role,再清理 Session 或 Cron 引用 |
| 新对话身份不对 | 检查默认 Role,或新建时传入 --role ROLE_ID |
| 希望记忆或账号也隔离 | 新建 Profile,不要只建 Role |