v2.0: 添加分类系统和标签系统,支持多类别多标签
This commit is contained in:
52
README.md
52
README.md
@@ -1,19 +1,21 @@
|
||||
# Article Writer - 文章编写系统
|
||||
|
||||
基于 Flask + LLM 的智能文章编写系统,支持主题管理、素材收集和大模型生成文章。
|
||||
基于 Flask + LLM 的智能文章编写系统,支持主题管理、素材收集、分类标签和大模型生成文章。
|
||||
|
||||
## 功能
|
||||
|
||||
- 主题管理:创建、编辑、删除文章主题
|
||||
- 素材收集:支持文本素材和图片素材
|
||||
- Prompt编辑:每个主题可自定义生成提示词
|
||||
- 分类系统:多级分类,每个主题可归属多个分类
|
||||
- 标签系统:灵活标签,每个主题支持多个标签,支持新建标签
|
||||
- 素材收集:支持文本素材和图片素材(含Ctrl+V粘贴截图)
|
||||
- Prompt编辑:每个主题可自定义生成提示词,支持历史记录
|
||||
- 大模型生成:调用 LLM 根据素材自动生成文章
|
||||
- 文章管理:查看、编辑、删除生成的文章
|
||||
- 文章管理:查看、编辑、删除、复制、下载生成的文章
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 后端:Python 3 + Flask + SQLite
|
||||
- 前端:HTML/CSS/JS(原生)
|
||||
- 前端:HTML/CSS/JS(Bootstrap 5 暗色主题)
|
||||
- LLM:兼容 OpenAI API 格式的大模型接口
|
||||
|
||||
## 快速开始
|
||||
@@ -24,7 +26,7 @@ pip install flask requests
|
||||
|
||||
# 配置环境变量
|
||||
export LLM_URL="https://your-llm-api/v1/chat/completions"
|
||||
export LLM_API_KEY="your-api-key"
|
||||
export LLM_API_KEY="***"
|
||||
export LLM_MODEL="qwen3.6-plus"
|
||||
|
||||
# 启动服务
|
||||
@@ -35,7 +37,7 @@ python app.py
|
||||
|
||||
## 配置
|
||||
|
||||
通过环境变量配置 LLM 接口:
|
||||
通过环境变量或页面配置 LLM 接口:
|
||||
|
||||
| 环境变量 | 说明 | 默认值 |
|
||||
|---------|------|--------|
|
||||
@@ -43,21 +45,49 @@ python app.py
|
||||
| LLM_API_KEY | API 密钥 | - |
|
||||
| LLM_MODEL | 模型名称 | qwen3.6-plus |
|
||||
|
||||
## 数据结构
|
||||
|
||||
- **topics** - 文章主题
|
||||
- **categories** - 分类(支持多对多关联)
|
||||
- **tags** - 标签(支持多对多关联,自动清理孤立标签)
|
||||
- **topic_categories** - 主题-分类关联表
|
||||
- **topic_tags** - 主题-标签关联表
|
||||
- **materials** - 素材(文本/图片)
|
||||
- **articles** - 生成的文章
|
||||
- **llm_config** - LLM接口配置
|
||||
- **prompt_history** - Prompt历史记录
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
article-writer/
|
||||
├── app.py # 主应用(Flask后端)
|
||||
├── templates/
|
||||
│ ├── index.html # 首页(主题列表)
|
||||
│ └── topic.html # 主题详情页
|
||||
│ ├── index.html # 首页(主题列表 + 分类/标签筛选)
|
||||
│ └── topic.html # 主题详情页(素材 + 文章生成 + 分类标签编辑)
|
||||
├── static/
|
||||
│ ├── css/
|
||||
│ ├── js/
|
||||
│ └── uploads/ # 图片上传目录
|
||||
├── .env.example # 环境变量示例
|
||||
└── .gitignore
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### 分类
|
||||
- `GET /api/categories` - 分类列表(含主题计数)
|
||||
- `POST /api/categories` - 创建分类
|
||||
- `PUT /api/categories/<id>` - 更新分类
|
||||
- `DELETE /api/categories/<id>` - 删除分类
|
||||
|
||||
### 标签
|
||||
- `GET /api/tags` - 标签列表(含主题计数)
|
||||
- `POST /api/tags` - 创建标签
|
||||
- `DELETE /api/tags/<id>` - 删除标签
|
||||
|
||||
### 主题
|
||||
- `POST /api/topics` - 创建主题(支持 category_ids, tag_ids, new_tags)
|
||||
- `PUT /api/topics/<id>` - 更新主题(支持更新分类和标签关联)
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
Reference in New Issue
Block a user