返回顶部
g

github-forkerGitHub分叉器

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.1
安全检测
已通过
199
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

github-forker

GitHub Forker

从文本或图像中提取GitHub仓库并进行Fork操作。你需要在环境中设置具有仓库权限的GITHUB_TOKEN。

操作步骤

  1. 1. 提取输入内容(文本、图像或两者)中的所有GitHub仓库URL
  2. Fork每个仓库(通过GitHub API)
  3. Star原始仓库(Fork成功后)
  4. 报告结果(清晰明了)

步骤1:提取GitHub URL

从文本中提取

扫描输入内容,匹配以下模式:
  • - https://github.com/{owner}/{repo}(可带或不带尾部斜杠、路径或片段)
  • github.com/{owner}/{repo}(无协议头)
  • {owner}/{repo}(仅当上下文明确指向GitHub仓库时)

将每个匹配项规范化为标准格式:https://github.com/{owner}/{repo}
去除任何多余的路径段——你只需要所有者名称和仓库名称。

从图像中提取

当用户提供图像(截图、照片、图表)时,使用你的视觉能力读取图像,识别其中可见的任何GitHub URL或仓库引用。对找到的文本应用上述相同的提取规则。

截断的URL

URL在截图或社交媒体预览中经常被截断,例如:
  • - github.com/openchamber/op...
  • github.com/some-owner/proj…

当你检测到截断的URL(以...或…结尾,或仓库名称明显不完整)时:

  1. 1. 在GitHub上搜索匹配的仓库:
bash curl -s -L \ -H Authorization: Bearer $GITHUB_TOKEN \ -H Accept: application/vnd.github+json \ https://api.github.com/search/repositories?q={owner}/{partial}+in:fullname&perpage=5

使用你拥有的任何部分信息——所有者+部分仓库名称是最理想的;仅所有者名称也可以。

  1. 2. 利用上下文选择最佳匹配。 查看周围文本、推文内容、提及的项目名称、描述关键词和星标数。如果某个结果明显突出:
- 仓库名称以可见部分开头(例如op... → openchamber匹配) - 描述与用户所说的内容一致(例如UI真好 → 选择专注于UI的那个) - 它的星标数明显高于其他结果

如果你有把握,直接进行并告知用户你的推理:

github.com/openchamber/op... → 推断为 openchamber/openchamber ⭐1.5k(OpenCode的桌面UI,与上下文UI真好匹配)

  1. 3. 仅在真正不确定时询问用户——当多个结果都合理且上下文无法区分它们时:

发现截断的URL github.com/foo/bar... — 您指的是哪个仓库?
1. foo/barista ⭐420 — 咖啡店POS系统
2. foo/baroque ⭐38 — 巴洛克音乐生成器
输入数字(或输入0跳过):

在没有把握的推断或用户明确确认的情况下,切勿Fork截断的URL。

步骤2:通过GitHub API进行Fork

对于每个唯一的{owner}/{repo}对,调用Fork端点:

bash
curl -s -L -X POST \
-H Authorization: Bearer $GITHUB_TOKEN \
-H Accept: application/vnd.github+json \
-H X-GitHub-Api-Version: 2022-11-28 \
https://api.github.com/repos/{owner}/{repo}/forks

-L标志是必需的——GitHub的API会返回一个必须跟随的307重定向。

  • - 如果未设置GITHUB_TOKEN,告知用户设置它并停止:
bash export GITHUBTOKEN=ghp... # 经典PAT(推荐) # 要跨会话持久化,请添加到~/.zshrc或~/.bash_profile
  • - Fork请求在GitHub端是异步的——202响应表示已接受,而非已完成。
  • 如果仓库已被Fork,GitHub会返回现有的Fork(而非错误)——这没问题。
  • 处理HTTP错误:
- 401:令牌错误或已过期 - 403:令牌缺少Fork权限。对于经典PAT,需要repo或public_repo范围。对于细粒度PAT,需要Administration: Read and write权限(不仅仅是contents)。 - 404:仓库未找到或为私有(令牌无访问权限)

步骤3:Star原始仓库

成功Fork后,Star原始仓库:

bash
curl -s -L -X PUT \
-H Authorization: Bearer $GITHUB_TOKEN \
-H Accept: application/vnd.github+json \
-H X-GitHub-Api-Version: 2022-11-28 \
https://api.github.com/user/starred/{owner}/{repo}

204响应表示成功。Star失败是非致命的——如果Star失败,在报告中注明,但不要将整个操作视为失败。

步骤4:报告结果

在所有Fork尝试完成后,显示清晰的摘要:

发现X个仓库:
✓ owner/repo — 已Fork → https://github.com/YOUR_USERNAME/repo ⭐ 已Star
✓ owner/repo — 已Fork → https://github.com/YOUR_USERNAME/repo (Star失败:<原因>)
✗ owner/repo — 失败:<原因>

如果令牌的认证用户名不明显,从Fork响应中提取(full_name字段给出your-username/repo-name)。

边界情况

  • - 未找到URL:清晰告知用户——输入中未找到GitHub仓库URL。
  • 私有仓库:如果令牌没有访问权限,Fork将失败并返回404;报告错误。
  • 重复URL:在Fork前去重——每个唯一仓库只Fork一次。
  • 非仓库URL:忽略不是owner/repo格式的github.com/路径(例如github.com/features、github.com/login)。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 github-forker-1776076451 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 github-forker-1776076451 技能

通过命令行安装

skillhub install github-forker-1776076451

下载

⬇ 下载 github-forker v0.1.1(免费)

文件大小: 4.31 KB | 发布时间: 2026-4-15 12:54

v0.1.1 最新 2026-4-15 12:54
- Added a README.md file with detailed usage and instructions.
- No changes to code or main logic; documentation only.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部