📦 Fix — 修复

v1.0.0

CLI Device Scope 修复 OpenClaw CLI 因设备权限不足导致 subagent/spawn/cron 等操作被拒绝的问题。 触发词:pairing required、spawn失败、cron失败、设备权限不足、admin scope、死循环、CLI设备、scope不足。 当 spawn subagent 报...

3· 3·0 当前·0 累计
下载技能包
最后更新
2026/4/23
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
安全
high confidence
该技能的代码和运行时指令与其声明目的(修复 OpenClaw CLI 设备作用域)一致,不会调用意外的外部端点,但会修改本地 auth 文件并可能生成高权限令牌——请谨慎运行,优先使用 dry-run 并手动确认。
评估建议
该技能确实如其所述:通过编辑 ~/.openclaw 下的 OpenClaw 配置文件,诊断并修复 OpenClaw CLI device scope 问题。使用前请:(1) 自行审查脚本(已附带);(2) 务必先运行 python3 scripts/fix.py --dry-run,确认即将发生的变更;(3) 备份 paired.json 与 device-auth.json(脚本也会生成 .bak 文件);(4) 除非信任环境与意图,否则勿加 --force;(5) 注意脚本会生成并写入新的 operator-admin token——相关文件请视为敏感;(6) 若担心自动/代理调用,可为该技能关闭自主调用,或仅手动调用以便人工确认变更。...
详细分析 ▾
用途与能力
名称/描述与实际行为一致:所有脚本都会诊断、更新并验证存储在 ~/.openclaw 下的 OpenClaw device scope 状态。读取并更新 paired.json、device-auth.json 和 pending.json 以实现所述修复。
指令范围
SKILL.md 要求运行 diagnose.py、fix.py(带 --dry-run 并交互确认)以及 verify.py。这些脚本只做一件事:执行本地 `openclaw` CLI 命令,并在 OpenClaw 配置目录下读写文件。这属于允许范围,但 fix 脚本会写入新的 operator token 并修改 auth 状态——这是敏感操作;技能文档已说明,并通过默认启用 dry-run 和交互确认提示来降低风险。
安装机制
无安装规范;仅为指令 + 脚本。不会从外部下载或安装任何内容,因此不存在与安装程序相关的风险。
凭证需求
该技能无需环境变量,也无需外部凭据;但需要访问文件系统路径 ~/.openclaw(paired.json、device-auth.json、pending.json),并会覆盖这些文件——与所述任务相称,但属于高敏感度访问,因其会修改身份验证令牌与已授权作用域。
持久化与权限
该技能未请求持久平台权限(always:false),但可创建新的 operator-admin token 并持久化到 device-auth.json 与 paired.json。由于平台代理可自主调用技能(disable-model-invocation 默认为 false),自主调用配合脚本的 --force 选项可能在无人工确认的情况下提升本地代理权限。SKILL.md 与代码默认采用交互式确认(dry-run / prompt),若由人工运行可降低此风险。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/23

修复 CLI 设备权限不足导致的 pairing required 死循环

可疑

安装命令

点击复制
官方npx clawhub@latest install fix-cli-device-scope
镜像加速npx clawhub@latest install fix-cli-device-scope --registry https://cn.longxiaskill.com

技能文档

修复 OpenClaw CLI 设备 scope 权限不足导致的配对失败。

症状

`` sessions_spawn error: gateway closed (1008): pairing required [tools] cron failed: gateway closed (1008): pairing required ` 同时确认:
  • openclaw gateway status 显示 gateway running
  • openclaw devices list 显示 CLI 设备 Paired 但 scopes 只有 operator.read,没有 admin

---

快速诊断

一行命令输出完整诊断: `bash python3 scripts/diagnose.py ` 输出示例(需要修复): ` === CLI Device Scope 诊断 === ✓ Gateway 正在运行 设备 ID: 2f5c98cfd06a980cb20ca1217580e6d8be7df78034a278b0fdaf81a9d8ac99c5 当前 scopes: ['operator.read'] pending: 1 repair 请求 ⚠️ 需要修复:CLI 设备缺少 admin scope 死循环:当前只有 read,无法 approve 自己的升级请求 修复命令: python3 scripts/fix.py --dry-run # 先预览 python3 scripts/fix.py # 执行修复 `

---

核心原因

Gateway 设备的 scope 太低(只有
operator.read),而 subagent spawn / cron 等操作需要 operator.admin。有一个 repair pending 请求在队列里等着升级 scope,但当前 token 权限不够 approve 不了——死循环: ` 需要 admin scope → 才能 approve → admin scope 申请 `

---

⚠️ 检查点:修复前确认

执行修复脚本前,必须先展示将要改动的配置,等待用户确认:
`bash # 先用 --dry-run 看改动(不执行写入) python3 scripts/fix.py --dry-run # 输出示例: # Device: 2f5c98cf... # Current scopes: ['operator.read'] # New scopes: ['operator.admin', 'operator.read', 'operator.write', ...] # Files to modify: # - paired.json # - device-auth.json # - pending.json (cleanup) # ❓ Proceed? [y/N]: ` 用户确认后才执行: `bash python3 scripts/fix.py # 默认会先展示再询问 python3 scripts/fix.py --force # 跳过确认(仅限自动化场景) `

---

验证修复

`bash # 重启 gateway 加载新 scope openclaw gateway restart # 等待 ~5 秒后测试 spawn `sessions_spawn 工具验证,应该返回 status: accepted

---

预防措施

  • 修改前先备份 paired.json.bakdevice-auth.json.bak
  • 确认 DEVICE_ID 是要修的设备(看 clientId=cliplatform=linux
  • 不要删除其他正常设备的 paired 记录
  • 修复后建议 openclaw doctor --fix 检查整体健康状态

---

注意事项

  • 必须重启 gateway 才能加载新 scopes
  • 新 token 格式 cli_admin_,每次修复会更新
  • 如果 gateway 从旧备份恢复,旧 token 会重新生效,需重新修复
  • 没有 pending repair 请求的情况下,可手动构造 full_scopes 列表写入(['operator.admin', 'operator.read', 'operator.write', 'operator.approvals', 'operator.pairing', 'operator.talk.secrets']`)
数据来源ClawHub ↗ · 中文优化:龙虾技能库