Appearance
能力(scope)说明
应用注册时勾选需要的能力,管理员随时可在应用设置里调整;被其他组织安装时, 能力由安装方管理员单独授权(默认零授权,只有免登身份)。
| scope | 名称 | 说明 | 对应接口 |
|---|---|---|---|
| (无需勾选,恒定授予) | 免登身份 | 拿到当前用户的 user_id/昵称/头像/组织角色 | POST /auth/user |
contacts | 组织通讯录 | 读取组织成员列表与团队架构(昵称/头像/角色/团队树) | GET /org/members、GET /org/teams、GET /org/teams/{id}/members |
im | IM 消息通知 | 给组织成员发工作通知(系统账号代发,带应用名前缀) | POST /im/send |
ai | AI 能力 | 查可用模型清单 + 调用对话模型,消耗应用所属组织的积分 | GET /ai/models、POST /ai/completions |
kb | 知识库检索 | 在管理员绑定的知识库范围内检索 | POST /kb/search |
db | 数据库查询 | 在管理员绑定的外部数据库上只读查询(单条 SELECT、行数上限、语句超时) | GET /db/databases、GET /db/{id}/tables、POST /db/query |
ai_tools | AI 工具 | 给组织成员的 AI 助手注册自定义工具(模型调用经签名回调) | 应用设置「AI 工具」,协议见给 AI 注册工具 |
local | 本地能力 | 页面在用户逐次确认下从其电脑抓取网页/无头浏览器提取(仅桌面端) | JSAPI localFetch / browserExtract |
JSAPI 的选人组件(
selectUsers)不需要任何能力:成员由用户亲手挑选, 页面只会拿到被选中的那几位——用户挑选即用户授权。
授权范围的两个层级
- 应用自身申请的能力(
app.scopes)——你在注册/编辑应用时勾选,决定 这个应用最多能用到哪些能力。 - 组织实际授予的能力——按能力操作的对象分两种情况:
| 能力 | 实际生效的判定 | 原因 |
|---|---|---|
contacts / im | 操作的是某个组织的数据/成员:目标为应用所属组织时 = 应用自身申请;目标为安装方组织时 = 安装方授予 ∩ 应用自身申请(默认空) | 读的是对方的通讯录、打扰的是对方的成员,必须对方管理员同意 |
ai_tools / local | 安装的市场应用 = 安装方授予 ∩ 应用自身申请;自建应用 = 应用自身申请 | 工具出现在对方成员的 AI 助手里、本地能力跑在对方成员的设备上——影响的是安装方的人,必须对方管理员同意 |
ai / kb / db | 只看应用自身申请,与安装方是否授予无关 | 消耗/访问的都是应用所属组织的资源——AI 计费走应用组织的钱包,知识库/数据库白名单由应用组织的管理员绑定 |
也就是说:即使应用申请了 contacts 能力,安装方组织如果没有勾选,你调 GET /org/members?org_id=<安装方org_id> 仍会收到 403(不传 org_id 时默认 读应用所属组织,不受影响)。
最小权限建议
只勾选你确实用得到的能力——尤其是 im(会给成员发通知,打扰用户)和 ai(消耗组织积分),管理员在审批安装/授权时会看到你申请了哪些能力。