# NocoBase AI数据权限：用两个销售角色回读各自三条客户记录

## 实际范围

AI 员工文档标注社区版+；需 NocoBase 实例、LLM 服务和对应页面/数据权限。当前协议包含 Apache-2.0 及补充条款。本站未安装 NocoBase、未调用模型或访问数据库。

已实际执行：原创输入生成、PDF渲染、文件哈希/教材事实检查与两条故意错误拒绝。人工reference-manual.json不冒充目标工具输出；actual-template.json为空模板，不能视为实际结果。

## 使用

```bash
python3 verify.py
python3 verify.py --actual my-observation.json
```

默认材料检查使用Python标准库；可选的--pdf深度检查需要pypdf，且只接受本题定义的PDF契约。不连接任何外部服务或数据库。--actual检查你填写的规范化事实记录，不自动识别任意工具原生导出；仍须逐项回读原生输出。

## 七步操作

1. 核对六条原创客户基准

crm.csv 用alice/bob各三行构造人工基准。脚本实际按owner分组，得到alice待联系2、bob待联系1；这个本地筛选不等于NocoBase权限测试。

2. 在测试实例建立两个角色

创建两个独立测试用户与按owner过滤的数据权限。先分别登录普通表格回读可见客户，确认底层规则再使用AI。

3. 仅启用内置查询工具

给Viz配置系统内置 Data source query/counting 工具。官方说明这些工具遵循当前用户权限；自定义工作流业务工具由自己的逻辑控制，不能默认等同。

4. Alice发送同一个问题

以alice登录新会话，发送question.txt，保存实际工具调用和C01–C03结果。不要用管理员会话切换姓名替代真实用户登录。

5. Bob独立会话复测

以bob登录另外的干净会话发送同句，回读C04–C06与待联系1。不同名字的聊天窗口本身不是权限隔离证据。

6. 整理真实工具与结果观察

把实际客户ID和计数写入actual-template.json，保留tool_kind。verify.py只检查你录入的观察和教材基准，不能证明数据库拒绝越权。

7. 运行跨角色负例

负例混入C04时应失败。实际发布隔离结论前必须保留两用户权限配置、普通表格视图、原生工具调用和回答，而非只靠提示词。

## 原创与图片身份

source.pdf及数据文件是本站原创虚构教材。页面官方截图只说明工具入口；人工真值图与材料核验图都注明身份，未生成目标软件的假界面或假模型结果。

## 官方依据

- 内置与工作流工具的权限差异: https://docs.nocobase.com/cn/ai-employees/permission
- Viz业务分析入口: https://docs.nocobase.com/cn/ai-employees/built-in/viz
