feat: v2.3.0 - 新闻获取准确性优化

核心改进:
1. 新增专用新闻关键词字段(sites.news_keywords)
2. 严格匹配搜索策略(双引号包裹关键词)
3. 前台手动刷新新闻功能

数据库变更:
- Sites表添加news_keywords字段(VARCHAR(200))
- 提供迁移脚本migrate_news_keywords.py

代码变更:
- models.py: Site模型添加news_keywords字段
- app.py: 后台表单配置、API路由、search_site_news调用优化
- utils/news_searcher.py: 支持news_keywords参数优先匹配
- templates/detail_new.html: 添加刷新按钮和JavaScript

新增功能:
- 后台可为每个网站设置专属新闻关键词
- 详情页"获取最新资讯"按钮(前台可用,无需登录)
- 新API端点:POST /api/refresh-site-news/<site_code>

文档:
- DEPLOY_v2.3.0.md: 完整部署指南
- DEPLOY_v2.3_QUICK.md: 快速部署指南

向后兼容:
- 现有网站自动使用网站名称作为默认关键词
- 未设置关键词时降级使用网站名称搜索

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Jowe
2025-12-31 11:01:51 +08:00
parent bdf31090ed
commit fdde6990fb
7 changed files with 1009 additions and 8 deletions

175
DEPLOY_v2.3_QUICK.md Normal file
View File

@@ -0,0 +1,175 @@
# ZJPB v2.3.0 快速部署指南
> 3步完成部署5分钟上线
---
## 📦 版本信息
- **版本**: v2.3.0
- **日期**: 2025-12-31
- **核心**: 新闻准确性优化
---
## ⚡ 快速部署3步
### 第1步拉取代码
```bash
cd /opt/1panel/apps/zjpb
./manage.sh stop
git pull origin master
```
### 第2步数据库迁移
```bash
source venv/bin/activate
python migrate_news_keywords.py
```
### 第3步重启应用
```bash
./manage.sh restart
./manage.sh status
```
**部署完成!**
---
## ✅ 快速验证
### 1. 后台验证1分钟
```
1. 访问http://your-domain.com/admin/login
2. 进入:网站管理 → 编辑任意网站
3. 检查:是否有"新闻关键词"字段
```
### 2. 前台验证1分钟
```
1. 访问http://your-domain.com/site/xxxxxxxx
2. 滚动:到"相关新闻"模块
3. 检查:是否有"获取最新资讯"按钮
```
---
## 🎯 核心功能
### 1. 新闻关键词设置
**后台操作**
```
网站管理 → 编辑 → 新闻关键词 → 输入"ChatGPT" → 保存
```
**效果**
- 搜索更精准
- 避免名称混淆
- 提高相关性
### 2. 前台手动刷新
**用户操作**
```
详情页 → 相关新闻 → 点击"获取最新资讯" → 等待刷新
```
**效果**
- 获取最新5条新闻
- 自动去重
- 1-2秒完成
---
## 🔧 关键词设置技巧
### 推荐设置
| 网站名称 | 推荐关键词 | 说明 |
|---------|-----------|------|
| ChatGPT | `ChatGPT` | 官方品牌名 |
| GitHub Copilot | `GitHub Copilot` | 完整产品名 |
| Claude | `Claude AI` | 添加AI避免混淆 |
| 文心一言 | `文心一言` | 中文全称 |
### 避免设置
`AI``工具``助手` - 过于宽泛
`聊天机器人` - 不够精准
`GPT` - 会匹配所有GPT相关
---
## 🐛 问题速查
### 问题1后台没有新字段
```bash
# 检查代码
grep "news_keywords" app.py
# 清缓存重启
./manage.sh restart
```
### 问题2刷新按钮不显示
```bash
# 检查模板
grep "refresh-news-btn" templates/detail_new.html
# 强制刷新浏览器Ctrl + F5
```
### 问题3刷新失败
```bash
# 检查API配置
grep "BOCHA_API_KEY" .env
# 如未配置,添加:
echo "BOCHA_API_KEY=sk-your-key" >> .env
./manage.sh restart
```
---
## 📊 变更文件
| 文件 | 说明 |
|------|------|
| `models.py` | 添加字段 |
| `migrate_news_keywords.py` | 迁移脚本 |
| `app.py` | 后台+API |
| `utils/news_searcher.py` | 搜索逻辑 |
| `templates/detail_new.html` | 刷新按钮 |
---
## 🔄 回滚(如需要)
```bash
cd /opt/1panel/apps/zjpb
./manage.sh stop
git reset --hard HEAD~1 # 回到上一版本
./manage.sh start
```
---
## 📚 完整文档
详细信息请查看:`DEPLOY_v2.3.0.md`
---
**快速指南版本**: v1.0
**部署时间**: 约5分钟
**难度**: ⭐ 简单