feat: 添加网络搜索功能(Tavily Search)
- 后端:新增 search_config 表存储搜索接口配置 - 后端:实现 /api/search 和 /api/search/detail API - 前端:首页添加搜索配置入口(模态框) - 前端:主题详情页添加搜索面板(搜索框+结果列表+详情查看) - 搜索结果可一键添加为素材 - 支持搜索深度和时间范围筛选 - 更新 README 文档
This commit is contained in:
37
README.md
37
README.md
@@ -1,6 +1,6 @@
|
||||
# Article Writer - 文章编写系统
|
||||
|
||||
基于 Flask + LLM 的智能文章编写系统,支持主题管理、素材收集、分类标签和大模型生成文章。
|
||||
基于 Flask + LLM 的智能文章编写系统,支持主题管理、素材收集、网络搜索、分类标签和大模型生成文章。
|
||||
|
||||
## 功能
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
- 分类系统:多级分类,每个主题可归属多个分类
|
||||
- 标签系统:灵活标签,每个主题支持多个标签,支持增删改
|
||||
- 素材收集:支持文本素材和图片素材(含Ctrl+V粘贴截图)
|
||||
- **网络搜索:集成 Tavily Search,在主题页面直接搜索网络资料,一键添加为素材**
|
||||
- Prompt编辑:每个主题可自定义生成提示词,支持历史记录
|
||||
- 大模型生成:调用 LLM 根据素材自动生成文章
|
||||
- 文章管理:查看、编辑、删除、复制、下载生成的文章
|
||||
@@ -17,6 +18,7 @@
|
||||
- 后端:Python 3 + Flask + SQLite
|
||||
- 前端:HTML/CSS/JS(Bootstrap 5 暗色主题)
|
||||
- LLM:兼容 OpenAI API 格式的大模型接口
|
||||
- 搜索:Tavily Search API
|
||||
|
||||
## 快速开始
|
||||
|
||||
@@ -37,6 +39,8 @@ python app.py
|
||||
|
||||
## 配置
|
||||
|
||||
### LLM 配置
|
||||
|
||||
通过环境变量或页面配置 LLM 接口:
|
||||
|
||||
| 环境变量 | 说明 | 默认值 |
|
||||
@@ -45,6 +49,25 @@ python app.py
|
||||
| LLM_API_KEY | API 密钥 | - |
|
||||
| LLM_MODEL | 模型名称 | qwen3.6-plus |
|
||||
|
||||
### 搜索配置
|
||||
|
||||
在首页右上角点击「搜索配置」按钮,配置 Tavily Search API Key。
|
||||
|
||||
获取 API Key: [tavily.com](https://tavily.com)
|
||||
|
||||
支持的搜索参数:
|
||||
- **搜索深度**:基础(basic) / 深度(advanced)
|
||||
- **时间范围**:不限 / 最近一天 / 一周 / 一月 / 一年
|
||||
|
||||
## 网络搜索功能
|
||||
|
||||
在每个主题的详情页中,提供「网络搜索」面板:
|
||||
|
||||
1. 输入关键词,选择搜索深度和时间范围
|
||||
2. 点击搜索,结果以列表形式展示(标题、URL、摘要、相关度)
|
||||
3. 点击「查看详情」可获取网页完整内容
|
||||
4. 点击「添加为素材」可将搜索结果(含详细内容)一键添加为文本素材
|
||||
|
||||
## 数据结构
|
||||
|
||||
- **topics** - 文章主题
|
||||
@@ -55,7 +78,9 @@ python app.py
|
||||
- **materials** - 素材(文本/图片)
|
||||
- **articles** - 生成的文章
|
||||
- **llm_config** - LLM接口配置
|
||||
- **search_config** - 搜索接口配置
|
||||
- **prompt_history** - Prompt历史记录
|
||||
- **prompt_templates** - Prompt模板
|
||||
|
||||
## 项目结构
|
||||
|
||||
@@ -63,8 +88,8 @@ python app.py
|
||||
article-writer/
|
||||
├── app.py # 主应用(Flask后端)
|
||||
├── templates/
|
||||
│ ├── index.html # 首页(主题列表 + 分类/标签筛选)
|
||||
│ └── topic.html # 主题详情页(素材 + 文章生成 + 分类标签编辑)
|
||||
│ ├── index.html # 首页(主题列表 + 分类/标签筛选 + 搜索配置)
|
||||
│ └── topic.html # 主题详情页(素材 + 网络搜索 + 文章生成 + 分类标签编辑)
|
||||
├── static/
|
||||
│ └── uploads/ # 图片上传目录
|
||||
├── .env.example # 环境变量示例
|
||||
@@ -73,6 +98,12 @@ article-writer/
|
||||
|
||||
## API
|
||||
|
||||
### 搜索
|
||||
- `GET /api/search-config` - 获取搜索配置(API Key 脱敏)
|
||||
- `PUT /api/search-config` - 更新搜索配置
|
||||
- `POST /api/search` - 执行网络搜索
|
||||
- `POST /api/search/detail` - 获取搜索结果详细内容
|
||||
|
||||
### 分类
|
||||
- `GET /api/categories` - 分类列表(含主题计数)
|
||||
- `POST /api/categories` - 创建分类
|
||||
|
||||
Reference in New Issue
Block a user