# 账号模型与绑定

## 账号模型

Memoh 将平台账号与系统账号视为两类不同实体：

- **平台账号（`ChannelIdentity`）** 是用户在外部接入平台上的账号（例如飞书账号），不是 Memoh 内部账号。
- **系统账号（`User`）** 是 Memoh 系统内账号。

平台账号在初始阶段可以不绑定系统账号。  
`bind` 的职责是完成这两类账号的关联。

## 接入平台与 Bot

- **接入平台（`channel`）** 是入站消息来源。
- **Bot** 是系统内的授权与资源边界。

Bot 由系统账号管理，入站消息由平台账号产生。

## 为什么账号绑定是账号作用域

账号绑定的目标是建立账号归属关系，而不是直接发放 bot 资源权限：

- 它只负责平台账号与系统账号的绑定；
- 不把账号绑定与成员管理语义耦合在一起；
- 让 bot 访问控制保持独立、可演进。

## 账号绑定流程（当前共识）

1. 用户以自己的系统账号申请 bind code；
2. 平台账号在支持的接入平台会话中发送 code；
3. 系统校验 code，完成平台账号到系统账号的绑定；
4. bot 成员与授权由独立流程处理。

## Bot 类型语义

- **Public bot**：支持成员协作语义。
- **Personal bot**：语义上应为单 owner，不应依赖成员机制。

> 注：本文档记录的是产品语义与共识方向。  
> 部分运行时细节仍可能处于收敛阶段。
