feat: v2.0.0 重大重构

- 配置管理重构:统一使用 config/config.yaml
- 运行模式升级:支持 daily/current/incremental 三种模式
- Docker 支持:完整容器化部署方案
- 新增配置文件:config/config.yaml 和 config/frequency_words.txt
This commit is contained in:
sansan
2025-07-20 07:38:16 +08:00
parent cbedc4a188
commit e5e16b5a0b
17 changed files with 2178 additions and 641 deletions
+123
View File
@@ -0,0 +1,123 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-issue-forms.json
name: 🐛 Bug 报告
description: 报告程序错误或异常行为
title: "[Bug] "
labels: ["bug"]
assignees:
- sansan0
body:
- type: markdown
attributes:
value: |
感谢你的反馈!详细的 Bug 报告有助于快速定位和修复问题。
- type: dropdown
id: bug-category
attributes:
label: 🏷️ 问题类型
options:
- 数据抓取失败
- 频率词匹配异常
- 通知发送失败
- 配置解析错误
- Docker 部署问题
- 报告生成错误
- 性能问题
- 其他
validations:
required: true
- type: textarea
id: bug-description
attributes:
label: 📝 问题描述
description: 详细描述遇到的问题
placeholder: |
请清楚地描述:
- 发生了什么问题
- 问题的具体表现
- 影响范围
validations:
required: true
- type: textarea
id: reproduction-steps
attributes:
label: 🔄 复现步骤
description: 如何重现这个问题?
placeholder: |
1. 运行命令:python main.py
2. 配置设置:...
3. 观察到的现象:...
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: ✅ 期望行为
description: 正常情况下应该发生什么?
placeholder: 描述期望的正常行为...
validations:
required: true
- type: dropdown
id: environment
attributes:
label: 🖥️ 运行环境
options:
- 本地 Python 环境
- Docker 容器
- GitHub Actions
- 其他
validations:
required: true
- type: input
id: python-version
attributes:
label: 🐍 Python 版本
description: 使用的 Python 版本
placeholder: 如:3.10.0
validations:
required: true
- type: textarea
id: error-logs
attributes:
label: 📋 错误日志
description: 相关的错误信息或日志
placeholder: |
请粘贴完整的错误堆栈信息或相关日志:
```
错误信息...
```
validations:
required: true
- type: textarea
id: config-info
attributes:
label: ⚙️ 配置信息
description: 相关的配置设置(请隐藏敏感信息)
placeholder: |
相关的配置片段(请移除敏感信息如 webhook URL):
```yaml
crawler:
request_interval: 1000
enable_crawler: true
```
- type: textarea
id: additional-context
attributes:
label: 📎 其他信息
description: 其他可能有用的信息
placeholder: |
- 网络环境
- 使用的平台配置
- 频率词配置
- 其他相关信息
@@ -0,0 +1,98 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-issue-forms.json
name: 💡 功能建议
description: 提出新功能想法或改进建议
title: "[功能] "
labels: ["enhancement"]
assignees:
- sansan0
body:
- type: markdown
attributes:
value: |
感谢你的创意!好的想法让这个项目变得更加实用。
- type: dropdown
id: feature-category
attributes:
label: 🏷️ 功能类别
options:
- 数据抓取增强
- 分析算法改进
- 通知方式扩展
- 配置管理优化
- 部署便利性
- 数据可视化
- 监控与告警
- 其他
validations:
required: true
- type: textarea
id: feature-description
attributes:
label: 💭 功能描述
description: 详细描述你希望添加的功能
placeholder: |
请详细描述:
- 功能的具体内容
- 如何使用这个功能
- 期望的效果
validations:
required: true
- type: textarea
id: use-case
attributes:
label: 🎯 使用场景
description: 这个功能会在什么情况下使用?
placeholder: |
例如:
- 当用户需要...的时候
- 在...场景下会很有帮助
- 可以解决...问题
validations:
required: true
- type: textarea
id: current-workaround
attributes:
label: 🔄 现有解决方案
description: 目前是如何处理这个需求的?
placeholder: |
- 目前的替代方案
- 现有方案的不足
- 为什么需要新功能
- type: dropdown
id: feature-priority
attributes:
label: ⭐ 优先级
description: 你认为这个功能的重要程度
options:
- 高 - 非常重要,强烈建议
- 中 - 会很有用,建议考虑
- 低 - 锦上添花,有时间可做
validations:
required: true
- type: textarea
id: implementation-ideas
attributes:
label: 🛠️ 实现想法(可选)
description: 如果你有实现思路,欢迎分享
placeholder: |
- 技术实现方案
- 配置设计建议
- 用户界面设计
- 参考项目或工具
- type: textarea
id: additional-context
attributes:
label: 📎 其他信息
description: 其他想要补充的内容
placeholder: |
- 相关截图或示例
- 类似功能的参考
- 其他相关想法
+108
View File
@@ -0,0 +1,108 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-issue-forms.json
name: ⚙️ 配置帮助
description: 配置相关的问题或优化建议
title: "[配置] "
labels: ["配置", "帮助"]
assignees:
- sansan0
body:
- type: markdown
attributes:
value: |
遇到配置问题?我们来帮你解决!
📖 **建议先查看 README 文档和配置文件注释**
- type: dropdown
id: config-type
attributes:
label: 🏷️ 配置类型
options:
- 基础配置问题
- Webhook 配置
- Docker 部署配置
- 频率词配置
- 平台配置
- 定时任务配置
- 其他
validations:
required: true
- type: dropdown
id: problem-type
attributes:
label: 🔍 问题类型
options:
- 配置不生效
- 不知道如何配置
- 配置优化建议
- 配置文档改进
- 配置验证问题
validations:
required: true
- type: textarea
id: config-content
attributes:
label: 📄 相关配置
description: 请提供相关的配置内容(请隐藏敏感信息)
placeholder: |
请贴出相关的配置片段(记得隐藏敏感信息):
```yaml
notification:
enable_notification: true
webhooks:
feishu_url: "***"
```
validations:
required: true
- type: textarea
id: problem-description
attributes:
label: 📝 问题描述
description: 详细描述遇到的配置问题
placeholder: |
请详细描述:
- 遇到的具体问题
- 期望的效果
- 已经尝试的方法
validations:
required: true
- type: textarea
id: error-messages
attributes:
label: ❌ 错误信息(如果有)
description: 相关的错误信息或日志
placeholder: |
如果有错误信息,请贴出来:
```
错误信息...
```
- type: dropdown
id: environment
attributes:
label: 🖥️ 运行环境
options:
- 本地 Python 环境
- Docker 容器
- GitHub Actions
- 其他
validations:
required: true
- type: textarea
id: additional-info
attributes:
label: 📎 其他信息
description: 其他可能有用的信息
placeholder: |
- 操作系统版本
- 网络环境
- 使用场景
- 其他相关信息
+3
View File
@@ -0,0 +1,3 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-issue-config.json
blank_issues_enabled: false
+49 -38
View File
@@ -2,7 +2,7 @@ name: Hot News Crawler
on:
schedule:
- cron: '*/50 * * * *' # 每50分钟运行一次
- cron: "*/30 * * * *" # 每 30 分钟运行一次
workflow_dispatch:
# 添加权限设置
@@ -12,41 +12,52 @@ permissions:
jobs:
crawl:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests pytz
- name: Create frequency_words.txt if not exists
run: |
if [ ! -f frequency_words.txt ]; then
echo "Creating empty frequency_words.txt file"
touch frequency_words.txt
fi
- name: Run crawler
env:
FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_WEBHOOK_URL }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
DINGTALK_WEBHOOK_URL: ${{ secrets.DINGTALK_WEBHOOK_URL }}
WEWORK_WEBHOOK_URL: ${{ secrets.WEWORK_WEBHOOK_URL }}
GITHUB_ACTIONS: true
run: python main.py
- name: Commit and push if changes
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'actions@github.com'
git add -A
git diff --quiet && git diff --staged --quiet || (git commit -m "Auto update by GitHub Actions at $(TZ=Asia/Shanghai date)" && git push)
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Verify required files
run: |
echo "🔍 检查必需的配置文件..."
if [ ! -f config/config.yaml ]; then
echo "❌ 错误: config/config.yaml 文件不存在"
echo "请参考项目文档创建配置文件"
exit 1
fi
if [ ! -f config/frequency_words.txt ]; then
echo "❌ 错误: config/frequency_words.txt 文件不存在"
echo "请参考项目文档创建频率词配置文件"
exit 1
fi
echo "✅ 配置文件检查通过"
- name: Run crawler
env:
FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_WEBHOOK_URL }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
DINGTALK_WEBHOOK_URL: ${{ secrets.DINGTALK_WEBHOOK_URL }}
WEWORK_WEBHOOK_URL: ${{ secrets.WEWORK_WEBHOOK_URL }}
GITHUB_ACTIONS: true
run: python main.py
- name: Commit and push if changes
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'actions@github.com'
git add -A
git diff --quiet && git diff --staged --quiet || (git commit -m "Auto update by GitHub Actions at $(TZ=Asia/Shanghai date)" && git push)