常见问题
排查 CNB Token 无法录入、身份权限不足、私有仓库访问失败及技能调用问题。
按Token 有效性 → 身份读取权限 → 目标资源范围 → 操作权限 → 应用能力的顺序检查。
Token 添加不过,先查
account-profile:r。 CNB 中必须选择 account → account-profile → read;身份读取失败时,EasyXAI 不保存连接。代码或仓库读写权限不能代替这项权限。
为什么 Token 能拉代码,却无法添加连接
EasyXAI 在保存 Token 前,会先请求 CNB 的账号身份接口。**Token 至少需要 account-profile:r(个人资料只读)**才能完成这一步。
在 CNB 的令牌授权范围中展开 account 分组,将 account-profile 设为 read。只选择“Git 读写凭据”场景不满足这个要求。
| 校验阶段 | 后端行为 | 可能的页面表现 |
|---|---|---|
| CNB 身份接口返回 401/403 | 拒绝该 Token,不保存连接 | 凭证无效 |
| 接口返回数据中无法取得账号 ID | 不保存连接 | 拿不到账号信息 |
| 网络、超时或服务异常 | 本次不保存连接,稍后可重试 | 暂时连不上第三方 |
| 身份读取成功 | 加密保存连接 | 显示已连接账号 |
“凭证无效”也可能是 Token 过期或已撤销,不仅是权限不足。若已具备身份读取权限,继续检查有效期、复制是否完整以及账号状态。
是否必须把所有仓库权限都勾上
不需要。当前 Token 录入流程先验证账号身份,没有在保存前逐项检查整组仓库、Issue、PR 权限。业务权限由 CNB 在实际操作时校验。
因此,连接显示正常但读取某个私有仓库失败是可能的。请同时核对:
- 使用范围是否包含目标仓库;“仅公开仓库/制品库”不能用于私有仓库。
- 授权范围是否包含本次操作对应的读取或写入权限。
- 账号自身是否有权访问或操作目标资源。
权限对照见创建并连接 Token。
常见现象
| 现象 | 检查与处理 |
|---|---|
| 找不到 CNB 或“使用访问令牌”入口 | 请管理员确认当前工作空间已安装、启用 CNB,并开放 Token 连接方式 |
| Token 输入后连接失败 | 先检查 account-profile:r、有效期和完整令牌值;不要添加 Bearer 前缀 |
| 新 Token 有效,但提示“拿不到账号信息” | 请管理员检查身份接口配置与服务状态,提供时间和错误信息,不提供真实 Token |
| 可以看公开仓库,私有仓库失败 | 检查目标仓库是否在使用范围内,以及对应业务权限 |
| 能按链接读取仓库,却无法列出自己的仓库 | 列出本人参与仓库需要 account-engage:r;列出组织下仓库还涉及 group-resource:r,以实际列表接口为准 |
| Issue/PR 详情正常,评论读取失败 | 增加评论只读权限 repo-notes:r |
| 可以读取评论,发表评论失败 | 发表评论需要 repo-notes:rw,同时检查账号权限 |
| 连接过一段时间失效 | 检查是否到期、被撤销,或误用了流水线临时令牌;通过原连接更新 Token |
| 点击验证提示过于频繁 | 手动验证有冷却时间,按提示稍后重试 |
| 账号正常,智能体仍无法调用 | 返回“应用能力”,在 CNB 技能旁明确选择账号并确认「绑定成功」;再检查技能启用状态和智能体是否添加 CNB |
| 智能体要求粘贴 Token 或手动登录 CLI | 确认运行的是平台适配的 CNB 技能,检查凭据绑定;Token 应填写在连接表单中 |
| 外部数据源中没有 CNB | 当前只通过应用技能使用 CNB,不支持将其作为资源库外部数据源 |
如何更换 Token
在 CNB 创建满足所需权限的新令牌,从 EasyXAI 已有连接的重新连接 → 使用访问令牌入口更新。完成账号验证后,再测试实际的仓库读取操作。
静态 Token 不会自动续期。删除 EasyXAI 连接不会自动撤销 CNB 中的 Token;如果该令牌已不再需要,应在 CNB 侧单独撤销。
原连接换 Token 会影响所有依赖它的能力。提交前确认 Token 属于预期账号,尤其不要将团队共用连接意外换成另一位成员的权限。见凭据更新说明。
完整使用流程见在 EasyXAI 中使用。