Lune Research 权限
每个 OAuth Access Token 和 PAT 都有一组明确的权限。Lune 会在每次受保护请求中检查所需权限。凭证不会因为创建它的人或团队拥有更多权力,就自动继承额外权限。
权限参考
| 权限 | OAuth | PAT | 允许执行的操作 |
|---|---|---|---|
papers:read | 支持 | 支持 | 检索 Paper、阅读可用全文、追踪引用并比较多篇 Paper。 |
guidance:read | 支持 | 支持 | 检索并阅读精选的科研工作流指南。 |
subs:rw | 支持 | 支持 | 选择哪些顶会出现在结果中。名称为兼容旧版而保留。 |
account:read | 支持 | 支持 | 读取账号身份、套餐、每日额度和点数余额。 |
keys:rw | 支持 | 不支持 | 在用户批准的 OAuth 流程中创建 PAT。OAuth 无法列出或撤销 PAT。 |
workspace:read | 不支持 | 支持 | 检索并阅读当前 Lune 工作区中的文档。 |
OAuth 授权服务器会通过 scopes_supported 公布支持的权限集合。PAT 创建端点单独校验自己的权限集合,遇到未知权限时会明确拒绝,不会静默授予或丢弃。
最小权限示例
只做文献检索的集成通常只需要 papers:read。如果还要回答实验设计、消融、评估、同行评审或科研写作问题,再加入 guidance:read。只有 Agent 必须修改团队顶会选择时才加入 subs:rw。只有它必须报告套餐或用量状态时才加入 account:read。
第一方 CLI 会申请 keys:rw,因为用户批准后,lune install 需要为本地 MCP 进程创建一枚独立 PAT。该 OAuth 权限只能用于创建。OAuth 连接器不能枚举或撤销团队现有密钥,它创建的 PAT 也不能携带 keys:rw。
workspace:read 只提供给 PAT。Lune 工作区 Agent 使用一枚由系统管理且绑定到工作区的 PAT,因此模型不会拿到工作区 ID,也不能通过修改工具参数切换到另一个工作区。
默认权限与重新授权
用户新建的 PAT 默认获得 papers:read、guidance:read、subs:rw 和 account:read。创建时请移除集成不需要的权限。PAT 创建后不能修改权限。如需调整,请创建一枚权限正确的新密钥,替换旧凭证,再撤销旧密钥。
OAuth 客户端在授权时发送以空格分隔的 scope。Lune 会把请求限制在已公布的 OAuth 权限内,在同意页面展示所有实际授予的权限,并在 Token 响应中返回授予结果。如果客户端之后需要额外权限,必须再次发起授权,让用户明确批准新增权力。
权限不足响应
已鉴权但缺少所需权限的请求会返回 403 Forbidden。响应体会列出所需和已授予的集合,让软件能准确说明修复方法:
{
"detail": {
"error": "insufficient_scope",
"required": ["guidance:read"],
"granted": ["papers:read"]
}
}不要因此申请所有权限。只申请缺失的那一项,在用户批准或提供替代凭证后重试。