Files
article-writer/README.md

95 lines
2.7 KiB
Markdown
Raw Permalink 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.
# Article Writer - 文章编写系统
基于 Flask + LLM 的智能文章编写系统,支持主题管理、素材收集、分类标签和大模型生成文章。
## 功能
- 主题管理:创建、编辑、删除文章主题
- 分类系统:多级分类,每个主题可归属多个分类
- 标签系统:灵活标签,每个主题支持多个标签,支持增删改
- 素材收集支持文本素材和图片素材含Ctrl+V粘贴截图
- Prompt编辑每个主题可自定义生成提示词支持历史记录
- 大模型生成:调用 LLM 根据素材自动生成文章
- 文章管理:查看、编辑、删除、复制、下载生成的文章
## 技术栈
- 后端Python 3 + Flask + SQLite
- 前端HTML/CSS/JSBootstrap 5 暗色主题)
- LLM兼容 OpenAI API 格式的大模型接口
## 快速开始
```bash
# 安装依赖
pip install flask requests
# 配置环境变量
export LLM_URL="https://your-llm-api/v1/chat/completions"
export LLM_API_KEY="***"
export LLM_MODEL="qwen3.6-plus"
# 启动服务
python app.py
```
访问 http://localhost:19200
## 配置
通过环境变量或页面配置 LLM 接口:
| 环境变量 | 说明 | 默认值 |
|---------|------|--------|
| LLM_URL | 大模型 API 地址 | - |
| 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 # 主题详情页(素材 + 文章生成 + 分类标签编辑)
├── static/
│ └── 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` - 创建标签
- `PUT /api/tags/<id>` - 更新标签
- `DELETE /api/tags/<id>` - 删除标签
### 主题
- `POST /api/topics` - 创建主题(支持 category_ids, tag_ids, new_tags
- `PUT /api/topics/<id>` - 更新主题(支持更新分类和标签关联)
## License
MIT