Article Writer - 文章编写系统

基于 Flask + LLM 的智能文章编写系统,支持主题管理、素材收集、分类标签和大模型生成文章。

功能

  • 主题管理:创建、编辑、删除文章主题
  • 分类系统:多级分类,每个主题可归属多个分类
  • 标签系统:灵活标签,每个主题支持多个标签,支持增删改
  • 素材收集支持文本素材和图片素材含Ctrl+V粘贴截图
  • Prompt编辑每个主题可自定义生成提示词支持历史记录
  • 大模型生成:调用 LLM 根据素材自动生成文章
  • 文章管理:查看、编辑、删除、复制、下载生成的文章

技术栈

  • 后端Python 3 + Flask + SQLite
  • 前端HTML/CSS/JSBootstrap 5 暗色主题)
  • LLM兼容 OpenAI API 格式的大模型接口

快速开始

# 安装依赖
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

Description
文章编写系统 - Flask + LLM智能文章生成
Readme 232 KiB
Languages
HTML 73.7%
Python 26.3%