返回 2025-12-01

wslll blog:基于Python的自托管博客应用

wslll
| Code

AI 摘要

Wslll Blog 是一个基于 Flask 构建的功能丰富的双语(中/英)博客系统。通过 DeepSeek 集成了 AI 能力,用于内容翻译和摘要生成,同时具备照片墙功能,仅支持短信验证码登录。目前前端仍在进行微调,后续将发布超级详细的部署方案。项目地址访问:wslll blog Github

功能特性

  • 双语支持:无缝切换中文和英文内容。
  • AI 集成:使用 DeepSeek API 自动翻译文章并生成摘要。同时,内置集成全局 AI 助手,支持对话交互。
  • 内容管理:支持 Markdown 的博客文章创建、编辑和删除。
  • 照片墙:上传和管理带有描述的照片。
  • 身份验证
    • 通过 Spug Push 的短信验证码登录。
  • 全局通知:可通过设置配置的全站通知。
  • 响应式设计:简洁现代的界面。

技术栈

  • 后端:Python, Flask
  • 数据库:SQLite (通过 SQLAlchemy)
  • 前端:HTML, CSS, Bootstrap
  • AI:DeepSeek API
  • 其他:Flask-Login, Flask-WTF, Markdown

安装指南

  1. 克隆仓库 bash git clone <repository_url> cd wslll_blog

  2. 安装依赖 建议使用虚拟环境。 bash python3 -m venv venv source venv/bin/activate # Windows 系统使用: venv\Scripts\activate pip install -r requirements.txt # 确保安装了额外的依赖 pip install requests openai

配置说明

  1. 数据库:应用使用 SQLite。如果 blog.db 不存在,首次运行时会自动创建。

  2. DeepSeek API: 要启用 AI 功能,您需要配置 DeepSeek API 密钥。登录后,您可以在管理员设置面板中进行配置。

  3. 密钥配置 (Secret Key): 在生产环境中,请务必更新 app.py 中的 SECRET_KEY

使用说明

  1. 运行应用 bash python app.py 服务器将在 http://0.0.0.0:15013 启动。

    实际生产环境或正式部署,建议使用gevent 异步模式来提高并发性能。 bash gunicorn -k gevent -w 4 -b 0.0.0.0:15013 app:app

  2. 访问博客 打开浏览器并访问 http://localhost:15013

  3. 管理员登录

    • 访问登录页面。
    • 输入授权的手机号码以接收短信验证码。
    • 注意:请确保在 app.py 中配置了 ALLOWED_PHONE 和短信相关设置。

项目结构

wslll_blog/ ├── app.py # 主应用程序入口和逻辑 ├── models.py # 数据库模型 ├── requirements.txt # Python 依赖项 ├── static/ # 静态文件 (CSS, JS, Uploads)