# 仓鼠
**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 平台仓库克隆地址的图形化工具
[](https://gitee.com/yourname/repohamster/releases)
[](LICENSE)
[](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]
---
**🐹 仓鼠虽小,能搬万物!**