SkillHub 浏览器批量上架
通过 ego-browser 浏览器自动化,将本地任意文件夹中全部 SKILL.md 技能逐个发布(上架)到 skillhub.cn。内置断点续传、冲突后缀、大文件截断、原始 slug 干净上架,适合一次性上架几百到上千个技能。
何时使用
- 用户要求"把 skill 发布到 skillhub" / "上架到 skillhub.cn" / "用 ego-browser 批量上传技能"
- 需要绕过 SkillHub API 的 token 级限频(429)——用浏览器已登录的 session cookie 调用发布接口
- 源目录是某个桌面文件夹(如
Desktop/222、Desktop/444),里面散落大量 SKILL.md
前置条件
- 已安装并可用
ego-browser(实测 v0.4.5.5,API 见references/ego_browser_api.md) - 用户已在 skillhub.cn 登录(浏览器 session cookie 用于鉴权;脚本会自动开 skillhub.cn 标签页)
- 技能文件为
SKILL.md,frontmatter 至少含slug和name/displayName
- 若源文件是 WorkBuddy/OpenClaw 私有格式(用name/platforms,无slug/framework),先按下方"优化"段补字段 - 技能正文建议 < 10KB;超大文件发布时自动截断 body、保留完整 frontmatter
发布流程
- 准备:复制
scripts/publish_skillhub.js到工作目录(如/tmp/),按需修改文件顶部常量:
-SKILLS_DIR:技能根目录(如/Users/superchen/Desktop/444)
-PROGRESS_FILE:进度存档路径(如/tmp/skillhub_progress.json)
-SKIP_DIRS:跳过的目录(默认['.git', 'node_modules', '.workbuddy']) - 登录:启动 ego-browser,确认 skillhub.cn 已登录
- 运行:
cat scripts/publish_skillhub.js | ego-browser nodejs
- 脚本自动:建 task space → 开 skillhub.cn 标签 → 递归扫描 SKILL.md → 逐个fetch发布 → 每 50 个存盘进度 - 断点续传:重跑同一命令,已
ok/conflict-ok的 slug 自动跳过 - 收尾:跑
scripts/retry_failed.js补发进度文件里error状态的技能(多为浏览器瞬时卡顿导致的 JS 执行超时,重试即通过)
关键约束(避坑必读)
- 禁止在脚本内使用 JS 模板字符串
${}:ego-browser 对输入流做变量展开,${}会被拦截导致脚本失效。浏览器内 JS 一律用JSON.stringify(...)拼接字符串(见脚本)。 - 发布 API 的
category字段可选:中文分类不会因"非法分类"被拒,传或不传都返回 200/201。保留原中文category即可。 - 优先用原始 slug(URL 干净);仅当返回 409 冲突时追加随机后缀(如
-a3f)。 - 浏览器内
fetch必须带credentials: 'include'才能携带登录态。 - 大文件(>10KB)截断 body 到 2500 字符,frontmatter 完整保留。
- 每个请求之间 sleep 300–400ms,降低浏览器卡顿概率。
发布 API 细节
见 references/skillhub_publish_api.md:端点、字段、错误码、响应示例、冲突处理。
ego-browser API 速查
见 references/ego_browser_api.md:v0.4.5.5 的 helper 调用方式、登录检查、CDP 兜底、已知坑。
优化(可选前置步骤)
当源文件是私有格式(缺 slug/framework)时,先跑优化脚本补字段。参考 444 工程 optimize_444.py 的模式(正则行编辑、幂等、保留中文正文):
- 加
slug(从name派生) - 加
displayName(取 H1 标题去掉 emoji 的中文名,利于搜索) platforms/framework→[OpenClaw, Claude Code, Codex, WorkBuddy, QClaw, Hermes Agent]- 加
homepage+repository→ 指定仓库(如https://github.com/1991513ccie-png) - 加
tags(分类 + 用途标签)
实测数据
- 444 工程:1100 个 SKILL.md,60 秒发布约 50 个(~1.2s/个),约 22 分钟全部上架;原始 slug 干净上架,零冲突;5 个瞬时超时重试后归零 → 1100/1100 (100%)。
- 222 工程:542 个技能同样流程上架成功。