Skip to content

AI-Scarlett/github-publisher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Publisher

🚀 一键发布代码到 GitHub 的工具

功能

  • ✅ 创建公开/私有仓库
  • ✅ 推送本地代码
  • ✅ 设置 Topics 标签
  • ✅ 更新仓库信息
  • ✅ 安全 Token 管理

快速开始

安装依赖

pip install requests

使用方法

方式 1: 命令行

# 创建新仓库
python scripts/github_publisher.py \
  --token "ghp_xxx" \
  --repo "my-project" \
  --desc "项目描述" \
  --topics ai llm tool

# 推送代码
cd /path/to/project
python ../github-publisher/scripts/github_publisher.py \
  --token "ghp_xxx" \
  --push

方式 2: Python 代码

from github_publisher import GitHubPublisher

# 初始化
gh = GitHubPublisher(token="ghp_xxx")

# 创建仓库
repo = gh.create_repo(
    name="my-project",
    description="项目描述",
    private=False,
    topics=["ai", "python"]
)
print(f"仓库地址:{repo['html_url']}")

# 推送代码
gh.push_to_github("/path/to/project", "my-project")

环境变量

推荐将 Token 存储在环境变量中:

export GITHUB_TOKEN="ghp_xxx"

然后可以省略 --token 参数。

API 参考

GitHubPublisher 类

__init__(token: str = None)

初始化发布器

  • token: GitHub Personal Access Token

create_repo(name, description="", private=False, homepage="", topics=None)

创建仓库

  • name: 仓库名称
  • description: 描述
  • private: 是否私有
  • homepage: 主页 URL
  • topics: Topics 列表

push_to_github(local_path, repo_name, branch="main")

推送代码

  • local_path: 本地路径
  • repo_name: 仓库名
  • branch: 分支名

add_topics(repo_name, topics)

添加 Topics

update_repo(repo_name, **kwargs)

更新仓库信息

delete_repo(repo_name)

删除仓库

list_repos(sort="updated", per_page=30)

列出仓库

安全提示

⚠️ 重要:

  1. 不要将 Token 提交到 Git
  2. 使用 .gitignore 忽略敏感文件
  3. 定期轮换 Token
  4. 使用最小权限的 Token

示例

完整发布流程

from github_publisher import GitHubPublisher

# 1. 初始化
gh = GitHubPublisher(token="ghp_xxx")

# 2. 创建仓库
repo = gh.create_repo(
    name="model-router",
    description="🤖 智能模型路由调度器",
    private=False,
    topics=["ai", "llm", "model-router", "openclaw"]
)
print(f"✅ 仓库创建成功:{repo['html_url']}")

# 3. 推送代码
gh.push_to_github(
    local_path="/path/to/model-router",
    repo_name="model-router"
)
print("✅ 代码推送成功")

许可证

MIT License

作者

丝佳丽 Scarlett - AI Love World 项目

About

🚀 GitHub 仓库发布工具 - 一键创建仓库、推送代码、管理 Topics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages