# 仓鼠 **Repository Path**: deepin20/repohamster ## Basic Information - **Project Name**: 仓鼠 - **Description**: Gitee 仓库批量获取器 — 一键批量获取 Gitee 平台仓库克隆地址的图形化工具。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-06 - **Last Updated**: 2026-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🐹 仓鼠 · RepoHamster > Gitee 仓库批量获取器 — 一键批量获取 Gitee 平台仓库克隆地址的图形化工具 [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](https://gitee.com/yourname/repohamster/releases) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.6+-brightgreen.svg)](https://www.python.org/) --- ## 📖 简介 **仓鼠 (RepoHamster)** 是一款基于 Python + Tkinter 的桌面图形化工具,帮助开发者**快速批量获取 Gitee 平台**上的仓库克隆地址。 **只需一个工具,轻松收集数百个仓库地址,省去手动翻页的麻烦。** --- ## ✨ 核心特性 | 特性 | 说明 | |:---|:---| | 🚀 **三种获取模式** | ① 获取自己的全部仓库(含协作)
② 获取指定用户/组织的公开仓库(自动识别类型)
③ 搜索关键词,递归获取所有相关所有者的仓库 | | 🔐 **令牌记忆** | 私人令牌本地安全存储(Base64 编码),下次启动自动填充 | | 🌐 **双协议输出** | 支持 HTTPS 和 SSH 克隆地址,满足不同使用习惯 | | 📦 **Release 检测** | 可选检测每个仓库是否发布 Release 及包含 .deb 附件,生成 JSON 报告 | | 📝 **调试信息** | 实时输出请求详情(URL、状态码、返回数据),便于排查网络/权限问题 | | 🐍 **跨平台** | Python 3.6+ / Tkinter,支持 Windows、Linux、macOS | --- ## 🚀 快速开始 ### 1. 获取项目 ```bash git clone https://gitee.com/yourname/repohamster.git cd repohamster ``` ### 2. 运行启动脚本 - **Linux / macOS**:`./run.sh`(首次运行会自动创建虚拟环境并安装依赖) - **Windows**:双击 `run.bat` ### 3. 获取 Gitee 私人令牌 登录 [Gitee](https://gitee.com) → 右上角头像 → **设置** → **私人令牌** → **生成新令牌**,**务必勾选 `projects` 权限**(至少只读),复制令牌备用。 ### 4. 启动程序 - 输入私人令牌 - 选择模式,点击“开始获取”即可 --- ## 📌 使用说明 ### 三种获取模式 | 模式 | 操作 | 适用场景 | |:---|:---|:---| | **获取自己的仓库** | 输入令牌(必须),其他留空 | 备份自己名下的所有仓库地址 | | **获取指定用户/组织** | 输入目标名称(如 `oschina`),程序自动识别类型 | 快速获取某个开发者或组织公开仓库 | | **搜索并递归获取** | 输入关键词(如 `python`)和搜索页数 | 批量收集某领域所有相关仓库 | ### 其他选项 - **输出文件**:默认为 `repos.txt`,每行一个克隆地址,可自定义路径。 - **协议切换**:HTTPS / SSH 二选一。 - **Release 检测**:勾选后,获取仓库地址完成后会额外检测每个仓库是否有 Release 和 .deb 附件,并生成 `*_release_report.json` 报告。 ### 状态反馈 - **状态栏**:显示当前进度(如“已获取第 3 页,累计 150 个仓库”) - **调试信息**:发生错误时,结果文本框会显示详细的调试信息,便于排查。 --- ## 📁 项目结构 ``` repohamster/ ├── main.py # 程序入口 ├── run.sh / run.bat # 启动脚本(自动创建虚拟环境) ├── requirements.txt # 依赖清单(requests>=2.25.0) ├── README.md # 项目说明 ├── build-deb.sh # 一键打包 DEB 脚本(Deepin 适配) ├── icons/ # 多尺寸图标(用于 DEB 包) └── src/ # 核心源代码 ├── __init__.py ├── constants.py # 常量定义(版本号、API 地址等) ├── config_manager.py # 令牌保存/加载(Base64 编码) ├── utils.py # 工具函数(重试请求、克隆地址提取) ├── api.py # Gitee API 调用(分页、搜索、Release 检测) └── gui.py # 图形界面主类 ``` --- ## 📦 依赖 - Python 3.6+ - `requests`(>=2.25.0) 所有依赖会在首次运行 `./run.sh` 时自动安装(通过 pip 从清华镜像下载)。 --- ## 🔮 未来计划 - [ ] 支持 GitHub 平台 - [ ] 支持 AtomGit 平台 - [ ] 支持更多代码托管平台 - [ ] 增强并发性能 --- ## 🤝 贡献与反馈 欢迎提交 Issue 和 Pull Request。如有使用问题,请附上调试信息以便快速定位。 - **Gitee**:[https://gitee.com/yourname/repohamster](https://gitee.com/yourname/repohamster) --- ## 📄 许可证 MIT License © 2025 [仓鼠 · RepoHamster Contributors] --- **🐹 仓鼠虽小,能搬万物!**