使用 Go + React 重写的 GitHub 仓库监测器。
- 后端: Go 1.21+ / Gin / GORM / go-git
- 前端: React 18 / TypeScript / Vite
cd backend
go mod tidy
go run main.go后端服务启动在 http://localhost:8898
cd frontend
npm install
npm run dev前端开发服务器启动在 http://localhost:3000
打开浏览器访问 http://localhost:3000
export GITHUB_TOKEN="your_github_token" # 可选,提高 API 限制
export PORT="8898" # 后端端口,默认 8898github-watcher-go/
├── backend/ # Go 后端
│ ├── main.go # 入口
│ ├── config/ # 配置
│ ├── models/ # 数据模型
│ ├── database/ # 数据库
│ ├── handlers/ # HTTP 处理器
│ ├── services/ # 业务逻辑
│ └── data/ # 数据目录
│ ├── repos/ # 克隆的仓库
│ └── db.sqlite # SQLite 数据库
└── frontend/ # React 前端
├── src/
│ ├── App.tsx # 主组件
│ ├── main.tsx # 入口
│ └── types/ # TypeScript 类型
└── package.json
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/repos |
仓库列表 |
| POST | /api/repos |
添加仓库 |
| GET | /api/repos/:id |
仓库详情 |
| DELETE | /api/repos/:id |
删除仓库 |
| POST | /api/repos/:id/sync |
手动同步 |
| POST | /api/repos/:id/toggle |
启用/暂停同步 |
| GET | /api/repos/:id/tree |
文件目录树 |
| GET | /api/repos/:id/blob/*path |
文件内容 |
| GET | /api/repos/:id/issues |
Issues 列表 |
| GET | /api/repos/:id/releases |
Releases 列表 |