wslll blog:基于Python的自托管博客应用
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
安装指南
-
克隆仓库
bash git clone <repository_url> cd wslll_blog -
安装依赖 建议使用虚拟环境。
bash python3 -m venv venv source venv/bin/activate # Windows 系统使用: venv\Scripts\activate pip install -r requirements.txt # 确保安装了额外的依赖 pip install requests openai
配置说明
-
数据库:应用使用 SQLite。如果
blog.db不存在,首次运行时会自动创建。 -
DeepSeek API: 要启用 AI 功能,您需要配置 DeepSeek API 密钥。登录后,您可以在管理员设置面板中进行配置。
-
密钥配置 (Secret Key): 在生产环境中,请务必更新
app.py中的SECRET_KEY。
使用说明
-
运行应用
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 -
访问博客 打开浏览器并访问
http://localhost:15013。 -
管理员登录
- 访问登录页面。
- 输入授权的手机号码以接收短信验证码。
- 注意:请确保在
app.py中配置了ALLOWED_PHONE和短信相关设置。
项目结构
wslll_blog/ ├── app.py # 主应用程序入口和逻辑 ├── models.py # 数据库模型 ├── requirements.txt # Python 依赖项 ├── static/ # 静态文件 (CSS, JS, Uploads)