既然网络正常但仍报 Rate limit exceeded,说明问题不是匿名限流,而是令牌配置未生效令牌权限不足,或 clawhub 读取令牌的方式特殊。下面按优先级逐步排查,确保能彻底解决:

第一步:先验证令牌是否真的生效

首先确认 clawhub 能读到你的 GITHUB_TOKEN,执行以下命令排查:

1. 验证环境变量是否正确设置

bash

运行

# 1. 检查环境变量是否存在
echo $GITHUB_TOKEN
# ✅ 正确:输出完整的令牌(ghp_开头);❌ 错误:无输出/输出空

# 2. 强制在当前终端重新加载配置(避免配置未刷新)
source ~/.zshrc && echo $GITHUB_TOKEN

# 3. 直接在命令前拼接令牌,强制生效
GITHUB_TOKEN="你的完整令牌" clawhub install self-improving-agent

如果 echo $GITHUB_TOKEN 无输出,说明环境变量配置错误,回到「永久生效」步骤重新配置(注意:令牌不要加引号 / 空格,直接写 ghp_xxxx)。

2. 验证令牌本身是否有效(关键)

用 curl 直接调用 GitHub API,验证令牌是否能突破限流:

bash

运行

# 替换为你的令牌,执行以下命令
curl -H "Authorization: token 你的GITHUB_TOKEN" https://api.github.com/rate_limit

输出示例(重点看 rate 部分):

json

{
  "rate": {
    "limit": 5000,  // ✅ 正确:应为5000(认证后);❌ 错误:60(仍匿名)
    "used": 10,
    "remaining": 4990,
    "reset": 1710000000
  }
}
  • 如果 limit 是 5000:令牌有效,问题在 clawhub 未读取令牌;
  • 如果 limit 是 60:令牌无效 / 未正确传递,重新创建令牌(步骤见下文);
  • 如果报错 Bad credentials:令牌错误 / 已过期,需重新生成。

第二步:针对性解决(按优先级)

场景 1:令牌无效 / 权限不足(最常见)

如果 curl 验证显示 limit=60Bad credentials,按以下步骤重新创建令牌:

  1. 打开 GitHub 令牌管理页:https://github.com/settings/tokens
  2. 删除旧令牌(如果有),点击 Generate new token (classic)(必须选 classic,不要选 fine-grained,clawhub 可能不支持);
  3. 配置令牌:
    • Note:clawhub-token
    • Expiration:90 days
    • Scopes:全选 repo 分类下的所有权限(不要只勾部分),额外勾选 public_repo(确保覆盖所有仓库权限);
  4. 生成后立即复制,重新执行:

    bash

    运行

    # 临时生效测试
    GITHUB_TOKEN="新令牌" clawhub install self-improving-agent
    
场景 2:clawhub 不读取 GITHUB_TOKEN,需用其他变量名

部分工具会用 GH_TOKEN/GITHUB_ACCESS_TOKEN 等变量名,而非 GITHUB_TOKEN,尝试:

bash

运行

# 同时设置多个常见变量,覆盖所有可能
export GITHUB_TOKEN="你的令牌"
export GH_TOKEN="你的令牌"
export GITHUB_ACCESS_TOKEN="你的令牌"

# 重新执行命令
clawhub install self-improving-agent
场景 3:clawhub 有本地配置文件,需手动写入令牌

如果工具优先读取本地配置而非环境变量,执行以下命令创建配置文件:

bash

运行

# 1. 查看 clawhub 是否有配置命令
clawhub config --help
# 如果有输出,按提示设置令牌,比如:
clawhub config set github.token "你的令牌"

# 2. 手动创建 clawhub 配置文件(如果无配置命令)
# Mac/Linux 配置文件路径通常在 ~/.config/clawhub/config.json
mkdir -p ~/.config/clawhub
echo '{"github": {"token": "你的令牌"}}' > ~/.config/clawhub/config.json

# 3. 重新执行安装
clawhub install self-improving-agent
场景 4:clawhub 版本问题(兜底)

旧版本的 clawhub 可能存在令牌读取 bug,先升级工具:

bash

运行

# 全局升级 clawhub
npm update -g clawhub

# 或重新安装最新版
npm uninstall -g clawhub && npm install -g clawhub

# 升级后重新执行命令
GITHUB_TOKEN="你的令牌" clawhub install self-improving-agent

第三步:终极兜底方案(绕过 clawhub 直接操作)

如果以上步骤仍失败,说明 clawhub 本身可能有 bug,可直接手动下载 self-improving-agent 仓库:

bash

运行

# 克隆仓库(替换为实际仓库地址,假设是 GitHub 仓库)
git clone https://github.com/用户名/self-improving-agent.git
cd self-improving-agent
npm install # 安装仓库依赖

(注:需确认 self-improving-agent 的实际 GitHub 地址,可在 clawhub 文档 / 源码中查找)

总结

  1. 核心排查点:先通过 curl 验证令牌是否有效(limit=5000),再确认 clawhub 能读到令牌;
  2. 关键修复:必须用「classic 类型」令牌,且勾选完整的 repo 权限,避免权限不足;
  3. 兜底方案:如果 clawhub 工具本身有问题,直接用 git 克隆仓库替代安装命令。

如果执行 curl 验证时仍显示 limit=60,务必检查:

  • 令牌是否是「classic」类型(fine-grained 令牌可能不兼容);
  • 令牌是否绑定了正确的 GitHub 账号(不要用错账号);
  • 执行 curl 时是否输错令牌(复制粘贴避免手动输入)。

curl -H "Authorization: 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 https://api.github.com/rate_limit

你输入的 curl 命令格式有语法错误,导致无法正确验证 GitHub Token,这也是为什么之前配置 Token 后仍报限流的关键原因之一。我先帮你修正命令,再一步步验证 Token 是否生效。

第一步:修正 curl 验证命令

正确的命令格式是 Authorization: token <你的Token>(注意 token 关键字不能少,且 Token 和前面的字符串之间有空格),你漏了 token 关键字,且命令末尾少了闭合的双引号。

正确命令(替换为你的 Token):

bash

运行

curl -H "Authorization: token xxx" https://api.github.com/rate_limit

执行后,重点看输出中的 rate 部分:

json

{
  "rate": {
    "limit": 5000,   // ✅ 正确(Token 生效);❌ 60(Token 未生效/无效)
    "used": 5,       // 已使用的请求次数
    "remaining": 4995, // 剩余请求次数
    "reset": 1710000000 // 限流重置时间(Unix 时间戳)
  }
}

第二步:根据验证结果针对性解决

情况 1:输出 limit=5000(Token 有效)

说明 Token 本身没问题,问题出在 clawhub 未读取到 Token,按以下步骤操作:

  1. 强制命令行传递 Token(绕过所有缓存):

    bash

    运行

    # 直接在命令前拼接 Token,确保 clawhub 能读到
    GITHUB_TOKEN="xxx" clawhub install self-improving-agent
    
  2. 检查 clawhub 是否支持其他 Token 变量名:部分工具会用 GH_TOKEN 而非 GITHUB_TOKEN,尝试:

    bash

    运行

    GH_TOKEN="xxx" clawhub install self-improving-agent
    
情况 2:输出 limit=60(Token 未生效 / 无效)

说明 Token 无效或配置错误,按以下步骤重新生成:

  1. 打开 GitHub 令牌管理页:https://github.com/settings/tokens
  2. 删除旧令牌(xxx),避免冲突;
  3. 点击 Generate new token (classic)(必须选 classic,不要选 fine-grained);
  4. 配置令牌:
    • Note:填 clawhub-token(便于识别);
    • Expiration:选 90 days;
    • Scopes:全选 repo 分类下的所有权限(关键!权限不足也会触发限流);
  5. 生成后立即复制新 Token,重新执行:

    bash

    运行

    # 用新 Token 测试 curl
    curl -H "Authorization: token 新Token" https://api.github.com/rate_limit
    # 用新 Token 执行 clawhub 命令
    GITHUB_TOKEN="新Token" clawhub install self-improving-agent
    
情况 3:输出 Bad credentials(Token 错误 / 过期)

直接重新生成 Token(步骤同上),注意:

  • 生成后不要手动输入,直接复制粘贴(避免少 / 多字符);
  • 不要分享 Token 给任何人(包括公开平台),否则会被滥用。

第三步:终极兜底(跳过 clawhub 直接安装)

如果以上步骤仍失败,说明 clawhub 工具本身可能存在 bug,直接手动克隆仓库:

bash

运行

# 先查找 self-improving-agent 的 GitHub 地址(替换为实际地址)
# 假设仓库地址是 https://github.com/xxx/self-improving-agent
git clone https://github.com/xxx/self-improving-agent.git
cd self-improving-agent
npm install # 安装依赖

总结

  1. 核心错误:curl 命令漏写 token 关键字和闭合引号,导致无法验证 Token 有效性;
  2. 关键验证:正确执行 curl 命令后,limit=5000 表示 Token 有效,需强制传递给 clawhub;limit=60 表示 Token 无效,需重新生成 classic 类型且带 repo 权限的 Token;
  3. 兜底方案:若 clawhub 仍无法使用,直接用 git 克隆仓库替代安装命令。
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐