TinyMCE AI 使用基于权限的访问控制系统来管理用户对 AI 功能的访问。权限在 JWT 令牌中指定,并控制用户可以访问哪些功能、模型和能力。
有关 JWT 认证设置和必需声明的信息,请参阅 JWT Authentication。
快速参考
| 类别 | 权限 |
|---|---|
管理 |
|
模型 |
|
对话 |
|
上下文 |
|
操作 |
|
审查 | ai:reviews:*, ai:reviews:custom, ai:reviews:system:*, ai:reviews:system:<review-name> |
使用场景
基于角色的访问:不同的用户角色具有不同的 AI 能力
成本控制:限制对昂贵模型或功能的访问
功能门控:为高级用户启用特定的 AI 功能
安全性:限制对敏感 AI 操作的访问
权限格式
权限是 JWT 中 auth.ai.permissions 声明的字符串数组。每个字符串的格式为 ai:<permission-type>:<permission-value>,其中 <permission-type> 是 models、conversations、actions、reviews 或 admin 之一。<permission-value> 可以包含 * 通配符。服务会忽略任何不匹配此格式的字符串。
管理权限
| 权限 | 描述 |
|---|---|
| 授予对所有 TinyMCE AI 功能、模型和能力的完全访问权限。在生产环境中谨慎使用。 |
模型权限
| 权限 | 描述 |
|---|---|
| 访问所有可用的 AI 模型。谨慎使用,因为这包括访问可能更昂贵的新模型。 |
| 访问特定提供商的所有模型(例如, |
| 访问特定模型(例如, |
| 访问代理模型,该模型会自动为每个请求选择最佳模型。这是大多数使用场景的推荐权限。 |
对话消息、自定义操作和自定义审查也需要请求所使用的模型的权限。系统操作和系统审查仅需要其自身的权限。
对话权限
| 权限 | 描述 |
|---|---|
| 完全访问所有对话功能,包括读取、写入、网络搜索和推理。 |
| 能够读取和列出对话、消息和附件。 |
| 能够创建、更新和删除对话,并发送消息。还需要 |
| 能够在对话中使用网络搜索功能。 |
| 能够在对话中使用推理功能。 |
上下文权限
| 权限 | 描述 |
|---|---|
| 访问所有上下文类型(文件和 URL)。 |
| 访问所有上下文文件类型。 |
| 访问特定文件格式(例如, |
| 能够使用网络 URL 作为上下文来源。 |
上传文件还需要 ai:conversations:write 权限。
操作权限
| 权限 | 描述 |
|---|---|
| 访问所有操作类型,包括自定义和系统操作。 |
| 访问自定义操作。 |
| 访问所有系统操作。 |
| 访问特定系统操作。 |
审查权限
| 权限 | 描述 |
|---|---|
| 访问所有审查类型,包括自定义和系统审查。 |
| 访问自定义审查。 |
| 访问所有系统审查。 |
| 访问特定系统审查。 |
ai:actions:custom
能够使用自由格式的提示运行自定义操作。
ai:actions:system:*
访问所有预定义的系统操作。
ai:actions:system:<action-name>
访问特定的系统操作。示例:ai:actions:system:improve-writing,ai:actions:system:fix-grammar,ai:actions:system:translate
在 Chat 中打开的 Quick Actions(如Explain、Summarize和Highlight key points)以及带有type: 'chat'的自定义 Quick Actions 会发送对话消息。它们需要对话权限和所选模型的权限。
Reviews permissions
| 权限 | 描述 |
|---|---|
| 访问所有审查类型,包括自定义审查和系统审查。 |
| 能够使用自由格式的提示运行自定义审查,包括集成商定义的审查。 |
| 访问所有预定义的系统审查。 |
| 访问特定的系统审查。示例: |
权限示例
基本用户
{
"auth": {
"ai": {
"permissions": [
"ai:conversations:read",
"ai:conversations:write",
"ai:models:agent",
"ai:conversations:context:files:pdf",
"ai:conversations:context:files:docx"
]
}
}
}所有 tinymceai 插件功能
此集合涵盖了具有网络搜索、推理和附件功能的 Chat,以及系统和自定义 Quick Actions 和审查,使用 Agent 模型。如果自定义 Quick Action 或自定义审查使用特定模型,请添加该模型的权限。
{
"auth": {
"ai": {
"permissions": [
"ai:conversations:read",
"ai:conversations:write",
"ai:conversations:websearch",
"ai:conversations:reasoning",
"ai:conversations:context:*",
"ai:models:agent",
"ai:actions:*",
"ai:reviews:*"
]
}
}
}高级用户
{
"auth": {
"ai": {
"permissions": [
"ai:conversations:*",
"ai:models:*",
"ai:actions:system:*",
"ai:reviews:system:*"
]
}
}
}企业管理员
{
"auth": {
"ai": {
"permissions": [
"ai:admin"
]
}
}
}受限用户(仅限审查)
系统审查不需要模型权限。
{
"auth": {
"ai": {
"permissions": [
"ai:reviews:system:correctness",
"ai:reviews:system:clarity"
]
}
}
}最佳实践
权限设计
根据实际需求从最小、特定的权限开始。仅在测试环境和需要全面访问的高级用户中使用通配符。根据用户需求和使用模式逐步扩展权限。
避免在生产中使用ai:models:*,以防止意外访问新的昂贵模型。使用特定于提供商的权限(如ai:models:openai:*)以更好地控制,或指定确切的模型以实现最大程度的控制。从常见格式(PDF、DOCX、TXT、PNG、JPEG)开始,仅在需要时添加专业格式。
错误处理
当用户缺少所需权限时,API 返回403 Forbidden错误,代码为missing-permissions。data.missingPermissions数组列出了令牌缺少的权限。有关响应体,请参阅错误响应。常见问题包括缺少模型权限、文件类型限制、无权限访问功能以及无权限访问操作/审查。
相关功能
JWT Authentication:JWT 身份验证设置和所需声明。
AI Models:模型选择和功能。
Chat:交互式 AI 讨论。
Review:内容改进。
Quick Actions:内容转换。