# 角色说明

权限与角色均使用**中文命名**。分两类：公司成员角色（登录账号）、智能体角色（机器账号）。

## 〇、平台超级管理员与权限收窄

| 层级 | 谁 | 做什么 |
|------|----|--------|
| 权限模块 | **超级管理员** | 管理全部权限模块；决定每个公司**拥有哪些权限** |
| 公司一级 | **超级管理员** | 平台工作台：新建/改名公司、权限额度、管理员邀请 |
| 打开某公司 | **超级管理员** | 「管理该公司」打开该公司内部视图；**身份仍是超管**，写操作需两次确认 |
| 公司内日常 | **公司管理员** | 额度内分配角色/智能体；**成员管理**（如 demo 属于「演示公司」） |
| 硬边界 | 系统 | 公司账号不能分配或调用未授予的权限；控制台 Tab 按额度显隐 |

默认账号：**ljk_admin / ljk_admin**。

用法：平台工作台 → 某公司「管理该公司」→ 左侧出现角色/成员等 → 修改时两次确认。「返回平台工作台」回到公司列表。

开发演示数据：「演示公司」+ 账号 demo/demo123，与超管 ljk_admin 是不同身份。

常用权限：读取/写入/发布模块；数据 CRUD 与导入导出；上传下载；审计；管理智能体；邀请成员；管理组织；数据同步。写入模块=保存在建草稿；发布模块=上线。

新建公司默认全量公司权限（可收窄至空）。创建时同步生成该公司**管理员**账号（**用户名随机全局唯一**、初始密码随机；明文仅创建时展示一次；登录后可自行「修改密码」）。成员管理也可直接「新建成员」（同样随机用户名）。

每家公司有全局唯一 **路径 slug**（如 `demo` → 约定对外 `/{slug}/...`）。平台工作台创建/改名时可填；演示公司固定为 `demo`。规则：2–32 位、小写字母开头、仅 `a-z0-9-`；不可用 `api`/`admin`/`console` 等保留字。网关按 slug 分流属后续阶段。

## 一、公司成员角色

给真人登录账号用，存在用户表 / JWT 的 `role` 字段。

| 角色 | 能做什么 | 不能做什么 |
|------|----------|------------|
| **管理员** | 公司顶级权限：发布模块、管智能体/角色/组织/邀请、**数据同步**、全量数据 CRUD | — |
| **编辑** | 读写业务数据、导入导出、保存草稿（写入模块） | 发布、管组织/邀请/同步、删行 |
| **只读** | 看模块与数据、导出、下文件、看审计 | 任何写入、发布、管理类操作 |
| **待加入** | 仅能注册后等待；需邀请码加入公司 | 一切业务能力 |
| **智能体** | 不按上表套权限，而按所绑智能体角色的权限列表 | 不能配置「数据同步」（无该权限） |

邀请成员时可选项一般为：**编辑** / **只读** / **管理员**。

## 二、智能体角色（默认）

给 AI / 宿主程序用的服务账号，在「角色管理」里配置，编码与名称均为中文。

| 角色 | 适合场景 | 主要权限 |
|------|----------|----------|
| **生成发布** | 建站智能体最低可用集：生成蓝图并发布、导入样例数据 | 读取/发布模块、查询/导入数据、上传下载 |
| **只读** | 只查询、导出的助手 | 读取模块、查询/导出数据、下载、审计 |
| **读写** | 日常维护业务数据，不发布新模块 | 读写模块配置、增改查导入导出、文件 |
| **运维** | 需要删数据、全量行操作与发布的运维机器人 | 含发布、删除及上列大部分能力 |

可在「角色管理」自定义角色并勾选中文权限；**不要**把「数据同步」赋给智能体（该权限仅管理员角色自带）。

## 三、与旧英文码

| 旧码 | 现中文 |
|------|--------|
| platform_admin / super_admin | 超级管理员 |
| owner | 管理员 |
| editor（成员） | 编辑 |
| viewer（成员） | 只读 |
| pending | 待加入 |
| agent | 智能体 |
| publisher | 生成发布 |
| editor（智能体角色） | 读写 |
| viewer（智能体角色） | 只读 |
| operator | 运维 |

读写库与鉴权时会自动把旧英文码归一成中文；启动时默认智能体角色编码会尽量升级为中文。
