wslll blog:基于Python的自托管博客应用
AI 摘要
Wslll Blog 是一个基于 Flask 构建的功能丰富的双语(中/英)博客系统。通过 DeepSeek 集成了 AI 能力,用于内容翻译和摘要生成,同时具备照片墙功能,仅支持短信验证码登录。
wslll blog 并不是一个自定义化很高很成熟的博客程序,只是因为站主自己很喜欢简约简单的博客风格以及专注于内容本身的建站形式。如果你有类似的看法,不妨试一下使用 docker 搭建 wslll-blog。
Wslll Blog 的开发内容的不低于70%使用 Trae AI 的 Solo 模式。
截止 2025 年 12月 1 日,前后端仍在进行微调,后续将发布详细的部署方案。项目地址访问: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)