多账号与 Profile
wesclaw 支持通过账号切换实现不同的使用场景隔离。
单账号模式(默认)
默认情况下,wesclaw 使用单个 main Cell,所有数据在同一个隔离域内:
- 所有对话共享同一份记忆
- 所有 Agent 共享同一套 Provider
- 所有技能安装在同一个 Cell
这是个人使用最简单的模式。
多 Profile(可选)
如果你需要在不同场景下使用完全隔离的环境,可以通过多 Cell 实现:
| Profile | CellID | 用途示例 |
|---|---|---|
| 工作 | profile-work | 工作相关对话、工作 Agent |
| 个人 | profile-personal | 个人助手、日常问答 |
Profile 隔离范围
切换 Profile = 切换 Cell,以下数据完全隔离:
| 数据 | 是否隔离 |
|---|---|
| 对话记录 | ✅ 隔离 |
| Agent 配置 | ✅ 隔离 |
| 记忆数据 | ✅ 隔离 |
| 技能安装 | ✅ 隔离 |
| Provider 配置 | ✅ 隔离 |
| 知识库 | ✅ 隔离 |
| 登录凭证 | ❌ 共享 |
切换机制
当前版本(PROD-1),账号切换等价于 Go 进程重启:
- 前端不感知 Cell 概念
- Go 后端始终绑定 boot 时创建的 Cell
- 切换账号 = 重启后端进程 = 加载不同 Cell
这意味着切换是"重量级"的,不像标签页切换那样即时。
Actor 身份
在 wesclaw 桌面版中:
- 已登录用户:Actor = weisyn UID
- 未登录用户:Actor =
"local"(固定值) - 系统操作:Actor =
"system"(如技能审查、Agent 配置生成)
Actor 是 wesgine 引擎的必填字段,用于:
- 记忆隔离(L3 关于我 / L4 角色记忆按 Actor 区分)
- 会话归属
- Token 用量归因
- HITL 审批身份
数据迁移
从单 Cell 迁移到多 Profile:
- 原有
mainCell 的数据保持不变 - 新建 Profile 从空白开始
- 记忆和对话不会自动复制到新 Profile
- 如需迁移,可通过 Cell 导出/导入功能实现
未来演进
多 Profile 功能当前处于基础阶段:
- 前端没有 Profile 切换 UI(PROD-1 决策)
- 没有 Profile 列表或管理界面
- 切换通过后端进程重启实现
未来版本可能提供:
- 前端 Profile 选择器
- 快速切换(无需重启)
- Profile 间的数据迁移工具
- 共享某些配置(如 Provider)的机制