rc-plugin/.github/GITHUB-BOT-SETUP.md

160 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GitHub Bot 自动回复设置指南
本项目已集成GitHub Actions驱动的自动回复机器人可以自动处理Issues和Pull Requests。
## 🚀 功能特性
### ✅ 已实现功能
- **Issue自动回复**: 根据标题关键词智能回复
- **PR自动回复**: 欢迎新贡献者并提供审核清单
- **智能标签**: 根据内容自动添加相关标签
- **定期状态更新**: 每周检查并更新长期无响应的issue
- **生成周报**: 统计项目活动数据
### 🤖 自动回复类型
#### Issue回复模板
- 🐛 **Bug报告**: 引导用户提供复现步骤和环境信息
- 🚀 **功能建议**: 说明评估流程和时间安排
- 📖 **文档问题**: 承诺改进文档质量
- 👋 **通用回复**: 感谢反馈并说明处理流程
#### PR回复模板
- 🎉 **欢迎贡献者**: 感谢贡献并说明审核流程
- 📋 **审核清单**: 提醒代码规范、测试、文档等要求
- 📊 **PR统计**: 显示修改文件数和PR类型
- 🏷️ **自动标签**: 根据内容和规模自动分类
## 📋 设置步骤
### 1. 创建所需标签
在仓库的 **Issues****Labels** 页面创建以下标签:
#### 基础标签
```
bug - 🐛 - #d73a49 - Bug报告
enhancement - ✨ - #a2eeef - 功能增强
documentation - 📖 - #0075ca - 文档相关
question - ❓ - #d876e3 - 问题咨询
performance - ⚡ - #fbca04 - 性能优化
security - 🔒 - #b60205 - 安全相关
```
#### 优先级标签
```
priority/high - 🔴 - #b60205 - 高优先级
priority/medium - 🟡 - #fbca04 - 中优先级
priority/low - 🟢 - #0e8a16 - 低优先级
```
#### PR大小标签
```
size/small - S - #28a745 - 小型PR (≤3文件)
size/medium - M - #ffc107 - 中型PR (4-10文件)
size/large - L - #dc3545 - 大型PR (>10文件)
```
#### 平台标签
```
platform/windows - 🪟 - #0078d4 - Windows平台
platform/linux - 🐧 - #f89820 - Linux平台
platform/mac - 🍎 - #999999 - macOS平台
```
#### 组件标签
```
component/bilibili - 📺 - #00a1d6 - B站相关
component/tiktok - 🎵 - #ff0050 - 抖音相关
component/youtube - ▶️ - #ff0000 - YouTube相关
component/music - 🎵 - #1db954 - 音乐功能
component/summary - 📄 - #6f42c1 - 链接总结功能
```
#### 状态标签
```
stale - ⏰ - #795548 - 长期无响应
needs-response - 💬 - #8e44ad - 需要回复
refactor - ♻️ - #00d4aa - 重构相关
test - 🧪 - #17becf - 测试相关
```
### 2. 启用GitHub Actions
1. 进入仓库 **Settings****Actions****General**
2. 选择 **Allow all actions and reusable workflows**
3.**Workflow permissions** 部分选择 **Read and write permissions**
4. 勾选 **Allow GitHub Actions to create and approve pull requests**
### 3. 创建里程碑(可选)
为bug自动分配功能创建里程碑
1. 进入 **Issues****Milestones**
2. 创建如 `v1.1.0``v1.2.0` 等版本里程碑
3. bot会自动将bug分配到最近的开放里程碑
### 4. 测试设置
创建一个测试issue验证
1. 标题包含 "bug" 或 "功能" 关键词
2. 查看是否收到自动回复
3. 检查是否自动添加了相关标签
## 🔧 自定义配置
### 修改回复模板
编辑 `.github/workflows/` 目录下的workflow文件
- `auto-reply-issues.yml` - Issue回复模板
- `auto-reply-prs.yml` - PR回复模板
- `auto-label.yml` - 标签规则
- `status-update.yml` - 定期更新规则
### 调整触发条件
修改workflow文件中的 `on` 部分:
```yaml
on:
issues:
types: [opened, labeled] # 添加labeled触发
pull_request:
types: [opened, edited] # 添加edited触发
```
### 修改定时任务
`status-update.yml` 中调整cron表达式
```yaml
on:
schedule:
- cron: '0 2 * * *' # 每天凌晨2点运行
```
## 📈 监控和维护
### 查看运行日志
1. 进入 **Actions** 页面
2. 点击具体的workflow运行记录
3. 查看详细日志和错误信息
### 常见问题排查
- **权限错误**: 检查Actions权限设置
- **标签不存在**: 确保创建了所有必需的标签
- **API限制**: GitHub API有频率限制大量操作时可能触发
### 性能优化建议
- 限制单次处理的issue数量当前设置为50
- 合理设置触发条件避免重复运行
- 定期清理过时的workflow运行记录
## 🎯 最佳实践
1. **渐进式部署**: 先在测试仓库验证功能
2. **定期审查**: 每月检查自动回复效果和用户反馈
3. **模板优化**: 根据项目特点调整回复内容
4. **标签管理**: 保持标签体系简洁清晰
5. **用户反馈**: 收集用户对自动回复的意见
---
📝 **注意**: 此bot完全基于GitHub Actions无需外部服务器维护成本极低。所有配置都通过workflow文件管理便于版本控制和团队协作。